使用 Rancher 安装 Kubernetes

如果 Rancher 安装方式发生变化,请始终参考 Rancher 官方文档。

安装 RancherD

RancherD 是 Rancher 最新支持的一种部署方案,运行以下命令来安装 RancherD 以进行 Rancher + Kubernetes 的部署。

curl -sfL https://get.rancher.io | sh -

如果遇到网络问题,可以先行下载 rancherD 的安装包再进行手动安装。

# fill the proxy url if you use one export https_proxy= curl -s https://api.github.com/repos/rancher/rancher/releases/latest \ |jq '.assets[] | select(.browser_download_url|contains("rancherd-amd64.tar.gz")) | .browser_download_url' -r \ |wget -ci - tar xzf rancherd-amd64.tar.gz -C /usr/local

之后只需要启动 rancherd-server 服务就可以得到一个 Kubernetes 环境。

systemctl enable rancherd-server systemctl start rancherd-server

查看 Kubernetes 安装状态:

journalctl -fu rancherd-server

最后看到 successfully,说明 Kubernetes 已安装完成。

"Event occurred" object="cn120" kind="Node" apiVersion="v1" \ type="Normal" reason="Synced" message="Node synced successfully"

使用 kubectl

集群启动后,配置 KUBECONFIG,并将 rke2 路径加入环境变量以使用 kubectl 命令:

export KUBECONFIG=/etc/rancher/rke2/rke2.yaml export PATH=$PATH:/var/lib/rancher/rke2/bin

查看 Rancher 部署状态:

kubectl get daemonset rancher -n cattle-system kubectl get pod -n cattle-system

Result:

NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE rancher 1 1 1 1 1 node-role.kubernetes.io/master=true 36m NAME READY STATUS RESTARTS AGE helm-operation-5c2wd 0/2 Completed 0 34m helm-operation-bdxlx 0/2 Completed 0 33m helm-operation-cgcvr 0/2 Completed 0 34m helm-operation-cj4g4 0/2 Completed 0 33m helm-operation-hq282 0/2 Completed 0 34m helm-operation-lp5nn 0/2 Completed 0 33m rancher-kf592 1/1 Running 0 36m rancher-webhook-65f558c486-vrjz9 1/1 Running 0 33m

设置 Rancher 用户名及密码

rancherd reset-admin

你会看到如下的结果:

INFO[0000] Server URL: https://*.*.*.*:8443 INFO[0000] Default admin and password created. Username: admin, Password: ****

打开 :8443 的网址,可以看到登录页面:

rancher-login-page

输入上面设置的用户名和密码,进入 Rancher 仪表盘。

rancher-dashboard

高可用设置

获取集群当前的token: /var/lib/rancher/rke2/server/node-token

在其他节点上安装 rancherd-server

tar xzf rancherd-amd64.tar.gz -C /usr/local systemctl enable rancherd-server

创建 RKE2 配置所在目录:

mkdir -p /etc/rancher/rke2

添加配置文件 /etc/rancher/rke2/config.yaml

server: https://192.168.60.120:9345 token: <the token in /var/lib/rancher/rke2/server/node-token>

server 为第一个启动的节点地址加端口号 9345token 为上面从文件获取的 token 值。

启动 rancherd-server 服务,就可以将此节点加入 Kubernetes 集群。

systemctl start rancherd-server journalctl -fu rancherd-server

其他节点可复制配置和操作,直到所有节点都加入集群。

我们使用3个节点,输入 kubectl get daemonset rancher -n cattle-system查看当前启动的 rancher 节点数量:

NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE rancher 3 3 3 3 3 node-role.kubernetes.io/master=true 129m

至此,一个三节点的高可用 Rancher + Kubernetes 集群已经安装成功。