Gestione di una flotta

Segui questi passaggi per gestire una flotta di Code Engine tramite la CLI o la console.

Prima di iniziare

Per gestire con successo una flotta, assicuratevi di aver seguito le fasi di Preparazione alla gestione della flotta. Hai anche la possibilità di utilizzare Code Engine per creare l'immagine a cui fai riferimento quando crei la tua flotta.

Esecuzione di un parco macchine tramite la console

Segui questi passaggi per gestire una flotta nella console di Code Engine.

  1. Apri la Code Engine console.
  2. Fai clic su Avvia creazione.
  3. Seleziona un progetto dall'elenco dei progetti disponibili. Puoi anche crearne uno nuovo. Per gestire una flotta è necessario avere un progetto selezionato.
  4. Seleziona l'opzione per creare una flotta.
  5. Specificare un nome per la flotta. Assicuratevi che il nome sia unico per tutte le flotte del progetto.
  6. Specificare un'immagine del contenitore per la flotta, ad esempio icr.io/codeengine/helloworld. Se disponi di un codice sorgente personalizzato che desideri trasformare in un'immagine container, consulta la sezione " Pianificazione della compilazione ". Per ulteriori informazioni sul codice utilizzato in questo esempio, consultare helloworld.
  7. Seguire le istruzioni per configurare la flotta. Per ulteriori dettagli sul significato dei parametri di ridimensionamento, consultare la sezione “Configurazione del ridimensionamento della flotta ”.
  8. Nella sezione "Attività", specificare se aggiungere o meno le attività iniziali per la flotta. Per ulteriori informazioni, consultare la sezione Specifiche del compito.
  9. Nella sezione Risorse e scalabilità, configurare le risorse dell'istanza e specificare come le istanze scalano verso l'alto o verso il basso.
  10. Nella sezione Posizionamento della rete, fare clic su Seleziona pool di sottoreti.
    1. Creare un nuovo pool di sottoreti per specificare la collocazione in rete dei lavoratori di questa flotta. Per ulteriori informazioni, vedere Lavorare con la connettività del pool di sottoreti in Code Engine.
    2. Oppure selezionare uno o più pool di sottoreti esistenti per specificare la collocazione in rete dei lavoratori di questa flotta.
    3. Fai clic su " Applica " per confermare la tua selezione.
  11. Nelle sezioni Variabili d'ambiente e Supporti di volume, aggiungere coppie chiave-valore, configmap o file aggiuntivi che possono essere utilizzati dal codice in esecuzione.
  12. Fai clic su Crea.

Specifiche del compito

È possibile creare una flotta con o senza attività iniziali e aggiungere attività in qualsiasi momento.

Specificare le attività nella console

Per creare una flotta senza attività iniziali, consulta la sezione " Creazione di una flotta senza attività iniziali tramite la console". Per aggiungere attività dopo la creazione, consulta la sezione " Aggiunta di attività a una flotta tramite la console".

