rancher-server安装
参考官方教程: https://www.cnrancher.com/quick-start
1 | docker run -d -v /data/docker/rancher-server/var/lib/rancher/:/var/lib/rancher/ --restart=unless-stopped --name rancher-server -p 9080:9080 -p 9443:9443 rancher/rancher:stable |
执行命令,确认Rancher Server容器的Container ID,本例中的容器ID为 31aa94998b75:
1 | docker ps | grep "rancher/rancher:stable" |
执行命令,切入到Rancher Server容器的Bash Shell中(TTY):
1 | docker exec -it 31aa94998b75 bash |
此时你会发现你的提示符变成了这个样子:
1 | root@31aa94998b75:/var/lib/rancher# |
这时候你控制的就是Rancher Server的容器,如果你能够成功切入Shell,那么请继续下一步,如果未能切入,请使用
1 | docker logs 31aa94998b75 |
来确认容器发生了什么奇怪的事情。
我们先开看下要改的文件长什么样子:
1 | #!/bin/bash |
执行命令,替换默认的端口:
1 | sed -i "s/80/9080/g" /usr/bin/entrypoint.sh |
执行后:
1 | #!/bin/bash |
确认修改成功后,使用 exit 命令退出容器的Bash Shell,之后执行命令重新启动Rancher Server容器:
1 | docker restart 31aa94998b75 |
之后使用新的端口访问Rancher Server的UI(下面的连接为例子):
访问会提示SSL证书无效,无视错误继续即可。
导入K3S集群到Rancher
Rancher Server上,显示集群状态为Pending,
这是因为我们还未导入集群,这一步我们将导入集群,并建立Rancher Server与K3S集群的联系。
在K3S的主控节点(一般情况下,第一个节点都是主控制器,也叫Server节点)上,执行命令,导入集群:
复制导入界面的最后一条命令,去服务器上执行,然后等待导入完成。
1 | curl --insecure -sfL https://10.248.21.2/v3/import/jr42wvdhk4w94htxxtf5hv424rsjjz6hzq9vl2lj8q9dnb8dgcwgzn.yaml | kubectl apply -f - |
注意:每个集群的导入命令都不一样,请不要直接照搬教程中的导入命令!
之后Shell中会返回一下信息,说明集群导入配置成功:
1 | namespace/cattle-system created |
回到Rancher界面,稍微等数十秒,我们会发现Pending状态变成了Waiting状态:
出现这个提示说明Rancher已经收到K3S的注册请求,正在完成K3S集群的注册工作,再等数十秒种的时间即可完成K3S集群的导入工作。
到这里,我们成功的完成了K3S的对接工作,可以像操作K8S集群那样操作K3S集群了。