Administração de uma frota

Siga estas etapas para executar uma frota do Code Engine usando a CLI ou o console.

Antes de Iniciar

Para administrar uma frota com sucesso, certifique-se de ter seguido as etapas em Preparação para administrar sua frota. Você também tem a opção de usar o Code Engine para criar a imagem à qual você faz referência ao criar sua frota.

Execução de uma frota usando o console

Siga estas etapas para gerenciar uma frota no console do Code Engine.

  1. Abra o Code Engine console.
  2. Clique em Iniciar a criação.
  3. Selecione um projeto na lista de projetos disponíveis. Também é possível criar um novo. Você deve ter um projeto selecionado para executar uma frota.
  4. Selecione a opção para criar uma frota.
  5. Especifique um nome para a frota. Certifique-se de que o nome seja exclusivo em todas as frotas do projeto.
  6. Especifique uma imagem de contêiner para sua frota, por exemplo, icr.io/codeengine/helloworld. Se você tiver seu próprio código-fonte que deseja transformar em uma imagem de contêiner, consulte “Planejando sua compilação ”. Para obter mais informações sobre o código utilizado neste exemplo, consulte helloworld.
  7. Siga as instruções para configurar sua frota. Para obter detalhes sobre a importância dos parâmetros de dimensionamento, consulte “Configurando o dimensionamento da frota ”.
  8. Na seção “Tarefas”, especifique se deseja ou não adicionar tarefas iniciais para a frota. Para obter mais informações, consulte Especificação da tarefa.
  9. Na seção Recursos e dimensionamento, configure os recursos da instância e especifique como as instâncias são dimensionadas para cima ou para baixo.
  10. Na seção Network placement (Posicionamento de rede), clique em Select subnet pools (Selecionar pools de sub-rede ).
    1. Crie um novo pool de sub-rede para especificar o posicionamento de rede dos funcionários dessa frota. Consulte Trabalho com conectividade de pool de sub-rede em Code Engine para obter mais informações.
    2. Ou selecione um ou mais pools de sub-rede existentes para especificar o posicionamento de rede dos funcionários dessa frota.
    3. Clique em “Aplicar” para confirmar sua seleção.
  11. Nas seções Environment variables (Variáveis de ambiente ) e Volume mounts (Montagens de volume ), adicione pares de valores-chave opcionais, configmaps ou arquivos adicionais que possam ser usados pelo seu código em execução.
  12. Clique em Criar.

Especificação da tarefa

Você pode criar uma frota com ou sem tarefas iniciais e adicionar tarefas a qualquer momento.

Especificação de tarefas no console

Para criar uma frota sem tarefas iniciais, consulte “Criação de uma frota sem tarefas iniciais usando o console ”. Para adicionar tarefas após a criação, consulte “Adicionando tarefas a uma frota usando o console ”.

Você pode especificar tarefas de uma das seguintes maneiras:

  • Número de tarefas: Selecione “Número de tarefas ” e especifique qualquer número inteiro positivo.
  • Índices de tarefas: Para especificar um intervalo de tarefas, é possível definir um conjunto de índices de tarefas que inclua uma lista separada por vírgulas de intervalos e números inteiros positivos, como 2-5,7-8,10. Selecione os índices de tarefas e insira os intervalos.
  • Tarefas a partir de um arquivo: Para que tarefas diferentes sejam executadas com comandos ou argumentos diferentes, é possível criar um arquivo de especificação de tarefas que substitua a definição da imagem. O campo opcional idx pode ser usado para especificar um índice de tarefa personalizado. Este arquivo deve estar no formato JSONL. Selecione “Tarefas” no arquivo. Faça o upload de um arquivo local ou especifique um caminho para um arquivo em IBM Cloud Object Storage. Veja o exemplo a seguir de linhas que podem ser adicionadas a um arquivo de especificação de tarefa.
    { "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" }
    
  • Tarefas do IBM Cloud Object Storage: Especifique tarefas com base nos objetos contidos em um armazenamento de dados persistente (bucket do Object Storage ). Cada objeto gera uma tarefa. Selecione “Tarefas” em “ Cloud Object Storage ” e crie ou selecione um armazenamento de dados persistente. Opcionalmente, especifique um subcaminho.

