Questa pagina spiega come eseguire il deployment di un'immagine container in un cluster Google Kubernetes Engine (GKE) o cluster GKE in cui è abilitata Autorizzazione binaria. I comandi kubectl
che utilizzi per eseguire il deployment dell'immagine sono gli stessi che utilizzi per il deployment delle immagini in cluster che non utilizzano Autorizzazione binaria.
Prima di iniziare
Assicurati che l'API Binary Authorization sia abilitata nel tuo progetto e un cluster GKE con Autorizzazione binaria abilitata. Consulta la pagina sulla configurazione su Google Kubernetes Engine o sulla configurazione dei cluster GKE.
Installa kubectl
per interagire con GKE.
Configura kubectl
Devi aggiornare il file kubeconfig
locale per l'installazione di kubectl
.
Fornisce le credenziali e le informazioni sugli endpoint necessarie per accedere al cluster nei cluster GKE o GKE.
Per configurare kubectl
, esegui questo comando gcloud
:
GKE
gcloud container clusters get-credentials \ --zone ZONE \ CLUSTER_NAME
Sostituisci quanto segue:
- ZONE: nome della zona GKE in cui è in esecuzione
il cluster, ad esempio
us-central1-a
- CLUSTER_NAME: il nome del cluster
Cluster GKE
gcloud container fleet memberships get-credentials \ --location LOCATION \ MEMBERSHIP_NAME
Sostituisci quanto segue:
- LOCATION: la località dell'appartenenza al parco risorse del cluster GKE, ad esempio
global
- MEMBERSHIP_NAME: il nome dell'appartenenza al parco risorse del cluster GKE
Esegui il deployment dell'immagine container
Esegui il deployment dell'immagine container come segue:
Configura le variabili di ambiente:
POD_NAME=POD_NAME IMAGE_PATH=IMAGE_PATH IMAGE_DIGEST=IMAGE_DIGEST
Sostituisci quanto segue:
- POD_NAME: il nome che vuoi utilizzare per il carico di lavoro GKE
- IMAGE_PATH: percorso dell'immagine in Artifact Registry, Container Registry o un altro registro.
IMAGE_DIGEST: il digest del manifest dell'immagine. Ecco alcuni esempi:
- Artifact Registry:
- Percorso:
us-docker.pkg.dev/google-samples/containers/gke/hello-app
- Sintesi:
sha256:37e5287945774f27b418ce567cd77f4bbc9ef44a1bcd1a2312369f31f9cce567
- Percorso:
- Container Registry:
- Percorso:
gcr.io/google-samples/hello-app
- Sintesi:
sha256:c62ead5b8c15c231f9e786250b07909daf6c266d0fcddd93fea882eb722c3be4
- Percorso:
Per scoprire come ottenere il digest di un'immagine in Artifact Registry, consulta Gestione delle immagini; per un'immagine in Container Registry, consulta Elenco delle versioni di un'immagine.
- Artifact Registry:
Esegui il deployment dell'immagine utilizzando il comando
kubectl run
.Devi eseguire il deployment dell'immagine utilizzando il digest anziché un tag come
1.0
olatest
, poiché Autorizzazione binaria utilizza sia il percorso dell'immagine sia il digest per cercare le attestations.Per eseguire il deployment dell'immagine, esegui questo comando
kubectl
:kubectl run ${POD_NAME} \ --image ${IMAGE_PATH}@${IMAGE_DIGEST}
Ora verifica che il deployment sia stato bloccato da Autorizzazione binaria:
kubectl get pods
Il tuo pod viene visualizzato nell'elenco.
Fail open
Il processo di applicazione non riesce se i cluster GKE o GKE non sono in grado di raggiungere il server di Autorizzazione binaria per qualsiasi motivo. Ad esempio, se esegui il deployment di un'immagine container e l'applicazione forzata di Autorizzazione binaria non è raggiungibile a causa di un'interruzione della rete, viene eseguito il deployment dell'immagine, anche se l'autorità di applicazione l'ha bloccata. Se Cloud Audit Logs è abilitato, la voce di log indica l'immagine di cui è stato eseguito il deployment con una condizione di fail open.
Esegui il deployment di immagini che violano il criterio
Autorizzazione binaria supporta una funzionalità nota come deployment di emergenza che consente il deployment di un'immagine, anche se viola il criterio.
Per ulteriori informazioni, consulta Utilizzare il deployment di emergenza
Esegui la pulizia
Per eseguire la pulizia, elimina il pod eseguendo questo comando:
kubectl delete pod ${POD_NAME}
Passaggi successivi
- Scopri di più sulla modalità di prova.
- Scopri come utilizzare il CV.
- Scopri come utilizzare la convalida continua legacy (ritirata).
- Scopri come utilizzare i digest delle immagini nei manifest di Kubernetes.