代码之家  ›  专栏  ›  技术社区  ›  pixel

为Kubernetes命名空间设置部署锁?

  •  1
  • pixel  · 技术社区  · 6 年前

    我的用例是CI/CD流:

    1 回复  |  直到 6 年前
        1
  •  2
  •   Rico    6 年前

    你可以用 RBAC 用一个 Role 仅限于单个命名空间。

    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: user
      namespace: mynamespace
    
    ---
    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: user-full-access
      namespace: mynamespace
    rules:
    - apiGroups: ["", "extensions", "apps"]
      resources: ["*"]
      verbs: ["*"]
    - apiGroups: ["batch"]
      resources:
      - jobs
      - cronjobs
      verbs: ["*"]
    
    ---
    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: mynamespace-user-view
      namespace: mynamespace
    subjects:
    - kind: ServiceAccount
      name: user
      namespace: mynamespace
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: Role
      name: user-full-access