Caricamento della configurazione modificata
Creare un file di definizione runtime per mappare le specifiche software personalizzate definite all'immagine personalizzata creata sul cluster.
Alcuni dei comandi di scripting qui forniti utilizzano jq, uno strumento open source noto anche come processore JSON che aiuta a formattare i file JSON in un terminale shell.
Ruolo richiesto : è necessario essere amministratori Cloud Pak for Data dell'istanza per registrare una definizione di runtime per una nuova immagine.
Per caricare la configurazione modificata:
- Ottieni il token di autorizzazione API richiesto e salva il token nella variabile
TOKENdi ambiente:export TOKEN=<base64-encoded-user-api-pair> - Utilizzando la definizione di runtime scaricata in formato JSON
${myRuntimeDefinition}-server.jsoncome modello, creare una nuova definizione di runtime per l'immagine personalizzata e copiarla nel file JSON delle specifiche$SW_SPEC_NAME-server.jsondel software.Ad esempio, utilizzare il seguente codice di esempio per creare una nuova definizione di runtime e copiarla nel file delle specifiche del software:
Suggerimento: aggiungi-server.jsonseguito dal nome dell'immagine personalizzata e dalle specifiche del software.cp ${myRuntimeDefinition}-server.json $SW_SPEC_NAME-server.json - Aggiorna i parametri per ottenere la definizione di runtime per la tua immagine personalizzata utilizzando
runtime_definition_templateconGET v2/runtime_definitions.Segui queste istruzioni per impostare i parametri del tuo nuovo file JSON:
- Inserisci un nome per il tuo parametro in
.name.Suggerimento:Per seguire la convenzione di denominazione, mantenere il nome della definizione di runtime (valore del
nameparametro) uguale al nome delle specifiche software per l'immagine personalizzata. - Inserisci un breve
.display_nameper il tuo parametro. - Fornisci una breve descrizione
.descriptiondel tuo parametro. - Imposta il valore di
.runtime_typesu wml. - Inserisci il nome delle specifiche del software per immagini personalizzate in
.launch_configuration.software_specification_name. - Inserisci il percorso completo del registro per la tua immagine personalizzata in
.launch_configuration.image. Per ulteriori informazioni, consulta Carica l'immagine nel registro dei container.Importante:Il
CUSTOM_IMAGEparametro deve essere impostato sull'immagine personalizzata richiesta con il percorso completo del registro privato.
È possibile utilizzare
jqper aggiornare questi campi.Il seguente frammento di codice mostra come utilizzare
jqper impostare i parametri richiesti:jq --arg rdname "$SW_SPEC_NAME" \ --arg description "The description" \ --arg runtime_type "wml" \ --arg sw_spec_name "$SW_SPEC_NAME" \ --arg image "$CUSTOM_IMAGE" \ '.name = $rdname | .display_name = $rdname | .description = $description | .runtime_type = $runtime_type | .launch_configuration.software_specification_name = $sw_spec_name | .launch_configuration.image = $image' \ ${myRuntimeDefinition}-server.json > $SW_SPEC_NAME-server.jsonÈ necessario assicurarsi che il file JSON di definizione del runtime personalizzato sia corretto. Per farlo, esegui:
cat $SW_SPEC_NAME-server.json | jq "." - Inserisci un nome per il tuo parametro in
- Carica la definizione di runtime per la tua immagine personalizzata utilizzando
POST /v2/runtime_definitions: Ad esempio, utilizza il seguente codice di esempio per caricare la tua definizione di runtime:curl -ksS -X POST "$CPD_URL/v2/runtime_definitions" \ -H 'Content-Type: application/json' \ -H "Authorization: ZenApiKey ${TOKEN}" \ -d @"$SW_SPEC_NAME-server.json" | jq "."Output di esempio:
{ "metadata": { "guid": "8112892c-38e0-5c15-82d3-0da9d5b2e793", "created_at": "2023-11-10T06:38:49.383Z" }, "entity": { "name": "ci-sw_spec", "display_name": "ci-sw_spec", "description": "Runtime definition for IBM Runtime 24.1 on Python 3.11 ", "author": "IBM", "tested": true, "is_service": true, "built_in": false, "features": [ "wml" ], "runtime_type": "wml", "software_configuration": {} } } - Verificare se la nuova definizione di runtime è disponibile nell'endpoint REST utilizzando
GET /v2/runtime_definitions.Ad esempio, utilizzare il seguente codice di esempio per verificare se è disponibile una nuova definizione di runtime:
curl -ksS -H "Authorization: ZenApiKey ${TOKEN}" \ -X GET $CPD_URL/v2/runtime_definitions | jq ".resources[] | select(.entity.name == \"$SW_SPEC_NAME\")"Output di esempio:
{ "metadata": { "guid": "8112892c-38e0-5c15-82d3-0da9d5b2e793", "created_at": "2023-11-10T06:38:49.383Z" }, "entity": { "name": "ci-sw_spec", "display_name": "ci-sw_spec", "description": "Runtime definition for IBM Runtime 24.1 on Python 3.11 ", "author": "IBM", "tested": true, "is_service": true, "built_in": false, "features": [ "wml" ], "runtime_type": "wml", "software_configuration": {} } }Ora è possibile utilizzare il runtime personalizzato e le specifiche software nelle distribuzioni.
Passi successivi
Salva il modello addestrato che desideri distribuire con l'immagine personalizzata nel Watson Machine Learning repository dell'immagine personalizzata.