您的位置:首页 > 其它

kubernetes简单集群搭建

2017-11-27 18:55 525 查看
1、基础环境配置

使用虚拟机安装操作系统:centos:CentOS-7-x86_64-Everything

重启网络:初始安装下网络默认是没有启动的,修改/etc/sysconfig/network-scripts/ifcfg-ens33,将onboot项修改为yes

sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-ens33

重启网络:service network restart

修改hostname:位置/etc/hostname,重启后生效

sudo sed -i 's/localhost.localdomain/****/g'/etc/hostname(****为你要设置的主机名)

reboot

集群情况:

kube-master1:192.168.92.162

kube -node1:192.168.92.163

kube -node2:192.168.92.164

//kube-registry:192.168.92.165

修改相应hosts文件,使用脚本setHosts.sh

#!/bin/sh

sudo echo -e "192.168.92.162  kube-master1

192.168.92.163  kube-node1

192.168.92.164  kube-node2">>/etc/hosts

 

更新yum:sudo yum -y update

2、在node节点上安装Docker、flannel

yum install -y docker flannel

//修改/etc/docker/daemon.json

//{"insecure-registries":["centos-registry:5000"] }

 

3、安装配置etcd

etcd集群的大小随意,一般最小为3个。

sudo yum -y install etcd

配置如下,每个节点类同

ETCD_NAME=etcd1

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_PEER_URLS="http://192.168.92.162:2380"

ETCD_LISTEN_CLIENT_URLS="http://192.168.92.162:2379,http://127.0.0.1:2379"

#[cluster]

ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.92.162:2380"

ETCD_INITIAL_CLUSTER="etcd1=http://192.168.92.162:2380,etcd2=http://192.168.92.163:2380,etcd3=http://192.168.92.164:2380"

ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_ADVERTISE_CLIENT_URLS="http://192.168.92.162:2379"
ps:在配置时应直接使用IP地址,经测试,使用hostname会导致启动失败,原因未知。

 

4、安装配置kubernetes

安装master节点Kubernetes:

sudo yum install -y kubernetes-master

修改apiserver:

KUBE_API_ADDRESS="--address=0.0.0.0"

KUBE_API_PORT="--port=8080"

KUBELET_PORT="--kubelet-port=10250"

KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.10.147:2379,http://192.168.10.148:2379,http://192.168.10.149:2379"

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

启动服务:

systemctlstart kube-apiserver

systemctlstart kube-controller-manager

systemctlstart kube-scheduler

systemctlenable kube-apiserver

systemctlenable kube-controller-manager

systemctlenable kube-scheduler

 

安装node节点kubernetes:

sudo yum install -y kubernetes-node

修改config:

KUBE_MASTER="--master=http://192.168.10.147:8080"

修改kubelet:

KUBELET_HOSTNAME="--hostname-override=192.168.10.148"

KUBELET_API_SERVER="--api-servers=http://192.168.10.147:8080"

 

5、配置flannel

修改/etc/sysconfig/flanneld

FLANNEL_ETCD="http://192.168.10.147:2379"

在etcd中新建键值对

etcdctlmk /coreos.com/network/config '{"Network": "10.1.0.0/16"}'

重置docker0网桥:

删除Docker启动时的默认docker0网桥

ip link del docker0

重启Docker以及flanneld,看到Docker0与flanneld网段相同则成功

 

6、docker registry安装配置

使用脚本:

#!/bin/sh

sudo docker run \

   -d \

   --name private_registry --restart=always \

   -e SETTINGS_FLAVOUR=dev \

   -e STORAGE_PATH=/registry-storage \

   -v /data/docker/private-registry/storage:/registry-storage \

   -u root \

   -p 5000:5000 \

   registry:2

 

同时为了避开授权配置,在registry所在机器和要使用此仓库的机器上的/etc/docker目录下增加daemon.json文件,文件内容为:

{"insecure-registries":["192.168.92.158:5000"] }

另外,修改/etc/sysconfig/docker文件

OPTIONS='--selinux-enabled=false--log-driver=journald --signature-verification=false
--insecure-registrycentos-registry:5000'

其中“--insecure-registry centos-registry:5000”与daemon.json二选一即可

 

此时仓库可以正常使用

本文参考:http://www.cnblogs.com/galengao/p/5780938.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: