Gestionar una flota

Siga estos pasos para ejecutar una flota con la CLI o con la consola. Tenga en cuenta que las flotas se ejecutan en cuanto se crean, por lo que running una flota y creating una flota son la misma operación.

Antes de empezar

Para gestionar con éxito una flota, asegúrese de haber seguido los pasos indicados en Preparación de su flota. También tiene la opción de utilizar Code Engine para construir la imagen de referencia cuando cree su flota.

Ejecutar una flota utilizando la CLI

Utilice el siguiente comando ejemplo para ejecutar una flota. Este comando permite opciones adicionales. Para obtener una lista completa de todas las opciones de comando disponibles, consulte la documentación de la CLI.

ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name
El nombre de la flota. Este valor debe ser único para todas las flotas de un mismo proyecto. Si no se especifica el nombre de la flota, se genera uno aleatorio.
--image
El nombre de la imagen de contenedor que se utiliza para procesar las tareas. Este valor es obligatorio.
--subnetpool-name
El nombre del grupo de subredes que se utilizará para la ubicación de la red de la flota.
--tasks-state-store
Especifica el almacén de datos persistente que almacena el estado de las tareas de la flota. Este valor es obligatorio.
--tasks
El número de tareas a ejecutar.

Ejemplo de salida.

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

Ejecutar una flota utilizando la consola

Siga estos pasos para ejecutar una flota en la consola Code Engine.

  1. Abre la Code Engine consola.
  2. Pulse Iniciar creación.
  3. Seleccione un proyecto de la lista de proyectos disponibles. También puede crear uno nuevo. Debe tener un proyecto seleccionado para ejecutar una flota.
  4. Seleccione la opción para crear una flota.
  5. Indica un nombre para la flota. Asegúrese de que el nombre es único para todas las flotas del proyecto.
  6. Especifique una imagen de contenedor para su flota, por ejemplo, icr.io/codeengine/helloworld. Si tiene su propio código fuente que desea convertir en una imagen de contenedor, consulte Planificar su compilación. Para obtener más información sobre el código utilizado en este ejemplo, consulta helloworld.
  7. Siga las instrucciones para configurar su flota.
  8. En la sección Tareas, configure el método de especificación de tareas para la flota. Para más información, consulte Especificación de tareas.
  9. En la sección Recursos y escalado, configure los recursos de su instancia y especifique cómo escalar sus instancias hacia arriba o hacia abajo.
  10. En la sección Colocación en red, haga clic en Seleccionar grupos de subredes.
    1. Cree un nuevo grupo de subredes para especificar la ubicación en la red de los trabajadores de esta flota. Consulte Trabajar con la conectividad del grupo de subredes en Code Engine para obtener más información.
    2. O seleccione uno o más grupos de subredes existentes para especificar la ubicación en red de los trabajadores de esta flota.
    3. Haz clic en « Aplicar » para confirmar tu selección.
  11. En las secciones Variables de entorno y Montajes de volumen, añada pares clave-valor opcionales, configmaps o archivos adicionales que puedan ser utilizados por su código en ejecución.
  12. Pulse Crear.

Especificación de tareas

Las flotas siempre tienen al menos una tarea, pero pueden tener un número mucho mayor. Puede especificar el número de tareas a completar, el número de instancias de tareas a ejecutar a la vez y el orden en que se completan las tareas. Cuando se ejecuta la flota, los nodos de trabajo se amplían automáticamente en función del número de tareas que deben completarse.

Puedes especificar las tareas de las siguientes maneras:

  • Número de tareas: Para ejecutar un número específico de tareas, puede especificar cualquier número entero positivo. En la CLI, utilice la opción --tasks. En la interfaz de usuario, seleccione Número de tareas e introduzca el número que desea ejecutar.
  • Índice de tareas: Para especificar un rango de tareas, puede especificar un índice de tareas que incluya una lista de rangos separados por comas y números enteros positivos, como 2-5,7-8,10. En la CLI, utilice la opción --task-indexes. En la interfaz de usuario, seleccione Índices de tareas e introduzca el intervalo.
  • Fichero de tareas: Para que diferentes tareas se ejecuten con diferentes comandos o argumentos, puede crear un archivo de especificación de tareas que anule la definición de imagen. El campo opcional idx puede utilizarse para especificar un índice de tarea personalizado. Este archivo debe tener el formato JSONL. En la CLI, especifique el archivo con la opción --tasks-from-local-file o --tasks-from-cos-object. En la interfaz de usuario, seleccione Tareas desde archivo y especifique el nombre del archivo. Vea a continuación un ejemplo de líneas que pueden añadirse a un archivo de especificación de tareas.

Líneas de ejemplo en un archivo de especificación de tareas.

{ "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" }

Cómo eliminar una flota mediante la CLI

Una flota no se elimina automáticamente cuando alcanza su estado final. Dado que existe un límite de cuota de 1000 flotas por proyecto (véase Cuotas por proyecto ), elimine la flota mediante la CLI cuando ya no la necesite.

Utilice el siguiente comando ejemplo para eliminar una flota. Este comando permite opciones adicionales. Para obtener una lista completa de todas las opciones de comando disponibles, consulte la documentación de la CLI.

ibmcloud ce fleet delete --force --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e

Eliminación de una flota mediante la consola

Una flota no se elimina automáticamente cuando alcanza su estado final. Dado que existe un límite de cuota de 1000 flotas por proyecto (véase Cuotas por proyecto ), elimine la flota mediante la CLI cuando ya no la necesite.

Siga estos pasos para eliminar una flota en la consola.

  1. Ve a la página «Flotas»:
    1. Seleccione su proyecto en la página Proyectos de la consola Code Engine.
    2. Haga clic en Flotas para ver una lista de las flotas existentes.
  2. Vaya a la fila con la flota que desea eliminar y haga clic en el icono de eliminación (papelera).
  3. Confirme la eliminación cuando se le solicite.