Nome do lote (opcional): Adicione um nome de lote para todas as tarefas adicionadas com esta ação. Um nome de lote identifica e agrupa tarefas relacionadas. Os nomes dos lotes não precisam ser exclusivos; portanto, você pode reutilizar o nome original do lote ao tentar novamente as tarefas que falharam. Por exemplo, os nomes dos lotes podem conter datas ou nomes de clientes.

Especificação de tarefas na CLI

Para criar uma frota sem tarefas iniciais, consulte “Criação de uma frota sem tarefas iniciais usando a CLI ”. Para adicionar tarefas após a criação, consulte “Adicionando tarefas a uma frota existente usando a CLI ”. Para criar uma frota com tarefas iniciais, consulte “Criação de uma frota com tarefas iniciais usando a CLI ”.

Você pode definir tarefas de uma das seguintes maneiras.

  • Número de tarefas: Especifique qualquer número inteiro positivo. Use a opção “ --tasks ” para especificar o número de tarefas que deseja executar. Para criar uma frota sem tarefas, omita a opção “ --tasks ”.
  • Índices de tarefas: Para especificar um intervalo de tarefas, é possível indicar um índice de tarefa que inclua uma lista separada por vírgulas de intervalos e números inteiros positivos, como 2-5,7-8,10. Use a opção “ --task-indexes ”.
  • Tarefas a partir de um arquivo: Para que tarefas diferentes sejam executadas com comandos ou argumentos diferentes, é possível criar um arquivo de especificação de tarefas que substitua a definição da imagem. O campo opcional idx pode ser usado para especificar um índice de tarefa personalizado. Este arquivo deve estar no formato JSONL. Especifique o arquivo com a opção “ --tasks-from-local-file ” ou “ --tasks-from-cos-object ”. Veja o exemplo a seguir de linhas que podem ser adicionadas a um arquivo de especificação de tarefa.
    { "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" }
    
  • Tarefas do IBM Cloud Object Storage: Especifique tarefas com base nos objetos contidos em um armazenamento de dados persistente (bucket do Object Storage ). Cada objeto gera uma tarefa. Use a opção --tasks-from-cos-bucket para especificar um bucket Object Storage e um subcaminho opcional.

Criação de uma frota sem tarefas iniciais usando o console

É possível criar uma frota sem definir nenhuma tarefa. Se o valor de “Slots mínimos do contêiner ” ou “Slots sobressalentes do contêiner ” for diferente de zero, os workers são provisionados imediatamente. Caso contrário, nenhum trabalhador é criado até que as primeiras tarefas sejam adicionadas.

Utilize essa abordagem quando a frota for um recurso compartilhado e de longa duração que recebe tarefas de várias fontes ou de acordo com uma programação.

Para criar uma frota sem tarefas iniciais, siga as etapas descritas na seção “Como executar uma frota usando o console ”. Na etapa 8, defina “Especificar tarefas iniciais ” como “Não ”.

Copiar uma frota para criar uma nova frota

É possível criar uma nova frota copiando a configuração de uma frota existente por meio do console Code Engine. O recurso “Criar cópia” duplica todas as configurações da frota de origem — incluindo a referência à imagem do contêiner, a alocação de recursos, as variáveis de ambiente e as configurações de escalonamento — em uma nova frota, que você poderá personalizar de forma independente. As tarefas não são copiadas.

A nova frota funciona como uma carga de trabalho independente. A frota de origem não é afetada por nenhuma alteração na nova frota, e vice-versa.

Antes de começar, certifique-se de que já exista uma frota criada no seu projeto.

  1. Acesse a página “ Code Engine Projects ”.
  2. Clique no nome do seu projeto para abrir a página de Visão geral.
  3. Clique em “Frotas” para abrir uma lista das suas frotas.
  4. Abra a opção “Criar cópia ” de uma das seguintes maneiras:
    • Clique no nome da frota que você deseja copiar para abrir a página dessa frota. Em seguida, clique no menu “Ações”, no canto superior direito da página, e selecione “Criar cópia ”.
    • Na lista de frotas, clique no ícone de ações da linha (⋮) da frota que você deseja copiar e selecione “Criar cópia ”.
  5. Na página “Criar frota”, a configuração da frota de origem já vem preenchida. Digite um nome exclusivo para a nova frota. Use um nome que seja exclusivo dentro do projeto.
  6. Verifique e, se desejar, modifique quaisquer configurações da nova frota, como a imagem do contêiner, a alocação de recursos, as variáveis de ambiente ou as configurações de escalonamento.
  7. Clique em “Criar” para criar a nova frota.

