You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已创建的Azure Kubernetes(AKS)集群添加RBAC的可行方案咨询

为已有AKS集群启用RBAC的无停机方案

前置准备

  • 拥有AKS集群的Owner/Contributor权限,以及集群kubeconfig访问权限
  • 备份集群所有核心资源(Deployment、Service、Ingress、ConfigMap、Secret等),执行命令:
    kubectl get all --all-namespaces -o yaml > cluster-resources-backup.yaml
    
  • 确认集群版本支持RBAC(AKS所有正式支持版本均兼容)

步骤1:通过Azure CLI启用RBAC

AKS支持通过CLI滚动更新控制平面开启RBAC,此操作不会销毁节点,业务Pod会自动漂移至可用节点,对生产影响极小:

az aks update --resource-group <你的资源组名> --name <你的AKS集群名> --enable-rbac

该操作通常耗时10-15分钟,期间API Server会短暂重启,但业务容器运行不受影响(需集群节点数≥2避免单点故障)。

步骤2:紧急配置RBAC权限(避免业务中断)

启用RBAC后默认拒绝所有未授权请求,需立即配置必要权限:

  1. 绑定集群管理员权限给操作人:
    kubectl create clusterrolebinding admin-binding --clusterrole=cluster-admin --user=<你的Azure AD邮箱/对象ID>
    
  2. 为业务ServiceAccount配置资源访问权限(以default命名空间为例):
    创建app-rbac.yaml文件:
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: default
      name: app-resource-role
    rules:
    - apiGroups: [""]
      resources: ["pods", "configmaps", "secrets", "services"]
      verbs: ["get", "list", "watch", "create", "update"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      namespace: default
      name: app-resource-binding
    subjects:
    - kind: ServiceAccount
      name: <你的应用ServiceAccount名称>
      namespace: default
    roleRef:
      kind: Role
      name: app-resource-role
      apiGroup: rbac.authorization.k8s.io
    
    执行配置:
    kubectl apply -f app-rbac.yaml
    
  3. 为运维人员分配对应权限(例:只读权限):
    kubectl create clusterrolebinding ops-readonly --clusterrole=view --user=<运维人员Azure AD邮箱>
    

步骤3:验证配置有效性

  • 确认RBAC启用:执行kubectl api-versions,返回rbac.authorization.k8s.io/v1即生效
  • 测试权限:使用业务ServiceAccount执行kubectl get pods,确认能正常访问资源
  • 检查业务状态:执行kubectl get pods --all-namespaces,确保无RBAC导致的Pod异常

注意事项

  • 操作尽量选业务低峰期执行
  • 若集群已集成Azure AD,启用RBAC后需验证AD用户的集群访问权限是否正常
  • 禁止中途终止az aks update操作,避免集群处于不一致状态

内容的提问来源于stack exchange,提问作者Domenico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:55:40