En esta página, se explica cómo implementar una imagen de contenedor en un clúster de Google Kubernetes Engine (GKE) en el que la autorización binaria está habilitada. Los comandos kubectl
que usas para implementar la imagen son los mismos que usas con el fin de implementar imágenes en clústeres que no usan la autorización binaria.
Antes de comenzar
Asegúrate de tener habilitada la API de Binary Authorization en tu proyecto y un clúster de GKE con Binary Authorization habilitado. Consulta Configura Google Kubernetes Engine o Configura clústeres de Anthos en VMware.
Instala kubectl
para interactuar con GKE.
Configura kubectl
Debes actualizar el archivo local kubeconfig
de tu instalación de kubectl
.
Esto proporciona las credenciales y la información del extremo necesarias para acceder al clúster en GKE.
Para configurar kubectl
, ejecuta el siguiente comando gcloud
:
gcloud container clusters get-credentials \ --zone ZONE \ CLUSTER_NAME
Reemplaza lo siguiente:
- ZONE: Es el nombre de la zona de GKE en la que se ejecuta el clúster, por ejemplo,
us-central1-a
. - CLUSTER_NAME: es el nombre del clúster
Implementa la imagen de contenedor
Implementa tu imagen de contenedor de la siguiente manera:
Configure las variables de entorno:
POD_NAME=POD_NAME IMAGE_PATH=IMAGE_PATH IMAGE_DIGEST=IMAGE_DIGEST
Reemplaza lo siguiente:
- POD_NAME: es el nombre que deseas usar para la carga de trabajo de GKE
- IMAGE_PATH: es la ruta de acceso de la imagen en Artifact Registry, Container Registry o algún otro registro.
IMAGE_DIGEST: Es el resumen del manifiesto de la imagen. Estos son algunos ejemplos:
- Artifact Registry:
- Ruta de acceso:
us-docker.pkg.dev/google-samples/containers/gke/hello-app
- Resumen:
sha256:37e5287945774f27b418ce567cd77f4bbc9ef44a1bcd1a2312369f31f9cce567
- Ruta de acceso:
- Container Registry:
- Ruta de acceso:
gcr.io/google-samples/hello-app
- Resumen:
sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4
- Ruta de acceso:
Para obtener información sobre cómo obtener el resumen de una imagen en Artifact Registry, consulta Administra imágenes. Para obtener información sobre una imagen en Container Registry, consulta Enumera las versiones de una imagen.
- Artifact Registry:
Implementa la imagen con el comando
kubectl run
.Debes implementar la imagen mediante el resumen en lugar de una etiqueta como
1.0
olatest
, ya que la autorización binaria usa la ruta de la imagen y el resumen para buscar certificaciones.Para implementar la imagen, ejecuta el siguiente comando
kubectl
:kubectl run ${POD_NAME} \ --image ${IMAGE_PATH}@${IMAGE_DIGEST}
Ahora, verifica que la autorización binaria haya bloqueado la implementación:
kubectl get pods
Verás el Pod en la lista.
Fail open
Usuarios de GKE: El proceso de aplicación falla si GKE no puede comunicarse con el servidor de autorización binaria por algún motivo. Por ejemplo, si implementas una imagen de contenedor y no se puede acceder al ejecutor de la autorización binaria debido a una interrupción de la red, la imagen se implementa, aunque el ejecutor la haya bloqueado. Si los registros de auditoría de Cloud están habilitados, la entrada de registro indica la imagen implementada con una condición de falla abierta.
Implementa imágenes que incumplan la política
La autorización binaria admite una característica conocida como de emergencia que permite que se implemente una imagen, incluso si infringe la política.
Para obtener más información, consulta Usa flujos de trabajo de emergencia.
Realiza una limpieza
Para limpiar el pod, ejecuta el siguiente comando:
kubectl delete pod ${POD_NAME}
¿Qué sigue?
- Obtén información sobre el modo de simulación.
- Obtén información sobre cómo usar la validación continua.
- Obtén más información sobre cómo usar resúmenes de imágenes en manifiestos de Kubernetes.