Scopri come creare un secret e configurare Knative serving e revisioni per utilizzare quel secret.
Un caso d'uso comune per un servizio è l'accesso ad applicazioni di terze parti tramite nomi utente e password. Per Google Kubernetes Engine, una best practice consiste nel questo tipo di informazioni sensibili in un cluster Kubernetes Secret.
Per fornire ai tuoi container l'accesso ai secret, puoi montare ogni secret come un volume, che rende le voci nel secret disponibili per il container come . Devi montare il tuo secret per assicurarti di avere l'ultima versione ogni Secret quando viene letto.
Puoi anche passare un secret utilizzando variabili di ambiente.
Creazione di un secret
I passaggi seguenti mostrano semplicemente come creare un secret, diversi modi per creare un secret, come spiegato nella Segreto per ogni argomento.
Quando crei un secret, assicurati di crearlo nello stesso spazio dei nomi del
cluster che esegue il tuo servizio Knative serving. In queste
esempi, viene utilizzato lo spazio dei nomi default
.
Per creare un secret nello spazio dei nomi default
del tuo cluster:
Crea un secret utilizzando un file:
echo -n 'devuser' > ./username.txt echo -n 'S!B\*d$zDsb' > ./password.txt kubectl create secret generic user-creds --from-file=./username.txt --from-file=./password.txt
Crea un secret utilizzando solo un comando
kubectl
:kubectl create secret generic user-creds --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb'
Rendere un secret disponibile per un servizio
Puoi associare i secret a un servizio utilizzando la console Google Cloud oppure a riga di comando, quando esegui il deployment service o aggiornare un servizio esistente esegui il deployment di una revisione:
Console
Vai a Knative serving nella console Google Cloud:
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un'istanza servizio esistente, fai clic sul servizio e poi su Modifica e Esegui il deployment della nuova revisione.
In Impostazioni avanzate, fai clic su Variabili e secret.
In Riferimento a un secret, seleziona la dal menu a discesa.
- Nel Metodo di riferimento menu a discesa, seleziona il modo in cui vuoi utilizzare il secret, montato come o esposti come variabili di ambiente.
- Se utilizzi il montaggio come volume, specifica il percorso, quindi fai clic su Fine.
- Se l'esposizione avviene come variabili di ambiente:
- Specifica il nome della variabile e seleziona la corrispondente Valore del secret dal menu a discesa Chiave.
- Fai clic su Aggiungi per aggiungere un altro valore del secret.
- Specifica il nome della variabile e seleziona la corrispondente Valore del secret dal menu a discesa Chiave.
- Fai clic su Fine.
Fai clic su Avanti per passare alla sezione successiva.
Nella sezione Configura il modo in cui viene attivato questo servizio, seleziona la connettività da utilizzare per richiamare il servizio.
Fai clic su Crea per eseguire il deployment dell'immagine in Knative serving e attendi. per completare il deployment.
gcloud
Puoi utilizzare Google Cloud CLI per associare i secret con nuovi servizi o per aggiornare servizi esistenti:
Per i servizi esistenti, aggiorna un secret eseguendo
gcloud run services update
con uno dei seguenti parametri:Esempio:
gcloud run services update SERVICE --update-secrets KEY1=VALUE1,KEY2=VALUE2
Sostituisci:
- SERVICE con il nome del tuo servizio.
- KEY1=VALUE1,KEY2=VALUE2 separati da una virgola
elenco di coppie di nomi e valori per ogni secret.
Per ogni KEY specificato
il percorso iniziando con una barra
/
per montare un secret come file. Facoltativamente, puoi escludere la barra per montare il secret come variabile di ambiente. Per ogni VALUE, specifica il nome del secret. Come specificare più parametri.
Opzioni dei parametri del comando
Per specificare diversi insiemi di coppie chiave/valore, è possibile specificare più parametri per la leggibilità. Esempio:[...] --update-secrets "KEY=VALUE1" \ --update-secrets "KEY=VALUE2" \ --update-secrets "KEY=VALUE3"
Per i nuovi servizi, associa un secret eseguendo il comando
gcloud run deploy
con--set-secrets
:gcloud run deploy SERVICE --image=IMAGE_URL --set-secrets KEY1=VALUE1,KEY2=VALUE2
Sostituisci:
- IMAGE_URL con un riferimento all'immagine container, per
ad esempio
gcr.io/cloudrun/hello
. - SERVICE con il nome del tuo servizio.
- KEY1=VALUE1,KEY2=VALUE2 separati da una virgola
elenco di coppie di nomi e valori per ogni secret.
Per ogni KEY specificato
il percorso iniziando con una barra
/
per montare un secret come file. Facoltativamente, puoi escludere la barra per montare il secret come variabile di ambiente. Per ogni VALUE, specifica il nome del secret. Come specificare più parametri.
Opzioni dei parametri del comando
Per specificare diversi insiemi di coppie chiave/valore, è possibile specificare più parametri per la leggibilità. Esempio:[...] --update-secrets "KEY=VALUE1" \ --update-secrets "KEY=VALUE2" \ --update-secrets "KEY=VALUE3"
- IMAGE_URL con un riferimento all'immagine container, per
ad esempio