部署多集群管理平台rancher(k8s)

  1. 主机介绍

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

  1. 安装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版本。

  1. 启动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查看容器是否启动

浏览器通过192.168.136.8:80访问主页,443或80访问,打不开需要等两分钟,按照提示输入命令拿到密钥,可以通过curl http://127.0.0.1 测试。

此处如果没有出现对应的密码日志(后面发现其实就是内存不足导致的),可以用reset-password重置admin密码。

docker exec -ti container-ID reset-password

登录成功

  1. 集群/节点部署

添加集群,选择“通用”,

根据提示在master、node1、node2上安装rancher,注意用第二条命令。

node1提示报错,但仍然添加成功,node2还未输入命令就已经添加成功。

master节点新增了2个namespace。

首页资源面板展示

5.注意事项

5.1内存不足

主机至少需要4G内存(推荐6G)

5.2存储不足

服务器主机启动rancher容器至少需要2G存储空间,容器刚开始启动时候会占用1.8G左右,稳定后占用800M左右(未添加任何插件和节点的情况下)

若需要增加root主内存,注意不要新增磁盘,这两者是不一样的。请参考https://blog.csdn.net/majianting/article/details/122944109

内存不足会导致容器启动几秒后就消失,则会一直处在宕机/启动反复横跳,每次启动成功只能持续两分钟。如果存储不足,会容器转态会一直处于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

猜你喜欢

转载自blog.csdn.net/weixin_48878440/article/details/129073543