es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear un ServiceAccount y Control de Acceso Basado en Roles (RBAC) de Kubernetes para otorgar permisos para parchear/actualizar anotaciones de un despliegue mientras se restringen otras operaciones de actualización, se pueden seguir los siguientes pasos:

    1. Crear un espacio de nombres para aislar la cuenta de servicio y los recursos:
      kubectl create namespace custom-namespace
      

      Reemplace “custom-namespace” con el espacio de nombres deseado.

    2. Crear un ServiceAccount para el despliegue:

      apiVersion: v1
      kind: ServiceAccount
      metadata:
       name: custom-service-account
       namespace: custom-namespace
      

      Guarde el YAML anterior en un archivo, por ejemplo “serviceaccount.yaml”, y aplíquelo usando:

      kubectl apply -f serviceaccount.yaml
      

    3. Crear un Rol que otorgue permisos para parchear/actualizar anotaciones:
      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
       namespace: custom-namespace
       name: custom-role
      rules:
      - apiGroups:
         - ""
       resources:
         - deployments
       verbs:
         - patch
      

      Guarde el YAML anterior en un archivo, por ejemplo “role.yaml”, y aplíquelo usando:

      kubectl apply -f role.yaml
      
    4. Vincular el ServiceAccount al Rol mediante un RoleBinding:
      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
       name: custom-rolebinding
       namespace: custom-namespace
      subjects:
      - kind: ServiceAccount
       name: custom-service-account
       namespace: custom-namespace
      roleRef:
       kind: Role
       name: custom-role
       apiGroup: rbac.authorization.k8s.io
      

      Guarde el YAML anterior en un archivo, por ejemplo “rolebinding.yaml”, y aplíquelo usando:

      kubectl apply -f rolebinding.yaml
      

    Con esta configuración, el “custom-service-account” puede realizar operaciones de parcheo/actualización en anotaciones de despliegues en el espacio de nombres “custom-namespace”, pero no puede realizar otras operaciones de actualización en despliegues. El permiso de actualización y parcheo se otorga solo para la sección de metadatos.

Comments are closed.