使用Rancher搭建K8S测试环境

作者: admin 分类: 公众号存档            0 次浏览 发布时间: 2020-12-28 23:59

【转载声明】本文为转载文章,原作者「三丰」,版权归原作者所有。 原文链接:https://mp.weixin.qq.com/s/vfg7pzSbEJ_gdrsqMmEsaw

公众号:杨建荣的学习笔记 · 作者:三丰 · 发布:2020-12-28 23:59:02 · 原文链接

环境准备(4台主机,Ubuntu16.04+Docker1.12.6 + SSH):

rancher1   192.168.3.160   只做管理节点node1      192.168.3.161   K8S的节点1node2      192.168.3.162   K8S的节点2node3      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端口了

添加K8S环境

添加K8S环境

切换到K8S环境的按钮

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

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

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

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

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

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

最终的3台主机状态

基础设施应用

关注公众号 soft张三丰 

QQ群号:763628645

QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注