Rancher部署手册(helm版本)
使用 Helm 部署 Rancher
1.准备工作
1.1 系统要求
- Kubernetes 集群版本:1.19.x+
- 节点资源:至少 8 CPU 核和 16GB 内存
- 已安装并运行 ingress-nginx Ingress Controller
- 一个指向 ingress-nginx 控制器入口点(通常是 LoadBalancer Service 的 ExternalIP)的 DNS 记录,用于访问 Rancher UI
1.2 安装 Helm 3
在开始部署之前,需要确保已经安装了 Helm。如果尚未安装,可以通过以下命令安装:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
验证 Helm 是否安装成功:
helm version
2. 配置文件 (rancher-ingress-tls.yaml)
在部署之前,需要准备一个包含 TLS 证书和私钥的 Kubernetes Secret 配置文件(rancher-ingress-tls.yaml)。Rancher Chart 会创建 Ingress 资源,并引用这个 Secret 来启用 HTTPS。
重要提示:
安全性: 此文件包含敏感的私钥信息,请妥善保管。
证书有效性: 确保证书对于您将在 rancher-values.yaml 中配置的 hostname 是有效的(即证书的 Common Name 或 Subject Alternative Names 包含该域名)。
# rancher-ingress-tls.yaml (仅在手动创建时使用)
apiVersion: v1
kind: Secret
metadata:
name: tls-rancher-ingress
namespace: cattle-system
type: kubernetes.io/tls
data:
# 替换为您的证书文件内容的 base64 编码
# 生成方式: cat your-cert.pem | base64 -w 0
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR2VENDQXFhZ0F3SUJBZ0lKQU5mTlRnZUxq... # <--- 替换为实际内容
# 替换为您的私钥文件内容的 base64 编码
# 生成方式: cat your-key.pem | base64 -w 0
tls.key: LS0tLS1CRUdJTiBSU0EgUFJJV... # <--- 替换为实际内容
3. 配置文件 (rancher-values.yaml)
在部署之前,需要准备一个 Helm 配置文件(rancher-values.yaml),用于自定义 rancher 的配置。以下是一个示例配置文件的内容:
# rancher-values.yaml
# --- 核心配置 ---
# 必须设置:访问 Rancher UI 的域名
hostname: rancher.yourdomain.com
# --- Ingress 配置 ---
ingress:
# 启用 Ingress 资源创建
enabled: true
# 指定 Ingress Controller 类,对于 ingress-nginx
ingressClassName: "nginx"
# TLS 配置
tls:
# 指定使用预先创建的 Secret
source: secret
# Secret 名称 (默认为 tls-rancher-ingress,如果使用默认名可省略)
secretName: tls-rancher-ingress
# --- Rancher Server 配置 ---
# Rancher Server 副本数 (高可用)
replicas: 3
# 设置优先级类以避免驱逐
priorityClassName: rancher-critical
# (可选) 设置初始管理员密码
bootstrapPassword: "rancher12345"
# (可选) 启用调试模式
# debug: true
# (可选) 启用审计日志 (例如级别 2)
# auditLog:
# level: 2 # 0=off, 1=metadata, 2=request/response headers, 3=request/response bodies
# --- 其他 ---
# 确保 Rancher 管理本地集群 (v2.5+ 必须为 true)
addLocal: "true"
# 使用默认的 TLS 卸载方式 (Ingress)
tls: ingress
# 如果没有使用捆绑的 system charts
useBundledSystemChart: false
4.部署 Rancher
4.1 添加 Helm 仓库
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm repo update
4.2 执行部署
#部署 Rancher ingress tls secret
kubectl apply -f rancher-ingress-tls.yaml
#部署rancher
helm upgrade --install rancher rancher-stable/rancher \
--namespace cattle-system \
--create-namespace \
--version 2.11.3 \
--values rancher-values.yaml
4.3 验证安装
# 查看 Pod 状态,等待所有 Pod Running
kubectl get pods -n cattle-system -w
# 检查 Deployment 状态
kubectl -n cattle-system rollout status deploy/rancher
# 查看 Ingress 和 Service
kubectl get ingress,svc -n cattle-system
# 查看所有相关资源
kubectl get all -n cattle-system
5. 访问 Rancher
5.1 访问方式
- Ingress 访问:https://rancher.yourdomain.com (请替换为您配置的域名)
默认管理员账号:
- 用户名:admin
- 密码:rancher12345
6. 卸载 Rancher
helm uninstall rancher -n cattle-system

浙公网安备 33010602011771号