k3s-(2)rancher-server2安装

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
2
3
#!/bin/bash 

set -e exec tini -- rancher --http-listen-port=80 --https-listen-port=443 --audit-log-path=${AUDIT_LOG_PATH} --audit-level=${AUDIT_LEVEL} --audit-log-maxage=${AUDIT_LOG_MAXAGE} --audit-log-maxbackup=${AUDIT_LOG_MAXBACKUP} --audit-log-maxsize=${AUDIT_LOG_MAXSIZE} "${@}"

执行命令,替换默认的端口:

1
2
sed -i "s/80/9080/g" /usr/bin/entrypoint.sh
sed -i "s/443/9443/g" /usr/bin/entrypoint.sh

执行后:

1
2
3
#!/bin/bash 

set -e exec tini -- rancher --http-listen-port=9080 --https-listen-port=9443 --audit-log-path=${AUDIT_LOG_PATH} --audit-level=${AUDIT_LEVEL} --audit-log-maxage=${AUDIT_LOG_MAXAGE} --audit-log-maxbackup=${AUDIT_LOG_MAXBACKUP} --audit-log-maxsize=${AUDIT_LOG_MAXSIZE} "${@}""

确认修改成功后,使用 exit 命令退出容器的Bash Shell,之后执行命令重新启动Rancher Server容器:

1
docker restart 31aa94998b75

之后使用新的端口访问Rancher Server的UI(下面的连接为例子):

访问会提示SSL证书无效,无视错误继续即可。

https://192.168.6.134:9443/

导入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
2
3
4
5
6
7
8
9
10
11
12
13
namespace/cattle-system created 

serviceaccount/cattle created

clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created

secret/cattle-credentials-7c9ef0a created

clusterrole.rbac.authorization.k8s.io/cattle-admin created

deployment.extensions/cattle-cluster-agent created

daemonset.extensions/cattle-node-agent created

回到Rancher界面,稍微等数十秒,我们会发现Pending状态变成了Waiting状态:

出现这个提示说明Rancher已经收到K3S的注册请求,正在完成K3S集群的注册工作,再等数十秒种的时间即可完成K3S集群的导入工作。

到这里,我们成功的完成了K3S的对接工作,可以像操作K8S集群那样操作K3S集群了。

-------------本文结束-------------
0%