如何用systemd方式安装Rancher v2.9

已有k8s v1.33.6集群,安装集群管理工具Rancher v2.9。

一、版本兼容前置说明

1,Rancher 最低兼容版本:必须安装 Rancher v2.12.6+ / v2.13.x,官方才完整支持 K8s 1.33;v2.11 及以下 Chart 的 kubeVersion 限制 <1.33.0,直接安装会报错,不推荐强行改 Chart 规避兼容性问题GitHub。

2,Helm 版本要求:Helm 3.18+,否则无法适配 1.33 API 校验。

3,集群硬性前置条件(缺一不可):

  • 已部署 ingress-nginx(RKE2/K3s 自带,自建标准 K8s 需手动安装);
  • 集群可正常创建 Ingress、PersistentVolume;
  • 域名准备:rancher.xxx.com,DNS 解析到 ingress-nginx 的外部 IP/NodePort;
  • 集群资源:单节点最低 4C8G,HA 推荐 3 节点各 4C16G。

 

 二、步骤 1:检查并安装 ingress-nginx

kubectl get ingressclass
kubectl get pods -n ingress-nginx

无输出则执行部署(裸金属标准 K8s):

# 下载v1.11.3裸金属部署清单
curl -o ingress-nginx.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.3/deploy/static/provider/baremetal/deploy.yaml

# 全局替换 registry.k8s.io → m.daocloud.io/registry.k8s.io(所有镜像自动走国内加速)
sed -i 's|registry.k8s.io|m.daocloud.io/registry.k8s.io|g' ingress-nginx.yaml

# 设置 nginx 为默认 ingressClass
kubectl annotate ingressclass nginx ingressclass.kubernetes.io/is-default-class="true" --overwrite

# 等待Pod就绪
kubectl wait pod -n ingress-nginx --for=condition=ready --all --timeout=300s

# 验证
kubectl get pods -n ingress-nginx
kubectl get ingressclass

 

三、步骤 2:安装 cert-manager(Rancher 自动签发证书必需)

Rancher 默认使用 cert-manager 自动生成自签 SSL,版本固定 v1.14.x(兼容 K8s1.33)

# 添加jetstack仓库
helm repo add jetstack https://charts.jetstack.io
helm repo update jetstack

# 安装CRD + cert-manager
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.14.0 \
  --set installCRDs=true

 

等待所有组件就绪(3个Pod全部Running)

kubectl wait pod -n cert-manager --for=condition=ready --all --timeout=600s
kubectl get pods -n cert-manager

 

四、步骤 3:添加 Rancher Helm 仓库(生产用 stable)

# 生产稳定版(推荐v2.13,完美兼容1.33)
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
# 测试体验用latest
# helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

helm repo update rancher-stable
# 查看支持1.33的版本列表
helm search repo rancher-stable/rancher --versions | grep 2.13

 

image

 

五、步骤 4:安装 Rancher(3 种证书模式,优先模式 1)

替换 rancher.test.com 为你的域名,abc@2026 为初始管理员密码

kubectl create ns cattle-system
helm upgrade rancher rancher-stable/rancher \ --namespace cattle-system \ --version 2.13.3 \ --set hostname=rancher.test.com \ --set bootstrapPassword=abc@2026 \ --set ingress.enabled=false \ --set service.type=NodePort \ --set service.http.nodePort=30180 \ --set service.https.nodePort=30143 \ --set rancherImage=m.daocloud.io/docker.io/rancher/rancher \ --set systemDefaultRegistry=m.daocloud.io/docker.io \ --set replicas=3

 

六、步骤 5:等待 Rancher 组件全部就绪
# 持续观察cattle-system命名空间Pod
kubectl get pods -n cattle-system -w

# 所有Pod就绪后验证Ingress
kubectl get ingress -n cattle-system

全部 Pod 状态为 Running 后等待 5 分钟,证书自动签发完成。

 

七、步骤 6:访问 Rancher UI & 初始化登录

  1. 浏览器打开 https://rancher.test.com:30180
  2. 浏览器打开 https://公网ip:30180
  3. 初始密码:安装时 bootstrapPassword 设置的值
  4. 首次登录强制修改管理员密码,保存好密码。

 

八,卸载 Rancher

helm uninstall rancher -n cattle-system
kubectl delete ns cattle-system
kubectl get crd | grep cattle.io | awk '{print $1}' | xargs kubectl delete crd
kubectl get clusterrole | grep cattle | xargs kubectl delete clusterrole
kubectl get clusterrolebinding | grep cattle | xargs kubectl delete clusterrolebinding

补充:如果是用 yaml/rancher install 脚本安装的 Rancher

kubectl delete -f https://raw.githubusercontent.com/rancher/rancher/release/v2.13/deploy/rancher-cleanup.yaml

 

 

posted @ 2026-07-28 14:53  民工黑猫  阅读(11)  评论(0)    收藏  举报