用途
Rancher 是一套完整的容器管理软件栈,面向采用容器的团队,用于解决管理多个 Kubernetes 集群时的运维与安全挑战。
适用时机
- 企业级多集群 Kubernetes 管理:集中管理 EKS、GKE、AKS 以及裸金属 RKE2 集群。
- 统一 RBAC 与全局认证:将企业 Okta/Active Directory 用户组映射到所有集群的 Kubernetes RBAC。
- Fleet GitOps 部署:将 Kubernetes 配置持续交付到成千上万个地理分布的集群。
- 集群安全与 CIS 基准:运行按计划执行的自动化安全审计与合规扫描。
使用方式
快速启动
使用 Docker 在本地运行 Rancher 服务器:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest
访问 https://localhost 进入 Rancher 管理控制台。
Fleet GitOps 多集群部署(fleet.yaml)
基于标签将工作负载分发到目标集群:
# fleet.yaml in Git repository root
defaultNamespace: production
labels:
app: payment-gateway
# Target clusters matching specific environment labels
targetCustomizations:
- name: production-clusters
clusterSelector:
matchLabels:
env: production
region: us-east
helm:
values:
replicaCount: 5
ingress:
enabled: true
host: payment.us-east.example.com
- name: staging-clusters
clusterSelector:
matchLabels:
env: staging
helm:
values:
replicaCount: 2
ingress:
enabled: true
host: payment.staging.example.com
RKE2 安全集群节点配置
配置加固的 Kubernetes 控制平面节点:
# /etc/rancher/rke2/config.yaml
write-kubeconfig-mode: "0600"
tls-san:
- "k8s-api.company.internal"
- "10.0.1.10"
cni: "cilium" # Modern eBPF network plugin
profile: "cis-1.23" # Enforce CIS benchmark profile
Rancher CLI 操作
切换集群上下文并管理项目:
# Log in to Rancher Management Server
rancher login https://rancher.infra.internal --token "$RANCHER_TOKEN"
# Switch active context to specific downstream cluster
rancher context switch
# Inspect running cluster nodes and health
rancher nodes
常见模式
Fleet GitOps 多集群持续交付
问题:在 50 个以上 Kubernetes 集群中应用相同的基线监控、入口与安全策略。 方案:定义 Fleet 部署包(fleet.yaml):
defaultNamespace: cattle-monitoring-system
helm:
releaseName: monitoring-agent
chart: monitoring-chart
repo: https://charts.example.com
targets:
- clusterGroup: production-clusters
- clusterSelector:
matchLabels:
env: prod
最佳实践
建议(Do):
- 在企业生产环境中部署 RKE2(Rancher Government / 加固版 Kubernetes)。
- 使用 Fleet GitOps,从版本控制的 Git 仓库集中管理多集群部署。
- 通过将 Rancher 与企业身份提供商(SAML、Okta、Azure AD)集成,实施统一 RBAC。
- 运行按计划的 Rancher CIS 基准扫描,验证集群合规性。
不建议(Don't):
- 直接在 Rancher 管理控制器集群上运行生产工作负载;应管理下游集群。
- 授予全局管理员权限;使用 Rancher Projects 和 Roles 限定权限范围。
- 在共享同一物理集群的多租户项目之间绕过网络策略。
故障排查
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 集群代理断连 / 集群不可用 | 下游集群到 Rancher 管理服务器 URL 的网络路由中断 | 在 Global Settings > Server URL 下检查 Rancher 服务器 URL |
| 安装 system-upgrade-controller 失败 | RKE2/K3s 集群升级作业被节点排空超时阻塞 | 检查节点 Pod,并对非关键工作负载执行强制驱逐 |
| Rancher Ingress 中证书过期 | Rancher 自签名或 cert-manager SSL 证书过期 | 使用 rancher-cleanup 或 cert-manager 续期来轮换证书 |
参考资料
Rancher 文档