Utilizzo dei segreti
Scopri come utilizzare i segreti in Code Engine. In Code Engine, puoi archiviare le tue informazioni come coppie chiave - valore nei segreti che possono essere utilizzati dalla tua funzione, lavoro o applicazione utilizzando variabili di ambiente.
Quali sono i segreti e perché dovrei usarli?
In Code Engine, i segreti (e configmap) sono una raccolta di coppie chiave - valore. Quando associate alle variabili di ambiente, le relazioni NAME=VALUE sono impostate in modo che il nome della variabile di ambiente corrisponda
alla "chiave" di ogni voce in tali mappe e il valore della variabile di ambiente sia il "valore" di tale chiave.
Un segreto fornisce un metodo per includere informazioni di configurazione sensibili, come password o chiavi SSH, nell'installazione. Facendo riferimento ai valori dal tuo segreto, puoi disaccoppiare le informazioni sensibili dalla tua distribuzione per mantenere la tua applicazione, funzione o lavoro portatile. Chiunque sia autorizzato al progetto può anche visualizzarne i segreti; assicurarsi di sapere che le informazioni segrete possono essere condivise con tali utenti. I segreti contengono informazioni in coppie chiave - valore.
Poiché i segreti e le mappe di configurazione sono entità simili (tranne che i segreti sono archiviati in modo più sicuro), anche il modo in cui si interagisce e si lavora con i segreti e le mappe di configurazione è simile. Per ulteriori informazioni sulle mappe di configurazione, consultare Utilizzo delle mappe di configurazione.
Che tipo di segreti posso creare in Code Engine?
Code Engine supporta vari segreti e fornisce opzioni per la creazione e l'utilizzo dei segreti.
La seguente tabella riepiloga i segreti supportati in Code Engine.
| Nome | Descrizione |
|---|---|
| Autenticazione di base | Un segreto che contiene una chiave username e password.Usare i segreti di autenticazione di base quando si accede a un servizio che richiede l'autenticazione di base HTTP. |
| Generico | Un segreto che memorizza coppie chiave - valore semplici e Code Engine non fa supposizioni sulle coppie chiave - valore definite né sull'utilizzo previsto del segreto. Utilizzare segreti generici quando si desidera definire le proprie coppie chiave - valore per accedere a un servizio. |
| HMAC | Un segreto che contiene una chiave access_key_id e una secret_access_key.Usare le credenziali HMAC per utilizzare gli strumenti e le librerie di S3-compatible che richiedono l'autenticazione ma non supportano le chiavi API di IBM Cloud® Identity and Access Management. |
| Registro | Un segreto che memorizza le credenziali per accedere a un registro contenitore. Utilizza i segreti di registro quando lavori con Code Engine applicazioni o lavori per accedere a un'immagine del contenitore. Oppure, utilizza Code Engine per creare un'immagine del contenitore e il segreto del registro viene utilizzato da Code Engine per accedere al registro per archiviare l'immagine del contenitore creata. Questo segreto viene indicato anche come Registry access secret nella CLI. |
| Accesso al servizio | Un segreto che memorizza le credenziali per l'accesso a un'istanza del servizio IBM Cloud. Usate i segreti di accesso ai servizi quando lavorate con i binding dei servizi in Code Engine. Code Engine può generare automaticamente questo segreto o potete creare un segreto di accesso ai servizi personalizzato. |
| SSH | Un segreto che archivia le credenziali per l'autenticazione a un servizio con una chiave SSH, come l'autenticazione a un repository Git, come GitHub o GitLab. Utilizza i segreti SSH quando vuoi che Code Engine crei un'immagine del contenitore per te. Code Engine usa questo segreto per accedere al codice sorgente in un repository di codici. Ad esempio, utilizza questo segreto con le esecuzioni di build per accedere al codice sorgente in un repository, come GitHub o GitLab. Questo segreto viene utilizzato anche come Git repository access secret nella CLI e Code repo access nella console. |
| TLS (Transport Layer Security) | Un segreto che contiene un certificato TLS firmato, inclusi tutti i relativi certificati intermedi e la chiave privata corrispondente da un'autorità di certificazione (CA). Utilizza i segreti TLS quando gestisci le associazioni di domini personalizzati in Code Engine. |
Creazione dei segreti
Utilizza i segreti per fornire informazioni sensibili alle tue applicazioni, lavori o funzioni. I segreti sono definiti in coppie chiave - valore e i dati memorizzati nei segreti sono codificati.
Creazione di un segreto dalla console
Impara come creare i segreti dalla console di Code Engine.
Informazioni su come creare i seguenti tipi di segreti dalla console.
Creazione di un segreto generico dalla console
Impara come creare segreti generici dalla console Code Engine che possono essere utilizzati da funzioni, lavori o applicazioni come variabili di ambiente.
Prima di iniziare, creare un progetto.
- Una volta che il tuo progetto si trova nello stato Attivo, fai clic sul nome del tuo progetto nella pagina ProgettiCode Engine.
- Dalla pagina Componenti, fare clic su Segreti e mappe di configurazione.
- Dalla pagina Secrets and configmaps, fai clic su Crea per creare il tuo segreto.
- Dalla pagina Crea segreto o configmap, completare la seguente procedura:
- Selezionare Segreto generico e fare clic su Avanti.
- Fornire un nome, ad esempio
mysecret-generic. - Fare clic su Aggiungi coppia chiave-valore. Specificare una o più coppie chiave - valore per questo segreto. Ad esempio, specificare una chiave come
secret1con il valoremysecret1e specificare un'altra chiave comesecret2con il valoretarget-secret. Il nome che scegli per la tua chiave non deve necessariamente essere lo stesso della tua variabile di ambiente. Si noti che il valore per la chiave è nascosto, ma può essere visualizzato se necessario. - Fare clic su Crea per creare il segreto.
Ora che il tuo segreto è stato creato dalla console, vai alla pagina Secrets and configmaps per visualizzare un elenco di segreti e configmap definiti. È possibile applicare filtri per personalizzare l'elenco in base alle proprie esigenze.
Creare un segreto HMAC dalla console
Imparate a creare segreti HMAC dalla console Code Engine che possono essere utilizzati da funzioni, lavori o applicazioni come variabili d'ambiente. Sono utilizzati con gli strumenti e le librerie di S3-compatible che richiedono l'autenticazione ma non supportano le chiavi API di IBM Cloud® Identity and Access Management.
Prima di iniziare, creare un progetto.
- Una volta che il tuo progetto si trova nello stato Attivo, fai clic sul nome del tuo progetto nella pagina ProgettiCode Engine.
- Dalla pagina Componenti, fare clic su Segreti e mappe di configurazione.
- Dalla pagina Secrets and configmaps, fai clic su Crea per creare il tuo segreto.
- Dalla pagina Crea segreto o configmap, completare la seguente procedura:
- Selezionare HMAC secret e fare clic su Avanti.
- Fornire un nome, ad esempio
mysecret-hmac. - Specificare l'ID della chiave di accesso.
- Specificare la chiave di accesso segreta. Si noti che il valore per la chiave è nascosto, ma può essere visualizzato se necessario.
- Fare clic su Crea per creare il segreto.
Ora che il tuo segreto è stato creato dalla console, vai alla pagina Secrets and configmaps per visualizzare un elenco di segreti e configmap definiti. È possibile applicare filtri per personalizzare l'elenco in base alle proprie esigenze.
Per ulteriori informazioni sui segreti HMAC, vedere IBM Cloud Object Storage- Chiave API vs HMAC.
Creazione di un segreto di registro dalla console
Impara come creare i segreti di registro dalla console Code Engine che possono essere utilizzati da funzioni, lavori, app o build per l'accesso per eseguire il pull o il push di un'immagine del contenitore.
Prima di iniziare, creare un progetto.
- Una volta che il tuo progetto si trova nello stato Attivo, fai clic sul nome del tuo progetto nella pagina ProgettiCode Engine.
- Dalla pagina Componenti, fare clic su Segreti e mappe di configurazione.
- Dalla pagina Secrets and configmaps, fai clic su Crea per creare il tuo segreto.
- Dalla pagina Crea segreto o configmap, completare la seguente procedura:
- Selezionare Segreto registro e fare clic su Avanti.
- Fornire un nome, ad esempio
mysecret-registry. - Specifica il registro di destinazione per questo segreto, come IBM Cloud Container Registry o Docker Hub.
- Specificare la posizione del registro.
- Specificare un nome utente. Se questo segreto è per IBM Cloud Container Registry, il nome utente è
iamapikey. Se questo segreto è per Docker Hub, è il tuo ID Docker. - Immettere le credenziali per il nome utente. Per IBM Cloud Container Registry, utilizza la chiave API IAM. Per Docker Hub, puoi utilizzare la tua password Docker Hub o un token di accesso. Per altri registri di destinazione, specificare la parola d'ordine o la chiave API per il nome utente.
- Fare clic su Crea per creare il segreto.
Ora che il tuo segreto è stato creato dalla console, vai alla pagina Secrets and configmaps per visualizzare un elenco di segreti e configmap definiti. È possibile applicare filtri per personalizzare l'elenco in base alle proprie esigenze.
Per ulteriori informazioni sull'utilizzo dei registri delle immagini, consulta Accesso ai registri dei contenitori.
Creazione di un segreto SSH dalla console
Scopri come creare un segreto SSH dalla console che può essere utilizzato dalle build per accedere a repository di codice sorgente privati. Un segreto SSH memorizza le credenziali per l'autenticazione a un servizio con una chiave SSH, come l'autenticazione a un repository Git, come GitHub o GitLab.
Prima di iniziare, creare un progetto.
- Una volta che il tuo progetto si trova nello stato Attivo, fai clic sul nome del tuo progetto nella pagina ProgettiCode Engine.
- Dalla pagina Componenti, fare clic su Segreti e mappe di configurazione.
- Dalla pagina Secrets and configmaps, fai clic su Crea per creare il tuo segreto.
- Dalla pagina Crea segreto o configmap, completare la seguente procedura:
- Selezionare Segreto SSH e fare clic su Avanti.
- Fornire un nome, ad esempio
mysecret-ssh. - Aggiungere la chiave privata SSH per questo segreto.
- Fare clic su Crea per creare il segreto.
Ora che il tuo segreto è stato creato dalla console, vai alla pagina Secrets and configmaps per visualizzare un elenco di segreti e configmap definiti. È possibile applicare filtri per personalizzare l'elenco in base alle proprie esigenze.
Utilizza il tuo segreto SSH quando utilizzi i repository di codice privati, come i repository Git. Consultare Accesso ai repository di codice privato.
Creazione di un segreto TLS dalla console
Impara come creare un segreto TLS dalla console che può essere utilizzato dalle applicazioni quando gestisci le associazioni di dominio personalizzate in Code Engine. Un segreto TLS (Transport Layer Security) contiene un certificato TLS firmato, inclusi tutti i relativi certificati intermedi e la chiave privata corrispondente da una CA (Certificate Authority).
Prima di iniziare, creare un progetto.
- Una volta che il tuo progetto si trova nello stato Attivo, fai clic sul nome del tuo progetto nella pagina ProgettiCode Engine.
- Dalla pagina Componenti, fare clic su Segreti e mappe di configurazione.
- Dalla pagina Secrets and configmaps, fai clic su Crea per creare il tuo segreto.
- Dalla pagina Crea segreto o configmap, completare la seguente procedura:
- Selezionare Segreto TLS e fare clic su Avanti.
- Fornire un nome, ad esempio
mysecret-tls. - Aggiungere la catena di certificati e la sua chiave privata. È possibile concatenare i certificati iniziando ciascuno su una nuova riga. È possibile fornire queste informazioni in un file.
- Fare clic su Crea per creare il segreto.
Ora che il tuo segreto è stato creato dalla console, vai alla pagina Secrets and configmaps per visualizzare un elenco di segreti e configmap definiti. È possibile applicare filtri per personalizzare l'elenco in base alle proprie esigenze.
Utilizza il tuo segreto TLS quando gestisci le associazioni del dominio personalizzato in Code Engine.
Creazione di segreti con la CLI
Impara come creare i segreti con la CLI Code Engine che può essere utilizzata da applicazioni, lavori o funzioni come variabili di ambiente.
Prima di iniziare
- Imposta il tuo ambiente CLICode Engine.
- Creare e utilizzare un progetto.
A partire dalla versione della CLI 1.42.0, la definizione e l'utilizzo dei segreti nella CLI sono unificati nel gruppo di comandi secret del gruppo di comandi. Consultare i comandi ibmcloud ce secret.
Utilizzare l'opzione --format per specificare la categoria del segreto, ad esempio basic_auth, generic, hmac, ssh, tls, o registry. Il valore predefinito
dell'opzione --format è generic.
Utilizzando il comando secret create, è possibile creare e gestire vari formati segreti. Per le descrizioni dei vari formati segreti, vedi Che tipo di segreto posso creare in Code Engine?
Impara a creare i seguenti tipi di segreti con la CLI,
Creazione di un segreto di autenticazione di base con la CLI
Un segreto di autenticazione di base contiene un nome utente e una password e viene usato per accedere a un servizio che richiede l'autenticazione di base HTTP. L'esempio seguente crea un segreto di autenticazione di base con credenziali
per myusername e la parola d'ordine associata viene fornita in un file sulla workstation locale
ibmcloud ce secret create --name mysecret-basicauth --format basic_auth --username myusername --password-from-file ./password.txt
Per visualizzare i dettagli di questo segreto,
ibmcloud ce secret get --name mysecret-basicauth
Output di esempio
Getting secret 'mysecret-basicauth'...
OK
Name: mysecret-basicauth
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: basic_auth
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2021-03-10T18:44:18-05:00
Data:
---
password: REDACTED
username: bXl1c2VybmFtZQ==
Nota che il valore della chiave username per questo segreto di autenticazione di base è codificato e il valore di password viene redatto. Per visualizzare i dati segreti come decodificati, utilizzare l'opzione --decode con il comando secret get.
Creazione di un segreto generico con la CLI
Un segreto generico memorizza coppie chiave - valore semplici e Code Engine non fa ipotesi sulle coppie chiave - valore definite né sull'utilizzo previsto del segreto.
È possibile creare un segreto generico con il comando secret create in uno dei modi riportati di seguito. Per impostazione predefinita, viene creato un segreto generico quando l'opzione --format non è specificata.
-
Crea un segreto direttamente dalla riga di comando utilizzando l'opzione
--from-literalin formatoKEY=VALUE. Ad esempio,ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My literal secret" -
Creare un segreto utilizzando l'opzione
--from-fileper puntare a un file. Utilizzando questa opzione, tutto il contenuto del file diventa il valore per la coppia chiave - valore. Per questo esempio, utilizzare un file denominatosecrets.txt, che contienemy little secret1.-
Il seguente esempio utilizza il formato
--from-file KEY=FILEcon il comandosecret create:ibmcloud ce secret create --name mysecretmsg1 --from-file TARGET=secrets.txt -
Il seguente comando di esempio utilizza il formato di
--from-file FILEcon il comandosecret create. In questo esempioTARGET(nessuna estensione) è il nome del file, che è uguale al nome della variabile di ambiente nota al lavoro.ibmcloud ce secret create --name mysecretmsg2 --from-file TARGET
-
-
Creare un segreto utilizzando l'opzione
--from-env-fileper puntare a un file che contiene una o più righe che corrispondono al formatoKEY=VALUE. Ogni riga del file specificato viene aggiunta come una coppia chiave - valore. Le righe nel file specificato che sono vuote o che iniziano con#vengono ignorate. Per questo esempio, utilizzare un file denominatosecrets_multi.txt, che contenga le coppie chiave - valoresec1=mysec1,sec2=mysec2esec3=mysec3.ibmcloud ce secret create --name mysecretmulti --from-env-file secrets_multi.txt
Se si desidera creare (o aggiornare) un segreto generico da un file, utilizzare l'opzione --from-file con uno dei seguenti formati: --from-file FILE o --from-file KEY=FILE In Code Engine, quando si
utilizza l'opzione --from-file per specificare i valori segreti, tutto il contenuto nel file è il valore per la coppia chiave - valore. Quando utilizzi il formato dell'opzione --from-file KEY=FILE, il
KEY è il nome della variabile di ambiente nota al tuo lavoro, alla tua funzione o alla tua applicazione. Quando utilizzi il formato dell'opzione --from-file FILE, FILE è il nome della variabile di
ambiente nota al tuo lavoro, alla tua funzione o alla tua applicazione. Se il file contiene una o più coppie chiave - valore, utilizzare l'opzione --from-env-file per aggiungere una variabile di ambiente per ogni coppia chiave
- valore nel file specificato. Le righe nel file specificato che sono vuote o che iniziano con # vengono ignorate.
Per visualizzare i dettagli del segreto generico, myliteralsecret,
ibmcloud ce secret get --name myliteralsecret
Output di esempio
Getting secret 'myliteralsecret'...
OK
Name: myliteralsecret
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: generic
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 21:06:34 +0000 UTC
Data:
---
TARGET: TXkgbGl0ZXJhbCBzZWNyZXQ=
Notare che il valore della chiave TARGET per questo segreto generico è codificato. Per visualizzare i dati segreti come decodificati, utilizzare l'opzione --decode con il comando secret get.
Creazione di un segreto HMAC con la CLI
Un segreto HMAC contiene una access_key_id e una secret_access_key chiave e viene utilizzato con S3-compatible strumenti e librerie che richiedono l'autenticazione ma non supportano IBM Cloud® Identity and Access
Management chiavi API. Vedere IBM Cloud Object Storage- Chiave API vs HMAC quando utilizzare le chiavi API IBM Cloud®
Identity and Access Management o le credenziali HMAC. L'esempio seguente crea un segreto HMAC con credenziali di esempio, da fornire quando richiesto.
ibmcloud ce secret create --name mysecret-hmac --format hmac --access-key-id-prompt --secret-access-key-prompt
Per visualizzare i dettagli di questo segreto,
ibmcloud ce secret get --name mysecret-hmac
Output di esempio
Getting secret 'mysecret-hmac'...
OK
Name: mysecret-hmac
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: hmac_auth
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 86s
Created: 2025-05-15T12:41:15-05:00
Data:
---
access_key_id: MWEyYjNjNGQ1ZTZmMWEyYjNjNGQ1ZTZmMWEyYjNjNGQK
secret_access_key: REDACTED
Si noti che il valore della chiave access_key_id per questo segreto HMAC è codificato, mentre il valore di secret_access_key è stato eliminato. Per visualizzare i dati segreti come decodificati, utilizzare l'opzione
--decode con il comando secret get.
Creazione di un segreto di registro con la CLI
Un segreto del registro memorizza le credenziali per accedere a un registro del contenitore.
Il seguente esempio crea una parola segreta del registro denominata mysecret-registry per accedere a un'istanza IBM Cloud Container Registry che si trova sul server del registro us.icr.io e specifica credenziali
per username e password.
ibmcloud ce secret create --name mysecret-registry --format registry --server us.icr.io --username iamapikey --password API_KEY
Per visualizzare i dettagli di questo segreto,
ibmcloud ce secret get --name mysecret-registry
Output di esempio
Getting secret 'mysecret-registry'...
OK
Name: mysecret-registry
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: registry
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 20:00:45 +0000 UTC
Data:
---
email: ""
password: REDACTED
server: dXMuaWNyLmlv
username: aWFtYXBpa2V5
Nota che il valore delle chiavi username e server per questo segreto di registro è codificato e il valore di password è redatto. Per visualizzare i dati segreti come decodificati, utilizzare l'opzione
--decode con il comando secret get.
Creazione di un segreto SSH con la CLI
Un segreto SSH memorizza le credenziali per l'autenticazione a un servizio con una chiave SSH; ad esempio, l'autenticazione a un repository Git, come GitHub o GitLab.
Il seguente esempio crea un segreto SSH denominato mysecret-ssh per accedere a un host incluso nel file known_hosts mediante l'autenticazione con un file di chiave privata SSH non crittografato che si trova in /<filepath>/.ssh/<key_name>,
dove <filepath> è il percorso sulla tua workstation locale. Questo comando richiede un nome e un percorso chiave e consente anche altri argomenti facoltativi come il percorso del file host noto.
ibmcloud ce secret create --name mysecret-ssh --format ssh --key-path ~/.ssh/<key_name> --known-hosts-path ~/.ssh/known_hosts
Per visualizzare i dettagli di questo segreto,
ibmcloud ce secret get --name mysecret-ssh
Output di esempio
Getting secret 'mysecret-ssh'...
OK
Name: mysecret-ssh'
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: ssh
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 19:19:59 +0000 UTC
Data:
---
known_hosts: fDF8bGh0ekpiSFVXdXRxZWg1NUlrWTk4RjdOdjJZPXxsUmhZd0txVmIwd3dSV2xzcjEySFdoWURUTG89IHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQVFFQXEyQTdoUkdtZG5tOXRVRGJPOUlEU3dCSzZUYlFhK1BYWVBDUHk2cmJUclR0dzdQSGtjY0tycHAweVZocDVIZEVJY0tyNnBMbFZEQmZPTFg5UVVzeUNPVjB3emZqSUpObEdFWXNkbExKaXpIaGJuMm1VanZTQUhRcVpFVFlQODFlRnpMUU5uUEh0NEVWVlVoN1ZmREVTVTg0S2V6bUQ1UWxXcFhMbXZVMzEveU1mK1NlOHhoSFR2S1NDWklGSW1Xd29HNm1iVW9XZjluenBJb2FTakIrd2VxcVVVbXBhYWFzWFZhbDcySitVWDJCKzJSUFczUmNUMGVPelFncWxKTDNSS3JUSnZkc2pFM0pFQXZHcTNsR0hTWlh5MjhHM3NrdWEyU21WaS93NHlDRTZnYk9EcW5UV2xnNyt3QzYwNHlkR1hBOFZKaVM1YXA0M0pYaVVGRkFhUT09CnwxfEpUSjI4MCt0RkFSMGcxZ3VrZW56U3ZBYm5sQT18RDlSUWppenZlR3UxS0FnNjhNeisrUHM3RmZrPSBlY2RzYS1zaGEyLW5pc3RwMjU2IEFBQUFFMlZqWkhOaExYTm9ZVEl0Ym1semRIQXlOVFlBQUFBSWJtbHpkSEF5TlRZQUFBQkJCRW1LU0VOalFFZXpPbXhrWk15N29wS2d3RkI5bmt0NVlScllNak51RzVOODd1UmdnNkNMcmJvNXdBZFQveTZ2MG1LVjBVMncwV1oyWUIvKytUcG9ja2c9CnwxfDhIOXpNb0VORklZVDNPeVZYWlQrY25wb0srND18dVdhVThFV1FPc0ttSDMzREVVd0xnNUtiUk44PSBzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJT01xcW5rVnpybTBTZEc2VU9vcUtMc2FiZ0g1Qzlva1dpMGRoMmw5R0tKbAo=
ssh-privatekey: REDACTED
Nota che il valore della chiave known_hosts per questo segreto SSH è codificato e il valore di ssh-privatekey è redatto. Per visualizzare i dati segreti come decodificati, utilizzare l'opzione --decode con il comando secret get.
Creazione di un segreto TLS con la CLI
Un segreto TLS (Transport Layer Security) contiene un certificato TLS firmato, inclusi tutti i relativi certificati intermedi e la chiave privata corrispondente da una CA (Certificate Authority). Utilizzare i segreti TLS quando si utilizzano le associazioni di dominio personalizzate.
Il seguente esempio crea un segreto TLS denominato mysecret-tls. La catena di certificati che corrisponde al dominio personalizzato è contenuta nel file certificate.txt e il file della chiave privata corrispondente
è contenuto nel file privatekey.txt. In questo esempio, entrambi questi file si trovano nella directory root della workstation locale.
ibmcloud ce secret create --name mysecret-tls --format tls --cert-chain-file certificate.txt --private-key-file privatekey.txt
Per visualizzare i dettagli di questo segreto,
ibmcloud ce secret get --name mysecret-tls
Output di esempio
Getting secret 'mysecret-tls'...
OK
Name: mysecret-tls'
ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
Format: tls
Project Name: myproject
Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111
Age: 66s
Created: 2023-03-07 16:14:46 +0000 UTC
Data:
---
tls.crt: REDACTED
tls.key: REDACTED
Elencare i segreti con la CLI
Una volta creati i segreti, utilizzare il comando secret list per elencare tutti i segreti nel progetto. Ad esempio,
ibmcloud ce secret list
Output di esempio
Listing secrets...
OK
Name Format Data Age
ce-auto-icr-private-us-south registry 4 333d
ce-auto-private-icr-us-south registry 4 335d
myregistry-seccmd registry 4 3h31m
mysecret-basicauth basic_auth 2 7m37s
mysecret-generic generic 1 7m7s
mysecret-genericfromfile generic 2 2m29s
mysecret-hmac hmac_auth 2 21m
mysecret-registry registry 4 111s
mysecret-ssh ssh_auth 2 42m
mysecret-tls tls 2 3h47m
Aggiornamento segreti
È possibile modificare le coppie chiave - valore per i segreti esistenti.
Aggiornamento dei segreti dalla console
È possibile aggiornare le coppie chiave - valore per i segreti definiti dalla console.
-
È possibile aggiornare le coppie chiave - valore per i segreti definiti dalla console in uno dei seguenti modi.
- Andare alla pagina Segreti e mappe di configurazione per il progetto e individuare il segreto che si desidera aggiornare. Fare clic sul nome del segreto che si desidera aggiornare per aprirlo.
- Se il tuo segreto è indicato da un'applicazione, un lavoro o una funzione, utilizza i link nella tabella delle variabili di ambiente nella scheda Variabili di ambiente della tua applicazione, lavoro o funzione. Questi link ti portano direttamente al segreto. In alternativa, è possibile anche andare alla pagina Segreti e mappe di configurazione per il progetto e individuare il segreto che si desidera aggiornare. Fare clic sul nome del segreto che si desidera aggiornare per aprirlo.
-
Fare clic su Modifica e apportare gli aggiornamenti per il segreto.
-
Fare clic su Salva per salvare le modifiche al segreto.
Se un lavoro, una funzione o un'app fa riferimento al tuo segreto aggiornato, il tuo lavoro, la tua funzione o la tua applicazione devono essere riavviati per rendere effettivi i nuovi dati.
- App - Dalla pagina della tua app, fai clic su Nuova revisione e quindi su Salva e distribuisci. In alternativa, puoi attendere che la tua applicazione venga ridimensionata a zero e quando l'applicazione viene ridimensionata, l'app utilizza il segreto aggiornato.
- Lavori - Dalla pagina per il lavoro, fare clic su Inoltra lavoro per eseguire il lavoro oppure è possibile rieseguire un lavoro. Questa nuova esecuzione lavoro utilizza il segreto aggiornato.
- Funzioni - Dalla pagina della funzione, fare clic su Verifica funzione. Se il browser è aperto alla funzione URL, aggiornare il browser.
Aggiornamento dei segreti con la CLI
È possibile aggiornare un segreto esistente e le relative coppie chiave - valore con la CLI.
-
Per modificare il valore di una coppia chiave - valore in un segreto definito, utilizzare il comando
secret update. Aggiorniamo il segretomysecret-registryper utilizzare un server differente.ibmcloud ce secret update --name mysecret-registry --format registry --server <new_server> --username <new_username> --password <password> -
Ora che il tuo segreto è aggiornato, utilizza il comando
secret getper visualizzare i dettagli su un segreto specifico. Se necessario, utilizzare l'opzione--decodeper visualizzare i dati segreti come decodificati. Ad esempio,ibmcloud ce secret get --name mysecret-registry --decodeOutput di esempio
Getting generic secret 'mysecret-registry'... OK Name: mysecret-registry ID: abcdefgh-abcd-abcd-abcd-c88e2775388e Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 21m Created: 2023-03-07 20:00:45 +0000 UTC Data: --- email: "" password: REDACTED server: newserver username: newuser
Riferimento ai segreti
Il tuo lavoro, funzione o applicazione può utilizzare e utilizzare le informazioni archiviate in un segreto utilizzando le variabili di ambiente.
Riferimento ai segreti dalla console
Puoi utilizzare la console per creare variabili di ambiente per le tue applicazioni, i tuoi lavori e le tue funzioni che fanno riferimento completamente a un segreto o a singole chiavi in un segreto.
Prima di poter fare riferimento a un segreto, è necessario che esista. Vedere creazione di un segreto. Per questo esempio, crea un segreto denominato target-secret con la coppia chiave - valore TARGET=Sunshine.
-
Per fare riferimento a un segreto definito dalle tue app, lavori e funzioni, crea una variabile di ambiente. La variabile di ambiente può fare riferimento completamente a un segreto esistente o a una singola chiave in un segreto esistente. Quando si fa riferimento completamente a un segreto (o configmap), è possibile specificare facoltativamente un
prefix. Ad esempio, se si fa riferimento completamente al segretomysecretdall'applicazionemyappe si utilizza il prefissomysecret_, ogni chiave nel segreto ha come prefissomysecret_. -
Dopo aver creato le variabili di ambiente, è necessario riavviare le applicazioni, i lavori e le funzioni per rendere effettive le modifiche. Per le applicazioni, salva e distribuisci la tua applicazione per aggiornarla con le variabili di ambiente che hai definito. Per i lavori, inoltrare il lavoro per aggiornarlo con le variabili di ambiente definite.
-
Dopo che le applicazioni, i lavori e lo stato delle funzioni sono stati modificati in Pronto, puoi verificare l'applicazione o la funzione o eseguire il lavoro. Per un'applicazione, fare clic su Applicazione di test e quindi fare clic su Invia richiesta nel riquadro Applicazione di test. Per aprire l'applicazione in una pagina web, fare clic su Applicazione URL. Nell'esempio
myapp, poiché è stato specificato un prefisso per il segretomysecretcon riferimento completo, a tutte le chiavi di questo segreto viene fatto riferimento come variabili di ambiente e viene aggiunto il prefissomysecret_. Ad esempio, queste variabili di ambiente vengono visualizzate comemysecret_secret1=mysecret1emysecret_secret2=mysecret2.
Per aggiornare una variabile di ambiente che fa riferimento a un segreto, vedi Aggiornamento delle variabili di ambiente e considerazioni per l'aggiornamento delle variabili di ambiente.
Per rimuovere una variabile di ambiente che fa riferimento a un segreto, vedi eliminazione di variabili di ambiente.
Ad esempio, utilizziamo il segreto mysecret precedentemente definito che hai definito dalla console con un lavoro e fai riferimento completamente a questo segreto con una variabile di ambiente.
-
Creare ed eseguire un lavoro. Per questo esempio, crea un lavoro Code Engine che utilizza l'immagine
icr.io/codeengine/codeengineed esegue quindi il lavoro. Quando viene inviata una richiesta a questo lavoro di esempio, il lavoro legge la variabile di ambienteTARGETe il lavoro stampaHello ${TARGET} from Code Enginee stampa un elenco di variabili di ambiente. Se la variabile di ambienteTARGETè vuota, viene restituitoHello World from Code Engine.Dalla pagina Lavori,
- Creare un lavoro, ad esempio
myjob. - Specificare
icr.io/codeengine/codeenginecome riferimento dell'immagine. - Fare clic su Crea per creare il lavoro.
Se il carico di lavoro che vuoi utilizzare con il segreto è già definito in Code Engine, vai alla pagina Applicazioni, Lavori o Funzioni e fai quindi clic sul nome della tua applicazione, lavoro o funzione per aprire il componente.
- Creare un lavoro, ad esempio
-
Quando il lavoro viene creato, dalla pagina Lavori, fare clic sul nome del lavoro per aprirlo.
-
Aggiornare il lavoro per aggiungere un segreto come variabile di ambiente. Fare clic su Variabili di ambiente per aprire la scheda e fare clic su Aggiungi per aggiungere la variabile di ambiente.
-
Dalla pagina Aggiungi variabile di ambiente,
- Per utilizzare il segreto definito in precedenza, selezionare Riferimento segreto completo.
- Dal menu, seleziona il nome del segreto che desideri; ad esempio,
target-secret. - Fare clic su Aggiungi per aggiungere la variabile di ambiente.
- Fare clic su Salva per salvare le modifiche al lavoro.
-
Per eseguire il lavoro con una variabile di ambiente che fa riferimento a un segreto, fare clic su Inoltra lavoro. Per questo esempio, i log dell'
myjobesecuzione del lavoro visualizzanoHello Sunshine from Code Enginee stampano le variabili di ambiente, inclusi i valori dei segreti a cui si fa riferimento con le variabili di ambiente.
Riferimento ai segreto con la CLI
Per utilizzare i segreti con le applicazioni, i lavori e le funzioni, puoi configurare le variabili di ambiente che fanno riferimento completamente a un segreto o fare riferimento a singole chiavi in un segreto con la CLI.
Riferimento ai segreti esistenti con la CLI
I seguenti esempi fanno riferimento a un segreto generico, che è il segreto predefinito quando l'opzione --format non viene specificata. Utilizzare l'opzione --format per specificare la categoria del segreto, ad
esempio basic_auth, generic, ssh, tls o registry.
Per utilizzare un segreto con un carico di lavoro con la CLI, specifica l'opzione --env-from-secret nei seguenti comandi.
Il seguente esempio descrive come fare riferimento a un segreto generico esistente con un lavoro utilizzando la CLI.
-
Utilizzare il comando
secret createper creare i seguenti due segreti generici per questo scenario. Per impostazione predefinita, viene creato un segreto generico quando l'opzione--formatnon è specificata.ibmcloud ce secret create --name myliteralsecret --from-literal "TARGET=My big literal secret"ibmcloud ce secret create --name myliteralsecret2 --from-literal "TARGET=My little literal secret" -
Crea un lavoro e fai riferimento al segreto
myliteralsecret. Per questo esempio, crea un lavoro Code Engine che utilizza l'immagineicr.io/codeengine/codeengineed esegue quindi il lavoro. Quando viene inviata una richiesta a questo lavoro di esempio, il lavoro legge la variabile di ambienteTARGETe il lavoro stampaHello ${TARGET} from Code Enginee stampa un elenco di variabili di ambiente. Se la variabile di ambienteTARGETè vuota, viene restituitoHello World from Code Engine.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine --array-indices 2-3 --env-from-secret myliteralsecret -
Eseguire il lavoro
myjob.ibmcloud ce jobrun submit --name myjobrun --job myjob -
Utilizzare il comando
jobrun getper visualizzare i dettagli dell'esecuzione del lavoro, incluse le istanze dell'esecuzione del lavoro.ibmcloud ce jobrun get --name myjobrunOutput di esempio
Getting jobrun 'myjobrun'... Getting instances of jobrun 'myjobrun'... Getting events of jobrun 'myjobrun'... Run 'ibmcloud ce jobrun events -n myjobrun' to get the system events of the job run instances. Run 'ibmcloud ce jobrun logs -f -n myjobrun' to follow the logs of the job run instances. OK Name: myjobrun [...] Job Ref: myjob Environment Variables: Type Name Value Secret full reference myliteralsecret Image: icr.io/codeengine/codeengine Resource Allocation: CPU: 1 Ephemeral Storage: 4G Memory: 4G Runtime: Mode: task Array Indices: 2-3 Array Size: 2 JOP_ARRAY_SIZE Value: 2 Max Execution Time: 7200 Retry Limit: 3 Status: Completed: 9s Instance Statuses: Succeeded: 2 Conditions: Type Status Last Probe Last Transition Pending True 13s 13s Running True 9s 9s Complete True 9s 9s Events: Type Reason Age Source Messages Normal Updated 10s (x4 over 14s) batch-job-controller Updated JobRun "myjobrun" Normal Completed 10s batch-job-controller JobRun completed successfully Instances: Name Running Status Restarts Age myjobrun-2-0 0/1 Succeeded 0 14s myjobrun-3-0 0/1 Succeeded 0 14s -
Visualizzare i log dell'esecuzione del lavoro
myjobrun. È possibile visualizzare i log di tutte le istanze di un'esecuzione lavoro o visualizzare i log di una specifica istanza di un'esecuzione lavoro. Questa volta, visualizzare i log di tutte le istanze dell'esecuzione del job. Il log visualizzaHello my big literal secret!, che è stato specificato utilizzando una variabile di ambiente con un segreto. Si noti che per questo lavoro definito con l'immagineicr.io/codeengine/codeengine, l'output dell'esecuzione del lavoro stampa le variabili di ambiente, inclusi i valori dei segreti a cui si fa riferimento con le variabili di ambiente.ibmcloud ce jobrun logs --jobrun myjobrunOutput di esempio
Getting logs for all instances of job run 'myjobrun'... Getting jobrun 'myjobrun'... Getting instances of jobrun 'myjobrun'... OK myjobrun-2-0/myjob: Hello from helloworld! I'm a batch job! Index: 2 Hello My big literal secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrun-2-0 JOB_INDEX=2 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=My big literal secret myjobrun-3-0/myjob: Hello from helloworld! I'm a batch job! Index: 3 Hello My big literal secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrun-3-0 JOB_INDEX=3 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=My big literal secret -
Inoltrare nuovamente l'esecuzione del lavoro e specificare di utilizzare il segreto
myliteralsecret2per questa esecuzione del lavoro.ibmcloud ce jobrun resubmit --jobrun myjobrun --name myjobrunresubmit --env-from-secret myliteralsecret2Quando aggiorni un lavoro, un'applicazione o una funzione con una variabile di ambiente che fa riferimento completamente a un segreto per fare riferimento completamente a un segreto differente, i riferimenti completi sovrascrivono altri riferimenti completi nell'ordine in cui sono impostati (l'ultimo insieme di riferimento sovrascrive il primo insieme).
-
Utilizzare il comando
jobrun getper visualizzare i dettagli dell'esecuzione del lavoro, incluse le istanze dell'esecuzione del lavoro. Notare che l'esecuzione del job fa riferimento sia ai segretimyliteralsecretchemyliteralsecret2.ibmcloud ce jobrun get --name myjobrunresubmitOutput di esempio
Getting jobrun 'myjobrunresubmit'... Getting instances of jobrun 'myjobrunresubmit'... Getting events of jobrun 'myjobrunresubmit'... [...] Name: myjobrunresubmit ID: 79f01367-932b-4a76-be18-b1e68790a85b Project Name: myproject Project ID: 841f0f38-420d-4388-b5d8-f230657d7dc6 Age: 14s Created: 2021-06-15T21:15:37-04:00 Job Ref: myjob Environment Variables: Type Name Value Secret full reference myliteralsecret Secret full reference myliteralsecret2 Image: icr.io/codeengine/codeengine Resource Allocation: CPU: 1 Ephemeral Storage: 4G Memory: 4G Runtime: Mode: task Array Indices: 2-3 Array Size: 2 JOP_ARRAY_SIZE Value: 2 Max Execution Time: 7200 Retry Limit: 3 Status: Completed: 11s Instance Statuses: Succeeded: 2 Conditions: Type Status Last Probe Last Transition Pending True 14s 14s Running True 12s 12s Complete True 11s 11s Events: Type Reason Age Source Messages Normal Updated 13s (x4 over 16s) batch-job-controller Updated JobRun "myjobrunresubmit" Normal Completed 13s batch-job-controller JobRun completed successfully Instances: Name Running Status Restarts Age myjobrunresubmit-2-0 0/1 Succeeded 0 16s myjobrunresubmit-3-0 0/1 Succeeded 0 16s -
Visualizzare i log di esecuzione del lavoro di un'istanza dell'esecuzione del lavoro
myjobrunresubmit. Questa volta, visualizza i log dell'istanzamyjobrunresubmit-3-0. Il log visualizzaHello My little literal secret!, che è il valore specificato nel segreto dimyliteralsecret2. Utilizzare il comandojobrun getper visualizzare i dettagli dell'esecuzione del lavoro, incluse le istanze in esecuzione dell'esecuzione del lavoro.ibmcloud ce jobrun logs --instance myjobrunresubmit-3-0Output di esempio
Getting logs for job run instance 'myjobrunresubmit-3-0'... OK myjobrunresubmit-3-0/myjob: Hello from helloworld! I'm a batch job! Index: 3 Hello My little literal secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrunresubmit-3-0 JOB_INDEX=3 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=My little literal secret -
Per modificare il valore della coppia chiave - valore in un segreto, utilizzare il comando
secret update. Aggiorniamo il segretomyliteralsecretper modificare il valore della chiaveTARGETdaMy big literal secretaMy new big literal secret.ibmcloud ce secret update --name myliteralsecret --from-literal "TARGET=My new big literal secret" -
Per rendere effettivi i nuovi dati, eseguire di nuovo il lavoro. Inoltrare di nuovo l'esecuzione del lavoro e specificare di utilizzare il segreto
myliteralsecretper questa esecuzione del lavoro.
ibmcloud ce jobrun resubmit --jobrun myjobrun --name myjobrunresubmit2 --env-from-secret myliteralsecret
- Visualizzare i log dell'esecuzione del lavoro
myjobrunresubmit2. Questa volta, il log del lavoro visualizzaHello My new big literal secret!, che è il valore nel segretomyliteralsecretaggiornato. È possibile utilizzare il comandojobrun getper visualizzare i dettagli dell'esecuzione del job, incluse le istanze in esecuzione dell'esecuzione del job. Visualizzare i log per qualsiasi istanza in esecuzione dell'esecuzione del lavoro.
ibmcloud ce jobrun logs --instance myjobrunresubmit2-2-0
Output di esempio
Getting logs for job run instance 'myjobrunresubmit2-2-0'...
OK
myjobrunresubmit2-2-0/myjob:
Hello from helloworld! I'm a batch job! Index: 2
Hello My new big literal secret from:
. ___ __ ____ ____
./ __)/ \( \( __)
( (__( O )) D ( ) _)
.\___)\__/(____/(____)
.____ __ _ ___ __ __ _ ____
( __)( ( \ / __)( )( ( \( __)
.) _) / /( (_ \ )( / / ) _)
(____)\_)__) \___/(__)\_)__)(____)
Some Env Vars:
--------------
HOME=/root
HOSTNAME=myjobrunresubmit2-2-0
JOB_INDEX=2
KUBERNETES_PORT=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443
KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=172.21.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
TARGET=My new big literal secret
Per riepilogare, sono stati completati scenari di base per dimostrare come utilizzare i segreti con un lavoro facendo riferimento a un segreto completo esistente e aggiornando le chiavi all'interno di un segreto.
Riferimento a segreti che non sono ancora definiti con la CLI
Se un segreto non esiste prima che vi si faccia riferimento, un'applicazione non verrà distribuita correttamente e un lavoro o una funzione non verrà eseguito correttamente finché non viene creato il segreto di riferimento.
Se stai utilizzando un'applicazione, un lavoro o una funzione e il segreto a cui si fa riferimento non è ancora definito, utilizza l'opzione --force per evitare la verifica dell'esistenza del segreto a cui si fa riferimento.
L'opzione --force può essere utilizzata con i seguenti comandi.
Quando si utilizza l'opzione --force con questi comandi, l'azione per creare, aggiornare o eseguire l'applicazione, il lavoro o la funzione viene completata. Tuttavia, l'applicazione, il lavoro o la funzione non verranno eseguiti
correttamente fino a quando non esiste il segreto di riferimento. Se aggiungi l'opzione --no-wait in aggiunta all'opzione --force al comando, il sistema completa l'azione e non attende che l'applicazione, il lavoro
o la funzione vengano eseguiti correttamente.
Il seguente esempio descrive come fare riferimento a un segreto che non è ancora definito con un lavoro utilizzando la CLI.
-
Creare un lavoro. Per questo esempio, crea un lavoro Code Engine che utilizza l'immagine
icr.io/codeengine/codeengineed esegue quindi il lavoro. Quando viene inviata una richiesta a questo lavoro di esempio, il lavoro legge la variabile di ambienteTARGETe il lavoro stampaHello ${TARGET} from Code Enginee stampa un elenco di variabili di ambiente. Se la variabile di ambienteTARGETè vuota, viene restituitoHello World from Code Engine.ibmcloud ce job create --name myjob --image icr.io/codeengine/codeengine -
Utilizzare il comando
jobrun submitper eseguire il lavoromyjob. Notare che ilmynewliteralsecretnon esiste. Utilizzando l'opzione--no-waitcon il comandojobrun submit, l'esecuzione del lavoro viene inoltrata e non attende il completamento delle istanze di questo lavoro.ibmcloud ce jobrun submit --name myjobrun1 --job myjob --env-from-secret mynewliteralsecret --force --no-wait -
Utilizzare il comando
jobrun getper visualizzare i dettagli dell'esecuzione del lavoro, incluse le informazioni della variabile di ambiente. Notare che l'esecuzione del lavoro è nello statopending.ibmcloud ce jobrun get --name myjobrun1Output di esempio
Getting jobrun 'myjobrun1'... Getting instances of jobrun 'myjobrun1'... Getting events of jobrun 'myjobrun1'... [...] Name: myjobrun1 [...] Job Ref: myjob Environment Variables: Type Name Value Secret full reference mynewliteralsecret Image: icr.io/codeengine/codeengine Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Runtime: Mode: task Array Indices: 0 Array Size: 1 JOP_ARRAY_SIZE Value: 1 Max Execution Time: 7200 Retry Limit: 3 Status: Instance Statuses: Pending: 1 Conditions: Type Status Last Probe Last Transition Pending True 100s 100s Events: Type Reason Age Source Messages Normal Updated 108s (x5 over 2m29s) batch-job-controller Updated JobRun "myjobrun1" Instances: Name Running Status Restarts Age myjobrun1-0-0 0/1 Pending 0 2m29s -
Crea il segreto.
ibmcloud ce secret create --name mynewliteralsecret --from-literal "TARGET=Fun secret" -
Eseguire nuovamente il lavoro
myjobrun1.ibmcloud ce jobrun resubmit --jobrun myjobrun1 --name myjobrunresubmit1Eseguire il comando
ibmcloud ce jobrun get -n myjobrunresubmit1per controllare lo stato di questa esecuzione del lavoro. -
Visualizzare i log dell'esecuzione del lavoro
myjobrunresubmit1. I log visualizzanoHello Fun secret from Code Engine, che conferma che l'esecuzione del lavoro fa riferimento al segretomyliteralsecret.ibmcloud ce jobrun logs --jobrun myjobrunresubmit1Output di esempio
Getting logs for all instances of job run 'myjobrunresubmit1'... Getting jobrun 'myjobrunresubmit1'... Getting instances of jobrun 'myjobrunresubmit1'... OK myjobrunresubmit1-0-0/myjob: Hello from helloworld! I'm a batch job! Index: 0 Hello Fun secret from: . ___ __ ____ ____ ./ __)/ \( \( __) ( (__( O )) D ( ) _) .\___)\__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( \ / __)( )( ( \( __) .) _) / /( (_ \ )( / / ) _) (____)\_)__) \___/(__)\_)__)(____) Some Env Vars: -------------- HOME=/root HOSTNAME=myjobrunresubmit1-0-0 JOB_INDEX=0 KUBERNETES_PORT=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP=tcp://172.21.0.1:443 KUBERNETES_PORT_443_TCP_ADDR=172.21.0.1 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=172.21.0.1 KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_PORT_HTTPS=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ SHLVL=1 TARGET=Fun secret
Per scenari più dettagliati su come fare riferimento ai segreti completi e alle mappe di configurazione come variabili di ambiente, sovrascrivendo i riferimenti e rimuovendo i riferimenti nella CLI, vedi Riferimento ai segreti e alle mappe di configurazione.
Eliminazione dei segreti
Quando non si ha più bisogno di un segreto, è possibile eliminarlo.
Eliminazione dei segreti dalla console
- Per eliminare un segreto dalla console,
- Vai alla pagina Secrets and configmaps dalla tua Code Engine pagina Progetti.
- Fare clic sul segreto che si desidera eliminare per aprire la relativa pagina.
- Dalla pagina per il segreto specifico, fai clic su Azioni> Elimina segreto.
- Per eliminare una coppia chiave - valore per un segreto specifico dalla console,
- Vai alla pagina Secrets and configmaps dalla tua Code Engine pagina Progetti.
- Fare clic sul segreto che si desidera modificare per aprire la relativa pagina.
- Dalla pagina per il segreto specifico, eliminare la coppia chiave - valore che si desidera eliminare.
È anche possibile eliminare variabili di ambiente definite che fanno riferimento a segreti e mappe di configurazione. Per eliminare una variabile di ambiente definita, dalla scheda Variabili di ambiente della tua applicazione, lavoro o funzione ed eliminare la variabile di ambiente che vuoi eliminare. Dopo aver eliminato una variabile di ambiente definita, assicurati di fare clic su Salva per salvare le modifiche alla tua applicazione, lavoro o funzione. Per ulteriori informazioni, consultare Eliminazione di una variabile di ambiente.
Eliminazione dei segreti con la CLI
Per eliminare un segreto con la CLI, utilizza il comando secret delete ; ad esempio,
ibmcloud ce secret delete --name myliteralsecret -f
Output di esempio
Deleting secret myliteralsecret...
OK
Puoi inoltre eliminare le variabili di ambiente che fanno riferimento a segreti e mappe di configurazione dalla CLI.