如何用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

五、步骤 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 & 初始化登录
- 浏览器打开
https://rancher.test.com:30180 - 浏览器打开
https://公网ip:30180 - 初始密码:安装时
bootstrapPassword设置的值 - 首次登录强制修改管理员密码,保存好密码。
八,卸载 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

浙公网安备 33010602011771号