主机介绍
rancher:192.168.136.8
msater:192.168.136.21
node1:192.168.136.22
node2:192.168.136.23
如果不想新建那么多虚拟机,那至少也需要两台主机,1台rancher,一台k8s单节点集群(伪集群)。
Linux部署单节点k8s集群参考:https://blog.csdn.net/weixin_48878440/article/details/129561710?spm=1001.2014.3001.5502
安装docker
关于docker安装参考:https://blog.csdn.net/weixin_48878440/article/details/122152407?spm=1001.2014.3001.5502
注意:监控端和被监控端docker版本需要保持一致,安装时需要指定docker版本安装,指定版本安装时repo源对docker-ce-cli的版本支持,存在同版本支持docker-ce,docker-ce-cli却不支持的情况,例如docker-ce有18.06.03版本但是docker-ce-cli却没有这个版本。
用yum list docker-ce --showduplicates|sort -r、yum list docker-ce-cli --showduplicates|sort -r查看,此处我使用的是23.0.1版本。
![](https://img-blog.csdnimg.cn/img_convert/7e805ee80f6273fcdc073b0b905cbe77.png)
启动rancher容器
启动rancher容器,设置端口映射,建议安装v2.7.X,网上还有很多人安装的是rancher/server,这个是rancher1.6.5的版本(太旧了),1.6.5版本甚至不支持集群监控。
解释一下这句命令
-d表示后台运行容器
-p表示端口映射
--privileged表示特权容器,意味着容器内的root用户拥有真正的宿主机root权限,否则只是容器内的root用户仅仅是外部的一个普通用户权限。
-v表示挂载,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录,目录必须是绝对路径。如果宿主机写的是相对路径,那么挂载目录不是在当前路径,例如docker -v test1:/soft,那么挂载目录会出现在/var/lib/docker/volumes/test1/_data,不建议这样使用。
--restart=always表示容器关闭后会自动重启,强制删除容器使用dockers container rm“容器ID“ -f
--name表示容器容器名称
docker run -d --privileged -p 80:80 -p 443:443 -v /root/docker_volume/rancher:/var/lib/rancher --restart=always --name rancher-2.7.0 rancher/rancher:v2.7.0
docker ps查看容器是否启动
![](https://img-blog.csdnimg.cn/img_convert/0f663f0dccbf374824e5fe33a633c88d.png)
浏览器通过192.168.136.8:80访问主页,443或80访问,打不开需要等两分钟,按照提示输入命令拿到密钥,可以通过curl http://127.0.0.1 测试。
![](https://img-blog.csdnimg.cn/img_convert/adf6a61650465a66f2e38c045266888e.png)
!此处如果没有出现对应的密码日志(后面发现其实就是内存不足导致的),可以用reset-password重置admin密码。
docker exec -ti container-ID reset-password
![](https://img-blog.csdnimg.cn/img_convert/dfcc3429fc6801696fcf8e03314df78b.png)
登录成功
![](https://img-blog.csdnimg.cn/img_convert/cedc827a15b2eef0912dbe622361a5bd.png)
集群/节点部署
添加集群,选择“通用”,
![](https://img-blog.csdnimg.cn/img_convert/a0710be28cfda900cf88810d9cdf2765.png)
![](https://img-blog.csdnimg.cn/img_convert/9ed15356a6eafeb9d3e16b0e3cff7d17.png)
![](https://img-blog.csdnimg.cn/img_convert/fe3dda4b9402aafa80abc8fa6f5b16ef.png)
根据提示在master、node1、node2上安装rancher,注意用第二条命令。
![](https://img-blog.csdnimg.cn/img_convert/67606ab9adf4f4e2ed623f7368eb133d.png)
node1提示报错,但仍然添加成功,node2还未输入命令就已经添加成功。
![](https://img-blog.csdnimg.cn/img_convert/e701bbf1333c866b4c3a3bb3e85b5042.png)
![](https://img-blog.csdnimg.cn/img_convert/d34639faa0b23ef3ba7e3a203d995e3d.png)
master节点新增了2个namespace。
![](https://img-blog.csdnimg.cn/img_convert/72e9c48a43c7a2c80a1c2506dce06135.png)
首页资源面板展示
![](https://img-blog.csdnimg.cn/img_convert/7f269a4f485a84cf18d62b8c59f7a810.png)
5.注意事项
5.1内存不足
主机至少需要4G内存(推荐6G)
![](https://img-blog.csdnimg.cn/img_convert/d57018e28989fbff7354c8a9b527a7fb.png)
5.2存储不足
服务器主机启动rancher容器至少需要2G存储空间,容器刚开始启动时候会占用1.8G左右,稳定后占用800M左右(未添加任何插件和节点的情况下)
若需要增加root主内存,注意不要新增磁盘,这两者是不一样的。请参考https://blog.csdn.net/majianting/article/details/122944109
![](https://img-blog.csdnimg.cn/img_convert/3be7444b0befa3c30ee602081efe3463.png)
!内存不足会导致容器启动几秒后就消失,则会一直处在宕机/启动反复横跳,每次启动成功只能持续两分钟。如果存储不足,会容器转态会一直处于restarting。如果没有设置--restart=always,上述两种情况容器都会在几秒钟内自动停止,只能通过docker ps -a查询。强制删除容器使用docker container rm -f 容器ID。
5.3日志查询方法
5.3.1容器能够启动成功
docker logs 容器ID | grep error
5.3.2容器无法启动成功,一直处于restarting
docker logs 容器ID | grep error
docker inspect --format '{ {.LogPath}}' 容器ID,会获得日志文件地址,cat查看即可。--restart=always表示容器会尝试重启,一直处于restarting。
docker inspect --format '{
{.LogPath}}' e85e4839fcde