Instala el controlador de políticas de forma manual con kubectl

En las siguientes instrucciones, se muestra cómo instalar el controlador de políticas mediante los comandos de kubectl. Si deseas usar Google Cloud Console o Google Cloud CLI, consulta Instala el controlador de políticas.

Si configuras el controlador de políticas con los comandos kubectl que se describen en esta página, más adelante puedes realizar cambios en la configuración con Google Cloud Console o Google Cloud CLI. Sin embargo, cuando realizas cambios de configuración mediante Cloud Console o la CLI de gcloud, no puedes volver a usar los comandos kubectl para los cambios de configuración.

De forma predeterminada, el controlador de políticas instala una biblioteca de plantillas de restricciones para tipos de políticas comunes. Para omitir la instalación de las plantillas de restricciones, quita el comentario de la línea que comienza con templateLibraryInstalled en el manifiesto.

  1. Para preparar la configuración, crea un archivo config-management.yaml nuevo o actualiza un archivo existente.

  2. Copia el siguiente archivo YAML en tu archivo config-management.yaml:

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Policy Controller
      policyController:
        enabled: true
        # Uncomment to prevent the template library from being installed
        # templateLibraryInstalled: false
        # Uncomment to enable support for referential constraints
        # referentialRulesEnabled: true
        # Uncomment to disable audit, adjust value to set audit interval
        # auditIntervalSeconds: 0
        # Uncomment to log all denies and dryrun failures
        # logDeniesEnabled: true
        # Uncomment to exempt namespaces
        # exemptableNamespaces: ["namespace-name"]
      # ...other fields...
    

    Debes agregar un campo spec.policyController y establecer el valor de enabled en true. Puedes elegir habilitar otras funciones del controlador de políticas. La compatibilidad para restricciones referenciales está inhabilitada según la configuración predeterminada. Antes de habilitarlo, asegúrate de familiarizarte con las advertencias sobre la coherencia eventual.

  3. Aplica la configuración mediante kubectl apply:

    kubectl apply -f config-management.yaml
    

Verifica el Controlador de políticas

Si el controlador de políticas se instala de forma adecuada, su Pod se encontrará en ejecución. Es posible que el Pod se reinicie varias veces antes de que esté disponible.

Dado que el pod del controlador de políticas se ejecuta en el espacio de nombres gatekeeper-system, puedes ejecutar el siguiente comando para ver su estado:

kubectl get pods -n gatekeeper-system

Deberías ver un resultado similar al siguiente:

NAME                              READY   STATUS    RESTARTS   AGE
gatekeeper-controller-manager-0   1/1     Running   1          53s

Desinstala el controlador de políticas

Para desinstalar el controlador de políticas, edita la configuración de Anthos Config Management en el archivo config-management.yaml y configura policyController.enabled como false. Después de que Anthos Config Management quita el finalizador policycontroller.configmanagement.gke.io, se completa la desinstalación.

Si deseas desinstalar Anthos Config Management por completo, consulta Quita el operador de Config Management.