以下说明将帮助您从 RKE add-on 安装迁移到使用 Helm 软件包管理器管理 Rancher。
您将需要安装和由 RKE 生成的 kubeconfig YAML 文件()。
设置环境变量 KUBECONFIG
之后,请验证其是否包含正确的 server
参数。它应直接指向端口 6443
上的集群节点之一。
kubectl config view -o=jsonpath='{.clusters[*].cluster.server}'
https://NODE:6443
如果命令的输出显示后缀为 /k8s/clusters
的 Rancher 主机名,则说明配置了错误的 kubeconfig YAML 文件。它应该是您使用 RKE 创建集群以运行 Rancher 时创建的文件。
如果您已在 Rancher Cluster Ingress 上终止了 ssl,找回证书和密钥以在 Helm 安装中使用。
使用kubectl
来获取密文,解码值并将输出到文件。
kubectl -n cattle-system get secret cattle-keys-server -o jsonpath --template='{ .data.cacerts\.pem }' | base64 -d > cacerts.pem
删除由 RKE 安装创建的 Kubernetes 对象。
来自rancher-cluster.yml
的 addons 部分包含使用 RKE 部署 Rancher 所需的所有资源。通过切换到 Helm,集群配置文件中不再需要这一部分。在您喜欢的文本编辑器中打开并删除 addons 部分:
nodes:
- address: <IP> # hostname or IP to access nodes
role: [controlplane,etcd,worker] # K8s roles for node
ssh_key_path: <PEM_FILE> # path to PEM file
- address: <IP>
user: <USER>
role: [controlplane,etcd,worker]
ssh_key_path: <PEM_FILE>
- address: <IP>
user: <USER>
role: [controlplane,etcd,worker]
etcd:
snapshot: true
creation: 6h
retention: 24
## 从此处开始删除addons部分到文件结尾
addons: |-
---
...
## 文件结尾