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:
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
- Caminho:
- Container Registry:
- Caminho:
gcr.io/google-samples/hello-app
- Resumo:
sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4
- Caminho:
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.
- Artifact Registry:
Implante a imagem usando o comando
kubectl run
.Implante a imagem usando o resumo em vez de uma tag como
1.0
oulatest
, 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
- Saiba mais sobre o modo de teste.
- Saiba como usar a validação contínua.
- Saiba como usar resumos de imagem nos manifestos do Kubernetes.