Como adicionar tarefas a uma frota usando o console

Você pode adicionar tarefas a uma frota a qualquer momento — independentemente de a frota estar no status “Pendente”, “Em execução ” ou “Em espera ” — usando o botão “Adicionar tarefas ”.

De forma assíncrona, o Code Engine cria os registros das tarefas e, se necessário, aloca trabalhadores adicionais.

Siga estas etapas para adicionar tarefas a uma frota existente no console do Code Engine.

  1. Acesse a página “ Code Engine Projects ”.
  2. Clique no nome do seu projeto para abrir a página de Visão geral.
  3. Clique em “Frotas” para abrir uma lista das suas frotas. Clique no nome da sua frota para abrir a página de detalhes.
  4. Clique em “Adicionar tarefas ”.
  5. Especifique um conjunto de tarefas a serem adicionadas à frota. Veja também Especificação da tarefa.
  6. Se desejar, adicione um Nome do lote significativo.
  7. Clique em Incluir.

Criação de uma frota sem tarefas iniciais usando a CLI

Use o comando de exemplo a seguir para executar uma frota sem uma tarefa inicial. Esse comando permite opções adicionais. Para obter uma lista completa de todas as opções de comando disponíveis, consulte a referência da CLI.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore
--name
O nome da frota. Esse valor deve ser exclusivo para todas as frotas do mesmo projeto. Se nenhum nome de frota for especificado, será gerado um nome aleatório.
--image
A referência à imagem do contêiner utilizada para processar as tarefas. Este valor é obrigatório.
--subnetpool-name ou --subnetpool-id
O nome do conjunto de sub-redes a ser usado para o posicionamento de rede da frota.
O ID do conjunto de sub-redes a ser usado para o posicionamento de rede da frota.

Você deve especificar “ --subnetpool-name ” ou “ --subnetpool-id ”.

--tasks-state-store
Especifique o armazenamento de dados persistente que armazena o estado das tarefas da frota. Este valor é obrigatório.

Saída de exemplo:

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

Adicionando tarefas a uma frota existente usando a CLI

Use o comando de exemplo a seguir para adicionar tarefas a uma frota existente. Esse comando permite opções adicionais. Para obter uma lista completa de todas as opções de comando disponíveis, consulte a referência da CLI.

Como alternativa, você pode usar o comando ibmcloud ce fleet task create .

Exemplo

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

Exemplo de saída

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
O UUID da frota à qual a tarefa pertence. Este valor é obrigatório.
--tasks
Especifique o número de tarefas que serão processadas pela frota. Este valor é obrigatório.
--batch-name
O nome do lote utilizado para todas as tarefas adicionadas na chamada atual. Ele pode ser usado para identificar e agrupar tarefas relacionadas. Os nomes dos lotes não precisam ser exclusivos; portanto, você pode reutilizar o nome original do lote ao tentar novamente as tarefas que falharam. Por exemplo, os nomes dos lotes podem conter datas ou nomes de clientes.
Esse valor é opcional. Caso não seja especificado, será utilizado o nome do lote “ default ”.

Criação de uma frota com tarefas iniciais usando a CLI

Use o comando de exemplo a seguir para executar uma frota com tarefas iniciais. Esse comando permite opções adicionais. Para obter uma lista completa de todas as opções de comando disponíveis, consulte a referência da CLI.

Quando todas as tarefas disponíveis forem processadas, a frota entra no estado de espera. Os trabalhadores que não são mais necessários para garantir o número mínimo de vagas para contêineres são reduzidos até que novas tarefas sejam adicionadas.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name
O nome da frota. Esse valor deve ser exclusivo para todas as frotas do mesmo projeto. Se nenhum nome de frota for especificado, será gerado um nome aleatório.
--image
A referência à imagem do contêiner utilizada para processar as tarefas. Este valor é obrigatório.
--subnetpool-name ou --subnetpool-id
O nome do conjunto de sub-redes a ser usado para o posicionamento de rede da frota.
O ID do conjunto de sub-redes a ser usado para o posicionamento de rede da frota.

Você deve especificar “ --subnetpool-name ” ou “ --subnetpool-id ”.

--tasks-state-store
Especifique o armazenamento de dados persistente que armazena o estado das tarefas da frota. Este valor é obrigatório.
--tasks
O número de tarefas a serem executadas.

Saída de exemplo:

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