Excluir namespaces do Policy Controller

Esta página descreve como configurar namespaces isentos no Controlador de Políticas.

Namespaces isentos removem um namespace da aplicação obrigatória do webhook de admissão com o Controlador de Políticas, mas qualquer violação ainda é informada em auditoria. Se você não configurar nenhum namespace, apenas o namespace gatekeeper-system estará, como pré-configuração, isento da aplicação obrigatória do webhook de admissão do Controlador de Políticas.

Configurar namespaces isentos

A configuração de um namespace isento aplica o rótulo admission.gatekeeper.sh/ignore, que isenta o namespace da aplicação do webhook de admissão do Controlador de Políticas. Se você remover um namespace isento posteriormente, o Controlador de políticas não removerá o rótulo admission.gatekeeper.sh/ignore do namespace.

Como isentar namespaces da aplicação

É possível isentar namespaces durante a instalação do Policy Controller ou após a instalação. O processo a seguir mostra como isentar namespaces após a instalação.

Console

  1. No Google Cloud console, acesse a página Política na seção Gerenciamento de postura.

    Acessar a política

  2. Na guia Configurações, na tabela de clusters, selecione Editar na coluna Editar configuração.
  3. Expanda o menu Editar configuração do Policy Controller.
  4. No campo Namespaces isentos, forneça uma lista de namespaces válidos. Os objetos nesses namespaces são ignorados por todas as políticas. Os namespaces ainda não precisam existir.
  5. Selecione Salvar alterações.

gcloud

Para adicionar namespaces à lista de namespaces que podem ser isentos da aplicação pelo webhook de admissão, execute o seguinte comando:

  gcloud container fleet policycontroller update \
    --memberships=MEMBERSHIP_NAME \
    --exemptable-namespaces=NAMESPACE_LIST

Substitua:

  • MEMBERSHIP_NAME: o nome de assinatura do cluster registrado para isentar namespaces. Você pode especificar várias associações separadas por uma vírgula.
  • NAMESPACE_LIST: uma lista separada por vírgulas de namespaces que você quer que o Policy Controller isente da aplicação.

Este comando isenta recursos somente do webhook de admissão. Os recursos ainda são auditados. Para isentar namespaces da auditoria, defina a isenção no nível do pacote de políticas:

  gcloud container fleet policycontroller content bundles set BUNDLE_NAME \
    --memberships=MEMBERSHIP_NAME \
    --exempted-namespaces=NAMESPACE_LIST

Substitua:

  • BUNDLE_NAME pelo nome do bundle que você quer atualizar com namespaces isentos.
  • MEMBERSHIP_NAME: o nome de assinatura do cluster registrado para isentar namespaces. Você pode especificar várias associações separadas por uma vírgula.
  • NAMESPACE_LIST: uma lista separada por vírgulas de namespaces que você quer que o Controlador de Políticas isente da aplicação.

Namespaces que serão isentos da aplicação

A lista a seguir mostra namespaces comuns do sistema que podem ser isentos da aplicação para evitar comportamentos indesejados, como o bloqueio de upgrades. Esta não é uma lista completa:

- anthos-creds
- anthos-identity-service
- apigee
- apigee-system
- asm-system
- capi-kubeadm-bootstrap-system
- capi-system
- cert-manager
- cnrm-system
- config-management-monitoring
- config-management-system
- gke-connect
- gke-gmp-system
- gke-managed-cim
- gke-managed-filestorecsi
- gke-managed-metrics-server
- gke-managed-system
- gke-system
- gmp-public
- gmp-system
- hnc-system
- istio-system
- kube-node-lease
- kube-public
- kube-system
- poco-trial
- resource-group-system
- vm-system
- krmapihosting-system
- krmapihosting-monitoring