SuperAPI AI 工具集

rancher

部署与运维

查看项目

更新于 10-16 10:56

技能介绍

用途

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 文档