Instalar manualmente o Policy Controller com o kubectl

As instruções a seguir mostram como instalar o Policy Controller usando comandos kubectl. Se você quiser usar o Console do Google Cloud ou a ferramenta de linha de comando gcloud, consulte Instalar o Policy Controller.

Se você configurar o Policy Controller usando os comandos kubectl descritos nesta página, mais tarde poderá fazer alterações de configuração usando o Console do Google Cloud ou a ferramenta de linha de comando gcloud. No entanto, ao fazer alterações de configuração usando o Console do Cloud ou a ferramenta gcloud, não é possível voltar a usar comandos kubectl para alterações de configuração.

Por padrão, o Policy Controller instala uma biblioteca de modelos de restrição para tipos de política comuns. Para pular a instalação dos modelos de restrição, remova a marca de comentário da linha que começa com templateLibraryInstalled no manifesto.

  1. Prepare a configuração criando um novo arquivo config-management.yaml ou atualizando um arquivo existente.

  2. Copie o seguinte arquivo YAML em seu arquivo 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...
    

    Adicione um campo spec.policyController e defina o valor de enabled como true. É possível ativar outros recursos do Policy Controller. Entretanto, o suporte para restrições referenciais está desativado por padrão. Antes de ativá-lo, familiarize-se com as advertências sobre consistência posterior.

  3. Aplique a configuração usando kubectl apply:

    kubectl apply -f config-management.yaml
    

Como verificar o Policy Controller

Se o Policy Controller foi instalado corretamente, o pod está em execução. O pod pode ser reiniciado várias vezes antes de estar disponível.

Como o pod do Policy Controller é executado no namespace gatekeeper-system, é possível visualizar o status dele executando o seguinte comando:

kubectl get pods -n gatekeeper-system

O resultado será semelhante a:

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

Desinstalar o Policy Controller

Para desinstalar o Policy Controller, edite a configuração do Anthos Config Management no seu arquivo config-management.yaml e defina policyController.enabled como false. Depois que o Anthos Config Management remover o finalizador policycontroller.configmanagement.gke.io, a desinstalação será concluída.

Se você quiser desinstalar totalmente o Anthos Config Management, consulte Como remover o Config Management Operator.