Caricamento della configurazione personalizzata

Dopo aver registrato l'immagine personalizzata, è necessario modificare il file di configurazione JSON scaricato e caricarlo nel cluster 'IBM® Software Hub con un nuovo nome.

Importante: le definizioni di runtime personalizzate, proprio come le immagini personalizzate, richiedono una manutenzione manuale. Non vengono aggiornati automaticamente.

Prerequisiti: Ottenere un token di autorizzazione ed esportarlo come variabile d'ambiente 'TOKEN. Vedere Generazione di un token di autorizzazione API.

Per caricare la configurazione personalizzata:
  1. Aprire il file di configurazione JSON scaricato con un editor.
  2. Trovare la riga che contiene l'attributo '"image". Ha il seguente formato " "image":"<image registry>/<image name>:<image tag> e contiene un valore come " "image": "<private-registry>/wslocal-runtime-241-py@sha256:f21b54dee335c9a39de5980a41ac2a422a2bda8820b91da005dba53ba5857434"
  3. Sostituire name, display_name, description e author con i propri dati. Se il " name è composto da più parole, separare ogni parola con un trattino (ad esempio, " custom-def-name). Il " name deve essere unico tra tutte le definizioni di runtime di " IBM Software Hub. Il nome univoco fornito appare nella tendina Versione software quando si crea un modello di ambiente.
  4. Utilizza il registro URL che hai usato quando hai registrato l'immagine personalizzata.
  5. Cambiare '<image name>:<image tag> con i valori utilizzati al momento della registrazione dell'immagine personalizzata.
  6. Opzionale: Impostare le variabili definite dall'utente. Vedere Impostazione di variabili definite dall'utente.
  7. Salvare il file.
  8. Creare una definizione di runtime con le impostazioni definite nel file JSON utilizzando l'API:
    curl -k -X POST -H "Authorization: ZenApiKey ${TOKEN}" -H "Content-Type:application/json" "${CPD_URL}/v2/runtime_definitions" -d @</path/to/runtime/def/><custom-def-file-name>.json
    Nota:
    • </path/to/runtime/def/> è il percorso del file JSON di definizione del runtime sul computer locale.
    • Nel caso di richieste Python, è possibile passare il payload in linea. Ad esempio requests.post(..., data=<content of custom-def-file-name.json file>)
    • Non è possibile saltare il simbolo " @. Questo simbolo è obbligatorio.

    Se la creazione della definizione di runtime ha successo, si riceve una risposta contenente un GUID che può essere utilizzato per recuperare, aggiornare o eliminare la definizione di runtime.

  9. Assicurarsi che ogni nodo di calcolo prepari la nuova immagine personalizzata. Vedere Ottimizzazione del download delle immagini.

Impostazione di variabili definite dall'utente

È possibile aggiungere variabili d'ambiente arbitrarie al runtime, ad esempio se si desidera che gli utenti possano accedere al Web attraverso un proxy.

Le variabili aggiunte devono avere il prefisso '_userdefined_. Se si vuole impostare la variabile 'http_proxy, la variabile deve essere denominata '_userdefined_http_proxy. Se questo prefisso manca, la variabile viene filtrata e non è disponibile nel runtime.

Per impostare le variabili d'ambiente nel file di configurazione del runtime, aggiungere una sezione " env al livello superiore del file di configurazione JSON. Vedere un esempio:
"env": [
    {
        "name": "_userdefined_http_proxy",
        "value": "http://proxy:3129"
    },
    {
        "name": "_userdefined_https_proxy",
        "value": "http://proxy:3129"
    }
],
Importante: fare attenzione quando si sostituiscono variabili come 'LD_LIBRARY_PATH, perché ciò potrebbe comportare delle modifiche. Se si decide di modificare questa variabile, assicurarsi di includere il valore attuale della variabile oltre alle modifiche apportate.

Per ottenere il valore corrente, avviare il runtime ed eseguire il seguente comando: !printenv LD_LIBRARY_PATH