Excluir namespaces do Policy Controller

Esta página descreve como configurar namespaces isentos no Policy Controller.

Namespaces isentos removem um namespace da aplicação do webhook de admissão com o Policy Controller, mas qualquer violação ainda é informada na auditoria. Se você não configurar namespaces, apenas o namespace gatekeeper-system estará, como pré-configuração, isento da aplicação do webhook de admissão do Policy Controller.

Configurar namespaces isentos

A configuração de um namespace dispensável aplica o rótulo admission.gatekeeper.sh/ignore, que isenta o namespace da aplicação do webhook de admissão do Policy Controller. Se você remover um namespace isento posteriormente, o Controlador de políticas não removerá o identificador 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 console do Google Cloud , 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 Policy Controller isente da aplicação.

Namespaces que serão isentos da aplicação

A lista a seguir mostra namespaces comuns do sistema que você pode querer isentar da aplicação para evitar comportamentos indesejados, como o bloqueio de upgrades. Esta lista não está 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