环境准备(4台主机,Ubuntu16.04+Docker1.12.6 + SSH):
rancher1 192.168.3.160 只做管理节点
node1 192.168.3.161 K8S的节点1
node2 192.168.3.162 K8S的节点2
node3 192.168.3.163 K8S的节点3
此时如果用docker pull命令下载镜像,本地会连接hub.docker.com网站去下载,耗时较长,因此我们可以设置docker镜像加速,使得本地连接去国内镜像仓库下载,镜像加速的设置有很多种,本章以阿里云的设置为例,步骤如下:
1)创建目录:
[root@master ~]# mkdir /etc/docker
2)设置镜像仓库地址:
在daemon.json最后加上{ "registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"] }
tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://xwx6wxd1.mirror.aliyuncs.com"] }EOF
3)重新加载配置:
[root@master ~]# systemctl daemon-reload
4)重启服务
[root@master ~]# systemctl restart docker.service
备注:slave1节点操作一致
一、启动Rancher Server管理节点
#在rancher1(192.168.3.160)上执行命令,启动Rancher Server
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server
二、在Rancher的Web界面中创建K8S环境、自动生成主机加入集群的命令
#使用谷歌浏览器,访问http://192.168.3.160:8080,登录到Rancher管理页面
#到页面的右下角,切换到简体中文界面
#点击“Default”->“环境管理”->“添加环境”
#添加环境的名称:K8S
#添加环境的描述:K8S测试环境
#环境模板:选择kubernetes
#点击创建,就创建好Kubernetes环境了。
#然后在菜单中切换到K8S环境,
#点击“基础架构”->“主机”->“添加主机”
#分别添加主机标签和3台主机节点的IP地址:
#比如:
#第3步标签:host=node1
#第4步填入node1的IP地址:192.168.3.161
#这样可以自动生成节点加入到K8S环境中的Docker命令,
#将命令复制到node1的SSH命令窗口中执行,
#即可完成将node1加入到K8S环境,
#需要等上几分钟时间,才能将K8S相关的容器下载、启动完成
三、把3台主机节点分别加入到K8S环境中
# 3.1在node1(192.168.3.161)上执行命令,加入到K8S集群中
sudo docker run -e CATTLE_AGENT_IP="192.168.3.161" -e CATTLE_HOST_LABELS='host=node1' --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.3.160:8080/v1/scripts/D9A8B18AE1FD1EC24161:1483142400000:TWXiElSPIHtPQ7BCrMzrSbMxsc
# 3.2在node2(192.168.3.162)上执行命令,加入到K8S集群中
sudo docker run -e CATTLE_AGENT_IP="192.168.3.162" -e CATTLE_HOST_LABELS='host=node2' --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.3.160:8080/v1/scripts/D9A8B18AE1FD1EC24161:1483142400000:TWXiElSPIHtPQ7BCrMzrSbMxsc
# 3.2在node3(192.168.3.163)上执行命令,加入到K8S集群中
sudo docker run -e CATTLE_AGENT_IP="192.168.3.163" -e CATTLE_HOST_LABELS='host=node3' --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.3.160:8080/v1/scripts/D9A8B18AE1FD1EC24161:1483142400000:TWXiElSPIHtPQ7BCrMzrSbMxsc
四、运行后的效果
-
图1在rancher1上执行的命令,然后就可以访问3.160的8080端口了
-
图2.0添加K8S环境
-
图2.1添加K8S环境
-
图2.2切换到K8S环境的按钮
-
图3.1自动生成加入到K8S环境的命令-node1
-
图3.1自动生成加入到K8S环境的命令-node2
-
图3.1自动生成加入到K8S环境的命令-node3
-
图3.2在node1上执行命令,将node1加入到K8S集群中
-
图3.2在node2上执行命令,将node2加入到K8S集群中
-
图3.2在node3上执行命令,将node3加入到K8S集群中
-
图4.1最终的3台主机状态
-
图4.2基础设施应用
版权声明:本文为博主原创文章,或转载自网络,欢迎转载分享,让这世界越来越好。