Implantar contêineres (GKE)

Nesta página, você aprende a implantar uma imagem de contêiner em um cluster do Google Kubernetes Engine (GKE) em que a autorização binária está ativada. Os comandos kubectl usados para implantar a imagem são os mesmos que você usa para implantar imagens em clusters que não usam a autorização binária.

Antes de começar

Verifique se a API Binary Authorization está ativada no seu projeto e se há um cluster do GKE com autorização binária ativada. Consulte Como configurar no Google Kubernetes Engine ou Como configurar em clusters do Anthos no VMware.

Instale kubectl para interagir com o GKE.

Configurar kubectl

Você precisa atualizar o arquivo local kubeconfig para sua instalação do kubectl. Isso fornece as credenciais e informações do endpoint necessárias para acessar o cluster no GKE.

Para configurar kubectl, execute este comando da gcloud:

gcloud container clusters get-credentials \
    --zone ZONE \
    CLUSTER_NAME

Substitua:

  • ZONE: o nome da zona do GKE em que o cluster está em execução, por exemplo, us-central1-a;
  • CLUSTER_NAME: o nome do cluster.

Implantar a imagem do contêiner

Implante a imagem do contêiner da seguinte maneira:

  1. Configure as variáveis de ambiente:

    POD_NAME=POD_NAME
    IMAGE_PATH=IMAGE_PATH
    IMAGE_DIGEST=IMAGE_DIGEST
    

    Substitua:

    • POD_NAME: o nome que você quer usar para a carga de trabalho do GKE;
    • IMAGE_PATH: o caminho da imagem no Artifact Registry, Container Registry ou outro registro.
    • IMAGE_DIGEST: o resumo do manifesto da imagem. Os exemplos são:

      • Artifact Registry:
        • Caminho: us-docker.pkg.dev/google-samples/containers/gke/hello-app
        • Resumo: sha256:37e5287945774f27b418ce567cd77f4bbc9ef44a1bcd1a2312369f31f9cce567
      • Container Registry:
        • Caminho: gcr.io/google-samples/hello-app
        • Resumo: sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4

      Para saber como conseguir o resumo de uma imagem no Artifact Registry, consulte Como gerenciar imagens. Para uma imagem no Container Registry, consulte Como listar versões de um imagem.

  2. Implante a imagem usando o comando kubectl run.

    Implante a imagem usando o resumo em vez de uma tag como 1.0 ou latest, já que a autorização binária usará o caminho e o resumo da imagem para procurar atestados.

    Para implantar a imagem, execute o seguinte comando kubectl:

    kubectl run ${POD_NAME} \
        --image ${IMAGE_PATH}@${IMAGE_DIGEST}
    

    Agora verifique se a implantação foi bloqueada pela autorização binária:

    kubectl get pods
    

    Você verá o pod listado.

Fail open

Usuários do GKE: o processo de aplicação falhará se o GKE não conseguir acessar o servidor da autorização binária por qualquer motivo. Por exemplo, se você implantar uma imagem de contêiner e o aplicador de autorização binária estiver inacessível devido a uma interrupção de rede, a imagem será implantada, mesmo que o aplicador a tenha bloqueado. Se os registros de auditoria do Cloud estiverem ativados, a entrada de registro indicará a imagem implantada com uma condição de falha ao abrir.

Implantar imagens que violam a política

A autorização binária é compatível com um recurso conhecido como implantação forçada que permite que uma imagem seja implantada mesmo que ela viole a política.

Para mais informações, consulte Como usar a implantação forçada.

Limpar

Para fazer a limpeza, exclua o pod executando o seguinte comando:

  kubectl delete pod ${POD_NAME}
  

A seguir