È possibile specificare le attività in uno dei seguenti modi:

  • Numero di attività: selezionare " Numero di attività " e specificare un numero intero positivo.
  • Indici delle attività: per specificare un intervallo di attività, è possibile indicare un insieme di indici delle attività che includa un elenco, separato da virgole, di intervalli e numeri interi positivi, ad esempio 2-5,7-8,10. Selezionare gli indici delle attività e inserire gli intervalli.
  • Attività da file: per eseguire attività diverse con comandi o argomenti diversi, è possibile creare un file di specifica delle attività che sostituisca la definizione dell'immagine. Il campo opzionale idx può essere utilizzato per specificare un indice di attività personalizzato. Questo file deve essere in formato JSONL. Seleziona " Attività" dal file. Carica un file locale oppure specifica il percorso di un file presente all'indirizzo IBM Cloud Object Storage. Si veda il seguente esempio di righe che possono essere aggiunte a un file di specifiche di un’attività.
    { "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] }
    { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" }
    { "args": ["argA", "argB", "argC"], "idx": "bar" }
    { "cmds": ["just", "another", "command"], "idx": "1234" }
    
  • Attività da IBM Cloud Object Storage: specificare le attività in base agli oggetti presenti in un archivio dati persistente (bucket Object Storage ). Ogni oggetto genera un'attività. Selezionare " Tasks" da " Cloud Object Storage " e creare o selezionare un archivio dati persistente. Se lo si desidera, specificare un percorso secondario.

Nome del lotto (facoltativo): aggiungi un nome al lotto per tutte le attività aggiunte con questa azione. Il nome di un lotto identifica e raggruppa le attività correlate. I nomi dei batch non devono necessariamente essere univoci, quindi è possibile riutilizzare il nome originale del batch quando si riprovano le attività che hanno dato esito negativo. Ad esempio, i nomi dei lotti possono contenere date o nomi di clienti.

Specificazione delle attività nella CLI

Per creare una flotta senza attività iniziali, consulta la sezione " Creazione di una flotta senza attività iniziali tramite la CLI". Per aggiungere attività dopo la creazione, consultare la sezione " Aggiunta di attività a una flotta esistente tramite la CLI". Per creare una flotta con attività iniziali, consultare la sezione " Creazione di una flotta con attività iniziali tramite la CLI".

È possibile specificare le attività in uno dei seguenti modi.

  • Numero di attività: specificare un numero intero positivo qualsiasi. Utilizza l'opzione " --tasks " per specificare il numero di attività che desideri eseguire. Per creare una flotta senza attività, omettere l'opzione " --tasks ".
  • Indici delle attività: per specificare un intervallo di attività, è possibile indicare un indice di attività che includa un elenco, separato da virgole, di intervalli e numeri interi positivi, ad esempio 2-5,7-8,10. Utilizza l'opzione " --task-indexes ".
  • Attività da file: per eseguire attività diverse con comandi o argomenti diversi, è possibile creare un file di specifica delle attività che sostituisca la definizione dell'immagine. Il campo opzionale idx può essere utilizzato per specificare un indice di attività personalizzato. Questo file deve essere in formato JSONL. Specificare il file utilizzando l’opzione --tasks-from-local-file o --tasks-from-cos-object. Si veda il seguente esempio di righe che possono essere aggiunte a un file di specifiche di un’attività.
    { "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] }
    { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" }
    { "args": ["argA", "argB", "argC"], "idx": "bar" }
    { "cmds": ["just", "another", "command"], "idx": "1234" }
    
  • Attività da IBM Cloud Object Storage: specificare le attività in base agli oggetti presenti in un archivio dati persistente (bucket Object Storage ). Ogni oggetto genera un'attività. Utilizza l'opzione " --tasks-from-cos-bucket " per specificare un bucket Object Storage e, facoltativamente, un sottopercorso.

Creazione di una flotta senza attività iniziali tramite la console

È possibile creare una flotta senza specificare alcuna attività. Se il valore di " Slot minimi per i container " o " Slot di riserva per i container " è diverso da zero, i worker vengono allocati immediatamente. In caso contrario, non vengono creati lavoratori finché non vengono aggiunti i primi compiti.

Utilizza questo approccio quando la flotta è una risorsa condivisa e di lunga durata che riceve attività da più fonti o secondo una pianificazione prestabilita.

Per creare una flotta senza attività iniziali, segui i passaggi descritti nella sezione " Gestione di una flotta tramite la console". Al punto 8, impostare “Specifica attività iniziali ” su “No ”.

Copiare una flotta per crearne una nuova

È possibile creare una nuova flotta copiando la configurazione di una flotta esistente tramite la console Code Engine. La funzione "Crea copia " duplica tutte le impostazioni di configurazione della flotta di origine — inclusi il riferimento all'immagine del container, l'allocazione delle risorse, le variabili d'ambiente e le impostazioni di scalabilità — in una nuova flotta che è poi possibile personalizzare in modo indipendente. Le attività non vengono copiate.

La nuova flotta si comporta come un carico di lavoro indipendente. La flotta di origine non subisce alcuna modifica a seguito delle modifiche apportate alla nuova flotta, e viceversa.

Prima di iniziare, assicurati che nel tuo progetto sia già stata creata una flotta.

  1. Accedi alla pagina "Progetti" del sito Code Engine.
  2. Clicca sul nome del tuo progetto per aprire la pagina Panoramica.
  3. Fai clic su " Flotte " per aprire l'elenco delle tue flotte.
  4. Aprire l'opzione " Crea copia " in uno dei seguenti modi:
    • Fai clic sul nome della flotta che desideri copiare per aprire la relativa pagina. Quindi fai clic sul menu "Azioni" nell'angolo in alto a destra della pagina e seleziona "Crea copia ".
    • Nell'elenco delle flotte, fai clic sull'icona delle azioni della riga (⋮) della flotta che desideri copiare e seleziona "Crea copia ".
  5. Nella pagina "Crea flotta", la configurazione della flotta di origine è già precompilata. Inserisci un nome univoco per la nuova flotta. Utilizzare un nome univoco all'interno del progetto.
  6. Verifica e, se lo desideri, modifica le impostazioni di configurazione della nuova flotta, quali l'immagine del container, l'allocazione delle risorse, le variabili d'ambiente o le impostazioni di scalabilità.
  7. Fai clic su " Crea " per creare la nuova flotta.

Aggiunta di attività a una flotta tramite la console

È possibile aggiungere attività a una flotta in qualsiasi momento — indipendentemente dal fatto che la flotta si trovi nello stato “In attesa”, “In esecuzione ” o “In standby ” — utilizzando il pulsante “Aggiungi attività ”.

In modo asincrono, Code Engine crea i record delle attività e, se necessario, assegna ulteriori worker.

Segui questi passaggi per aggiungere attività a una flotta esistente nella console di Code Engine.

  1. Accedi alla pagina "Progetti" del sito Code Engine.
  2. Clicca sul nome del tuo progetto per aprire la pagina Panoramica.
  3. Fai clic su " Flotte " per aprire l'elenco delle tue flotte. Clicca sul nome della tua flotta per aprire la pagina dei dettagli.
  4. Fai clic su “Aggiungi attività ”.
  5. Specificare una serie di attività da aggiungere alla flotta. Vedi anche “Descrizione delle attività ”.
  6. Se lo desideri, aggiungi un Nome del lotto significativo.
  7. Fai clic su Aggiungi.

Creazione di una flotta senza attività iniziali tramite la CLI

Utilizza il seguente comando di esempio per eseguire una flotta senza un'attività iniziale. Questo comando consente ulteriori opzioni. Per un elenco completo di tutte le opzioni di comando disponibili, consultare la guida di riferimento della CLI.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore
--name
Il nome della fleet. Questo valore deve essere unico per tutte le flotte dello stesso progetto. Se non viene specificato il nome della flotta, ne viene generato uno casuale.
--image
Il riferimento all'immagine del container utilizzata per l'elaborazione delle attività. Questo campo è obbligatorio.
--subnetpool-name oppure --subnetpool-id
Il nome del pool di sottoreti da utilizzare per il posizionamento della rete della fleet.
L'ID del pool di sottoreti da utilizzare per il posizionamento della rete della fleet.

È necessario specificare “ --subnetpool-name ” oppure “ --subnetpool-id ”.

--tasks-state-store
Specificare il datastore persistente che memorizza lo stato delle attività della fleet. Questo campo è obbligatorio.

Output di esempio:

Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
OK

Aggiunta di attività a una flotta esistente tramite la CLI

Utilizza il comando di esempio riportato di seguito per aggiungere attività a una flotta esistente. Questo comando consente ulteriori opzioni. Per un elenco completo di tutte le opzioni di comando disponibili, consultare la guida di riferimento della CLI.

In alternativa, è possibile utilizzare il comando ibmcloud ce fleet task create .

Esempio

ibmcloud ce fleet task add --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e --tasks 1 --batch-name transactions-2026-09-04

Output di esempio

Successfully added tasks to fleet with name 'fleet-0123456789' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK
--fleet-id
L'UUID della fleet a cui appartiene l'attività. Questo campo è obbligatorio.
--tasks
Specificare il numero di attività che devono essere elaborate dalla fleet. Questo campo è obbligatorio.
--batch-name
Il nome del batch utilizzato per tutte le attività aggiunte nella chiamata corrente. Può essere utilizzato per identificare e raggruppare attività correlate. I nomi dei batch non devono necessariamente essere univoci, quindi è possibile riutilizzare il nome originale del batch quando si riprovano le attività che hanno dato esito negativo. Ad esempio, i nomi dei lotti possono contenere date o nomi di clienti.
Questo valore è facoltativo. Se non viene specificato, viene utilizzato il nome del batch “ default ”.

Creazione di una flotta con attività iniziali tramite la CLI

Utilizza il seguente comando di esempio per avviare una flotta con attività iniziali. Questo comando consente ulteriori opzioni. Per un elenco completo di tutte le opzioni di comando disponibili, consultare la guida di riferimento della CLI.

Una volta elaborate tutte le attività disponibili, la flotta entra nello stato di standby. I lavoratori che non sono più necessari per garantire il numero minimo di slot per i container vengono ridotti fino a quando non vengono aggiunti nuovi compiti.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name
Il nome della fleet. Questo valore deve essere unico per tutte le flotte dello stesso progetto. Se non viene specificato il nome della flotta, ne viene generato uno casuale.
--image
Il riferimento all'immagine del container utilizzata per l'elaborazione delle attività. Questo campo è obbligatorio.
--subnetpool-name oppure --subnetpool-id
Il nome del pool di sottoreti da utilizzare per il posizionamento della rete della fleet.
L'ID del pool di sottoreti da utilizzare per il posizionamento della rete della fleet.

È necessario specificare “ --subnetpool-name ” oppure “ --subnetpool-id ”.

--tasks-state-store
Specificare il datastore persistente che memorizza lo stato delle attività della fleet. Questo campo è obbligatorio.
--tasks
Il numero di task da eseguire.

Output di esempio:

Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK