环境准备(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环境中

# 在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

 

# 在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

 

# 在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

 

四、运行后的效果

在rancher1上执行的命令,然后就可以访问3.160的8080端口了

使用Rancher搭建K8S测试环境_自动生成

添加K8S环境

使用Rancher搭建K8S测试环境_docker_02

添加K8S环境

使用Rancher搭建K8S测试环境_docker_03

切换到K8S环境的按钮

使用Rancher搭建K8S测试环境_json_04

自动生成加入到K8S环境的命令-node1

使用Rancher搭建K8S测试环境_自动生成_05

自动生成加入到K8S环境的命令-node2

使用Rancher搭建K8S测试环境_json_06

自动生成加入到K8S环境的命令-node3

使用Rancher搭建K8S测试环境_json_07

在node1上执行命令,将node1加入到K8S集群中

使用Rancher搭建K8S测试环境_json_08

在node2上执行命令,将node2加入到K8S集群中

使用Rancher搭建K8S测试环境_自动生成_09

在node3上执行命令,将node3加入到K8S集群中

使用Rancher搭建K8S测试环境_json_10

最终的3台主机状态

使用Rancher搭建K8S测试环境_docker_11

基础设施应用

使用Rancher搭建K8S测试环境_docker_12


关注公众号 soft张三丰 

使用Rancher搭建K8S测试环境_自动生成_13