您的位置:首页 > 运维架构 > Docker

Kubernetes Docker集群搭建过程

2017-01-18 16:09 756 查看
一、环境准备

两台设备,IP分别为95.211(作为Master)和95.217。两台设备的操作系统都是Centos7.3。

二、K8s获取

如果设备还在“墙内”的话,请不用使用通过源码编译的方式;因为肯定不会成功。可以直接下载Release版本(https://github.com/kubernetes/kubernetes/releases)。

三、安装etcd和flannel

在安装K8s之前必需要先安装etcd和flannel。

Etcd的下载地址:https://github.com/coreos/etcd/releases/

Flannel的下载地址:https://github.com/coreos/flannel/releases

下载成功后分别解压,然后将程序加入到系统路径:
cp etcd etcdctl/usr/bin/

cpflanneld mk-docker-opts.sh /usr/bin

在95.211上运行如下命令:

nohup etcd -nameinfra0 -initial-advertise-peer-urls http://172.20.95.211:2380 -listen-peer-urlshttp://172.20.95.211:2380 -listen-client-urlshttp://172.20.95.211:2379,http://127.0.0.1:2379
-advertise-client-urlshttp://172.20.95.211:2379 -discoveryhttps://discovery.etcd.io/8ce4b3c7db5cb5c899ea2bbcad019d24 --data-dir /opt/logs/  >> /opt/logs/etcd.log &
在95.217上运行如下命令:

nohupetcd -name infra1 -initial-advertise-peer-urls http://172.20.95.217:2380-listen-peer-urls http://172.20.95.217:2380 -listen-client-urlshttp://172.20.95.217:2379,http://127.0.0.1:2379
-advertise-client-urlshttp://172.20.95.217:2379 -discoveryhttps://discovery.etcd.io/8ce4b3c7db5cb5c899ea2bbcad019d24 --data-dir/opt/logs/  >> /opt/logs/etcd.log&
这里有两个要点。
1.两台设备的“-name”值不同。
2. -discovery参数后的一串随机数是通过访问“https://discovery.etcd.io/new?size=2“得来的。而且“size=2”表示集群内有2台设备。
正常的话,etcd就启动成功了,如果有错,请看日志文件。
然后在211上执行
etcdctlset /coreos.com/network/config '{ "Network":"172.17.0.0/16" }'
         然后在两台设备上都运行:
flanneld>> /opt/logs/flanneld.log &
mk-docker-opts.sh-i
source/run/flannel/subnet.env
rm/var/run/docker.pid
servicedocker restart //然后重启docker
四、安装K8s

1.      解压

2.      进入kubernetes/server目录(cd kubernetes/server);

3.      解压kubernetes-server-linux-amd64(tarzxvf kubernetes-server-linux-amd64.tar.gz);

4.      将目录kubernetes/server/bin/加入到PATH之中。或者装用到的二进制程序复制到/usr/bin目录下。

5.      依次在211上运行下面的命令:

kube-apiserver--address=0.0.0.0 --insecure-port=8080--service-cluster-ip-range='172.20.95.211/24'--log_dir=/usr/local/kubernete_test/logs/kube --kubelet_port=10250 --v=0--logtostderr=false
--etcd_servers=http://172.20.95.211:2379--allow_privileged=false
 
kube-controller-manager --v=0 --logtostderr=false--log_dir=/opt/logs/kube --master=172.20.95.211:8080
 
kube-scheduler --master='172.20.95.211:8080' --v=0  --log_dir=/opt/logs/kube
 
kube-proxy--logtostderr=false --v=0 --master=http://172.20.95.211:8080
 
kubelet--logtostderr=false --v=0 --allow-privileged=false --address=0.0.0.0 --port=10250--hostname_override=172.20.95.211 --api_servers=http://172.20.95.211:8080
         如此一来,Master节点就算运行起来了。
         可以通过“kubectl get componentstatuses”命令来查看运行状态。
6.       在217上运行如下命令

kube-proxy--logtostderr=false --v=0 --master=http://172.20.95.211:8080
 
kubelet--logtostderr=false --v=0 --allow-privileged=false --address=0.0.0.0 --port=10250 --hostname_override=172.20.95.217 --api_servers=http://172.20.95.211:8080
         如此一来,集群他建完毕。
         可以通过“kubectl getnodes”命令来查看。

 参考文章: http://www.linuxidc.com/Linux/2016-01/127784.htm http://www.linuxidc.com/Linux/2015-12/125770.htm http://www.linuxidc.com/Linux/2015-12/125735.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: