以下说明将帮助您从 RKE add-on 安装迁移到使用 Helm 软件包管理器管理 Rancher。

您将需要安装和由 RKE 生成的 kubeconfig YAML 文件()。

设置环境变量 KUBECONFIG 之后,请验证其是否包含正确的 server 参数。它应直接指向端口 6443上的集群节点之一。

  1. kubectl config view -o=jsonpath='{.clusters[*].cluster.server}'
  2. https://NODE:6443

如果命令的输出显示后缀为 /k8s/clusters的 Rancher 主机名,则说明配置了错误的 kubeconfig YAML 文件。它应该是您使用 RKE 创建集群以运行 Rancher 时创建的文件。

如果您已在 Rancher Cluster Ingress 上终止了 ssl,找回证书和密钥以在 Helm 安装中使用。

使用kubectl来获取密文,解码值并将输出到文件。

  1. 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 部分:

  1. nodes:
  2. - address: <IP> # hostname or IP to access nodes
  3. role: [controlplane,etcd,worker] # K8s roles for node
  4. ssh_key_path: <PEM_FILE> # path to PEM file
  5. - address: <IP>
  6. user: <USER>
  7. role: [controlplane,etcd,worker]
  8. ssh_key_path: <PEM_FILE>
  9. - address: <IP>
  10. user: <USER>
  11. role: [controlplane,etcd,worker]
  12. etcd:
  13. snapshot: true
  14. creation: 6h
  15. retention: 24
  16. ## 从此处开始删除addons部分到文件结尾
  17. addons: |-
  18. ---
  19. ...
  20. ## 文件结尾