前言
此文档在三台内网机器搭建,只是为了学习搭建环境,不做生成环境使用。
环境
主机名 | ip | 角色 |
---|---|---|
web2 | 192.168.2.202 | master |
web5 | 192.168.2.205 | node1 |
web8 | 192.168.2.208 | node2 |
三台主机系统均为 CentOS 7.8.2003
文中会明确每个操作是在 master
还是 node
操作node
包含 node1
和 node2
安装之前先关闭三台主机的防火墙
systemctl stop firewalld.service
安装Docker
主机master
和node
均需操作Docker版本为
19.03.12
卸载旧版本docker
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
添加软件源信息
# 添加yum工具 sudo yum install -y yum-utils # 添加源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
启动docker
sudo systemctl start docker
【可选】设置开启启动
sudo systemctl enable docker
【可选】通过
hello-word
镜像验证是否安装成功sudo docker run hello-world
如下图输出说明安装成功
通过Docker运行Rancher
仅master
主机需要操作Rancher版本为
v2.4.8
通过docker运行rancher
sudo docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ rancher/rancher:latest
docker会先拉取镜像,然后运行rancher,如下图输出说明运行成功
- 等几分钟后,通过
master
主机的ip192.168.2.202
访问rancher
访问链接 https://192.168.2.202/
注意要使用https
访问,浏览器有可能会报不安全,强制访问即可
- 设置
admin
的新密码,同意协议,点击Continue
进入下一页 - 点击
Save URL
成功进入Rancher控制台,选择右下角的语言切换为中文
通过Rancher添加一个Kubernetes集群
在上一步或者访问链接https://192.168.2.202/g/clusters点击
添加集群
选择自定义
创建一个新集群- 输入集群名称
web
- 选择Kubernetes版本,这里选择最新的
v1.18.8-rancher1-1
- 其他设置可使用默认值,然后点击下一步
- 输入集群名称
![iShot2020-09-11 14.24.32-w1044](http://img.tianshui.webtest.team/mweb/2020-09-17-iShot2020-09-11%2014.24.32.png)
添加主机,每个主机均可运行多个角色可按照下文配置亦可自由配置,但是必须要保证至少一个
Etcd
角色、一个Control
角色、一个Worker
角色- 主机选项中勾选
Etcd
与Control
两个选项,复制命令,然后在master
主机执行命令 - 主机选项中勾选
Worker
,复制命令,然后在node
主机执行命令
- 主机选项中勾选
- 在命令行执行完添加主机的命令后点击
完成
即可回到集群列表页;点击节点数链接跳转到主机页,这里会根据主机添加的网络情况显示,如图web8
这台机器docker镜像暂时没有拉取完成,所以还没出现在列表中;
经过一段时间后主机全部注册成功了,点击红框按钮 -> 编辑 -> 自定义名称 修改主机的名称
web2
->master
web5
->node1
web8
->node2
至此Kubernetes集群搭建完毕
![iShot2020-09-11 17.27.15-w1035](http://img.tianshui.webtest.team/mweb/2020-09-17-iShot2020-09-11%2017.27.15.png)
![iShot2020-09-17 13.55.55-w1047](http://img.tianshui.webtest.team/mweb/2020-09-17-iShot2020-09-17%2013.55.55.png)
使用Rancher部署一个服务
这里使用 golang
写一个简单web服务并构建成docker镜像上传到docker仓库 lvxiaohai/hello-go
。下面我们使用Rancher部署这个服务。
源码地址 https://github.com/lvxiaohai/hello-go
为了能顺利访问服务,先在本机指一个
host
# 使用node1或者node2的ip 192.168.2.208 www.hello-go.com
- 点击
部署服务
- 按照下图填写并点击
启动
- 稍等一会即可执行成功,点击
负载均衡
->添加规则
创建一个负载均衡
- 选择
自定义域名
并输入第1步指定的hostwww.hello-go.com
,点击服务
增加一条,然后把默认的工作负载一条给删掉,最后保存
- 在浏览器中访问链接 http://www.hello-go.com,显示
Hello go!
;配置成功。
有疑问加站长微信联系(非本文作者)