Rancher部署并导入K8S集群完整指南 转载

温馨提示:
本文最后更新于 2026-06-15,已超过 0 天没有更新。 若文章内的图片失效(无法正常加载),请留言反馈或直接 联系我

Rancher 的部署可以有三种架构:

  • 高可用 Kubernetes 安装:建议使用 Kubernetes 程序包管理器 Helm 在专用的 Kubernetes 集群上安装 Rancher。在 RKE 集群中,需要使用三个节点以实现高可用性。在 K3s 集群(轻量级kubernetes)中,仅需要两个节点即可。
  • 单节点 Kubernetes 安装:另一个选择是在 Kubernetes 集群上使用 Helm 安装 Rancher,仅在集群中使用单个节点。虽然在这种情况下的 Rancher Server 不具有高可用性,但是这种架构既节省了资源,又保留了可扩展性。
  • 单节点 Docker 安装:将 Rancher 与 Docker 一起安装在单个节点上。这种安装方式的优点是开箱即用,建议在测试和演示环境中使用这种架构。

一、部署Rancher v2.27环境(单节点Docker安装)

这里将Rancher部署到k8s集群的其中一个node节点172.16.60.234上。

# 下载rancher镜像
[root@k8s-node01 ~]# docker pull rancher/rancher:stable

# 以容器方式启动Rancher服务
[root@k8s-node01 ~]# docker run -d -v /tmp/rancher:/tmp/rancher --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:stable

# 查看rancher容器
[root@k8s-node01 ~]# docker ps|grep rancher
2c2b36cb138b rancher/rancher:stable "entrypoint.sh" 3 hours ago Up 3 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp lucid_robinson

稍微等一会儿,待rancher容器进程完全拉起来后,就可以在浏览器里访问rancher了。访问地址是:https://172.16.60.234,首次访问会提示设置admin管理员密码。

二、导入k8s集群到Rancher环境

将已经部署好的k8s集群导入到Rancher环境中:

1)添加集群权限绑定

[root@k8s-master01 work]# kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user default-auth
clusterrolebinding.rbac.authorization.k8s.io/cluster-admin-binding created

2)执行导入命令

[root@k8s-master01 work]# curl --insecure -sfL https://172.16.60.234/v3/import/qx7972dgq5876dlvtx66hmb55l49w57tvpr8v58ldwvlk75bb44msn.yaml | kubectl apply -f -
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver created
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master created
namespace/cattle-system created
serviceaccount/cattle created
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created
secret/cattle-credentials-ad2b8cf created
clusterrole.rbac.authorization.k8s.io/cattle-admin created
deployment.apps/cattle-cluster-agent created
daemonset.apps/cattle-node-agent created

3)验证导入状态

[root@k8s-master01 work]# kubectl get ns
NAME              STATUS   AGE
cattle-system     Active   18m
default           Active   3d19h
kube-node-lease   Active   3d19h
kube-public       Active   3d19h
kube-system       Active   3d19h

[root@k8s-master01 work]# kubectl get pods -n cattle-system
NAME                                      READY   STATUS    RESTARTS   AGE
cattle-cluster-agent-87944bb89-9l8vn      1/1     Running   0          18m
cattle-node-agent-24vnp                   1/1     Running   0          18m
cattle-node-agent-86hdx                   1/1     Running   0          18m
cattle-node-agent-qz59v                   1/1     Running   0          18m

执行完导入操作后,观察导入的集群的状态,状态依次从”Waiting”变为”Active”。

三、通过Rancher界面管理k8s集群

Rancher提供了丰富的k8s集群管理功能,包括:

  • WebShell执行kubectl命令
  • 查看和管理项目资源
  • 动态伸缩pod副本
  • 登录pod容器内部
  • Pod重新部署

四、删除已导入的k8s集群,重新导入

# 1)从Rancher界面直接删除已导入的集群

# 2)删除已经导入的 "API&Keys" 信息

# 3)删除添加的权限
[root@k8s-master01 work]# kubectl delete clusterrolebinding cluster-admin-binding

# 4)删除cattle-cluster-agent和cattle-node-agent的pod
[root@k8s-master01 work]# kubectl delete deployment cattle-cluster-agent -n cattle-system
[root@k8s-master01 work]# kubectl delete daemonset cattle-node-agent -n cattle-system

原文链接:https://www.cnblogs.com/kevingrace/p/14617757.html