Creación de un trabajo a partir de imágenes en IBM Cloud Container Registry
Cree la configuración del trabajo que utiliza una imagen de IBM Cloud® Container Registry. Puede crear un trabajo desde la consola o con la CLI.
Antes de empezar
-
Debe tener una imagen en Container Registry. Para obtener más información, consulte Iniciación a Container Registry. O bien, puede crear una imagen a partir del código fuente del repositorio o del código fuente local.
-
Verifique que puede acceder al registro. Consulte Configuración de autorizaciones para registros de contenedores.
¿Te interesa configurar tu proyecto de tal forma que todos los usuarios del mismo puedan almacenar y acceder a imágenes en Container Registry sin tener que crear manualmente secretos de registro? Con permisos suficientes, puede configurar este acceso de registro predeterminado para cada ubicación (región). Si no tiene permisos suficientes para realizar estas acciones, puede utilizar esta página para ayudarle a comprender los permisos necesarios. Consulte Configuración de valores para todo el proyecto.
Creación de un trabajo que haga referencia a una imagen de Container Registry con la consola
Cree una configuración de trabajo que utilice una imagen de Container Registry mediante la consola de Code Engine.
Code Engine puede extraer automáticamente imágenes de un espacio de nombres de Container Registry en una cuenta. Para extraer imágenes de una cuenta distinta de Container Registry o de una cuenta privada de Docker Hub, consulte Crear un trabajo a partir de imágenes en un registro privado.
- Abra la consola de Code Engine.
- Selecciona « Empezar a crear ».
- Seleccione un proyecto de la lista de proyectos disponibles. También puede crear uno nuevo. Tenga en cuenta que debe tener un proyecto seleccionado para crear un trabajo.
- Seleccione Trabajo.
- Especifique un nombre para el trabajo; por ejemplo,
myjob. - Selecciona « Usar una imagen de contenedor existente » y haz clic en « Configurar imagen ».
- Selecciona una ubicación para el registro de contenedores, como
IBM Registry Dallas. - Seleccione
Code Engine managed secretpara el Secreto de registro. Dado que este ejemplo utiliza una imagen del espacio de nombres Container Registry de tu cuenta, Code Engine puede crear y gestionar automáticamente el secreto de registro por ti. - Seleccione un espacio de nombres existente y el nombre de la imagen en el registro del trabajo de Code Engine al que hay que hacer referencia. Por ejemplo, seleccione
mynamespacey seleccione la imagenhello_repoen dicho espacio de nombres. - Seleccione un valor para la Etiqueta; por ejemplo,
latest. - Pulse Listo.
- Modifique los valores predeterminados para las variables de entorno o los valores de tiempo de ejecución. Para obtener más información, consulte Opciones para crear y ejecutar un trabajo.
- En la página Crear trabajo, pulse Crear.
- Tras crear el trabajo, se abre la página del trabajo específico. En la página de trabajo, pulse Enviar trabajo para enviar un trabajo basado en la configuración actual.
Ahora que ha creado y ejecutado el trabajo, puede ver detalles sobre la configuración del trabajo y las ejecuciones de trabajos desde la página de trabajo.
Si desea añadir acceso de registro antes de crear un trabajo, consulte Acceso a registros de contenedores.
Creación de un trabajo con una imagen de Container Registry con la CLI
Para crear una configuración de trabajo que utilice una imagen en IBM Cloud® Container Registry con la CLI, utilice el mandato job create. Para ver una lista completa de opciones, consulte el mandato ibmcloud ce job create.
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Cree y trabaje con un proyecto.
- Para poder utilizar un trabajo de Code Engine que haga referencia a una imagen en Container Registry, primero debe añadir acceso al registro para que Code Engine pueda extraer la imagen cuando se ejecute el trabajo. Para obtener información sobre los permisos necesarios para acceder a los registros de imágenes, consulte Configuración de autorizaciones para registros de imágenes.
-
Para añadir acceso a Container Registry, cree una clave de API de IAM. Para crear una clave de API de IBM Cloud IAM desde la CLI, ejecute el mandato
iam api-key-create. Por ejemplo, para crear una clave API llamada «cliapikey» con la descripción «My CLI API key» y guardarla en un archivo llamado «key_file», ejecuta el siguiente comando :ibmcloud iam api-key-create cliapikey -d "My CLI API key" --file key_fileSi elige no guardar la clave en un archivo, debe registrar la clave de API que se visualiza durante la creación. No la podrá recuperarla más adelante.
-
Después de crear la clave de API, añada de acceso de registro a Code Engine. Para añadir acceso a Container Registry con la CLI, utilice el mandato
ibmcloud ce secret create --format registrypara crear un secreto de registro. Por ejemplo, el siguiente comando crea una entrada en el Registro para una instancia de Container Registry denominadamyregistry. Fíjese que aunque se hayan especificado las opciones--servery--usernameen el mandato de ejemplo, el valor predeterminado de la opción--serveresus.icr.ioy la opción--usernametoma como valor predeterminadoiamapikeycuando el servidor esus.icr.io.ibmcloud ce secret create --format registry --name myregistry --server us.icr.io --username iamapikey --password APIKEYSalida de ejemplo
Creating registry secret 'myregistry'... OK -
Cree la configuración del trabajo y haga referencia a la imagen
hello_repoen Container Registry. Por ejemplo, el siguiente mandatojob createcrea el trabajomyhellojobpara hacer referencia aus.icr.io/mynamespace/hello_repoutilizando la información de acceso demyregistry.ibmcloud ce job create --name myhellojob --image us.icr.io/mynamespace/hello_repo --registry-secret myregistryEl formato del nombre de la imagen correspondiente a este trabajo es
REGISTRY/NAMESPACE/REPOSITORY:TAG, dondeREGISTRYyTAGson opcionales. Si no se especificaREGISTRY, el valor predeterminado esdocker.io. Si no se especificaTAG, el valor predeterminado eslatest.
Próximos pasos
-
Después de crear el trabajo, envíelo para ejecutarlo. Consulte Ejecución de un trabajo. Puede ejecutar el trabajo varias veces.
-
Después de ejecutar el trabajo, para ver los detalles del trabajo y las ejecuciones del trabajo, consulte Detalles de trabajo.
-
Ahora que se ha creado el trabajo, se recomienda que los trabajos estén controlados por sucesos. Con las suscripciones de sucesos, puede desencadenar los trabajos utilizando planificaciones periódicas o establecer el trabajo para que reaccione a sucesos como las cargas de archivos.
-
Puede actualizar el trabajo y su código referenciado de varias formas, independientemente de cómo haya creado o actualizado el trabajo con anterioridad.
-
Si dispones de una imagen de contenedor que cumpla con el estándar de la Open Container Initiative(OCI), solo tendrás que proporcionar una referencia a dicha imagen, que apunte a la ubicación de tu registro de contenedores, al crear (o actualizar) tu trabajo. Puedes crear (o actualizar) tu trabajo a partir de imágenes de un registro público o privado y, a continuación, acceder a la imagen a la que se hace referencia desde la ejecución de tu trabajo.
Si ha creado el trabajo utilizando el mandato
job createy ha especificado la opción--build-sourcepara crear la imagen de contenedor desde el origen local o de repositorio, y desea cambiar el trabajo para que apunte a una imagen de contenedor diferente, primero debe eliminar la asociación de la compilación del trabajo. Por ejemplo, ejecuteibmcloud ce job update -n JOB_NAME --build-clear. Después de eliminar la asociación de la compilación del trabajo, puede actualizar el trabajo para que haga referencia a una imagen diferente. -
Si está empezando con un código fuente que reside en un repositorio de Git, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y crear (o actualizar) el trabajo con una única operación. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Creación de un trabajo a partir del código fuente del repositorio. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de crear (o actualizar) el trabajo y ejecutarlo.
-
Si está empezando con un código fuente que reside en una estación de trabajo local, puede dejar que Code Engine se encargue de compilar la imagen desde el código fuente y crear el trabajo con un único mandato de CLI. En este caso de ejemplo, Code Engine carga la imagen en IBM Cloud® Container Registry. Para obtener más información, consulte Creación del trabajo a partir del código fuente local con la CLI. Si desea tener más control sobre la compilación de la imagen, puede elegir compilar la imagen con Code Engine antes de crear (o actualizar) el trabajo y ejecutarlo.
Por ejemplo, puede dejar que Code Engine maneje la compilación del código fuente local mientras avanza en el desarrollo del código fuente para el trabajo. Una vez que la imagen ha madurado, puede actualizar el trabajo para que haga referencia a la imagen específica que desee. Puede repetir este proceso según sea necesario.
Cuando ejecuta el trabajo actualizado, se utiliza la última versión de la imagen de contenedor referenciada para la ejecución del trabajo, a menos que se especifique una etiqueta para la imagen. Si se especifica una etiqueta para la imagen, se utiliza la imagen etiquetada para la ejecución del trabajo.
-
¿Desea ver más ejemplos de código? Echa un vistazo a Ejemplos para el repositorio « IBM Cloud Code Engine GitHub ».