Despliegue canario de grupo de instancias
Cree el pipeline de despliegue mediante la estrategia de publicación de canario para el despliegue del grupo de instancias.
Requisitos
Los requisitos previos son los siguientes:
- Tiene un pipeline de despliegue, dos entornos de grupo de instancias en los que realizar el despliegue (canario y de producción) sin instancias comunes, y artefactos. Los artefactos deben estar ubicados en Artifact Registry.
Los artefactos pueden ser un archivo de configuración de despliegue o artefactos generales. El archivo de configuración de despliegue define los comandos y los pasos para descargar el artefacto de paquete de aplicación desde la instancia de Artifact Registry especificada y colocarlo en el sistema de archivos de la instancia informática de destino.
- Debe tener un equilibrador de carga y un listener configurados en la consola para el enrutamiento del tráfico. También puede tener un equilibrador de carga de prueba y un listener para validar la nueva versión de la aplicación antes de cambiar el tráfico de producción.
- El plugin Comando de ejecución de la instancia informática debe estar activado en la instancia y el plugin se debe estar ejecutando. Para activar el plugin, siga estos pasos:
- En la consola, abra el menú de navegación y haga clic en Recursos informáticos. En Recursos informáticos, haga clic en Instancias.
- Seleccione una instancia del grupo de instancias en el que realizar el despliegue. Nota
DevOps solo soporta despliegues de grupos de instancias en Oracle Linux y CentOS. - Haga clic en el separador Oracle Cloud Agent.
-
Para el plugin Comando de ejecución de la instancia informática, cambie el conmutador Activar plugin a Activado.
El cambio tarda hasta 10 minutos en surtir efecto.
Atención
La funcionalidad que depende del plugin, como la supervisión, la escala automática, el despliegue o la gestión del sistema operativo no funciona cuando el plugin está desactivado.Atención
Para desplegar aplicaciones mediante el plugin Comando de ejecución de la instancia informática, debe configurar y mantener correctamente las políticas de privilegio mínimo. Para obtener más información, consulte Ejecución de comandos en una instancia.Para obtener información sobre la gestión de plugins, consulte Gestión de plugins con Oracle Cloud Agent. Para solucionar problemas, consulte Solución de problemas de Oracle Cloud Agent.
- Permiso para ejecutar comandos en la instancia. Consulte la política de Identity and Access Management (IAM) necesaria
Para crear grupos dinámicos y políticas para pipelines de despliegue, consulte Políticas de pipeline de despliegue. Para obtener más información, consulte Políticas de IAM de DevOps.
Para acceder a DevOps mediante la consola de Oracle Cloud, la API de REST y la CLI, consulte Acceso a DevOps.
- Abra el menú de navegación y haga clic en Servicios para desarrolladores. En DevOps, haga clic en Proyectos.
- Seleccione un proyecto y un pipeline de despliegue.
- Para agregar una etapa al pipeline, haga clic en el icono + y seleccione Agregar etapa.
- Para el tipo de etapa, seleccione Estrategia de prueba de canario y, a continuación, haga clic en Siguiente.
- Seleccione Grupo de instancias para el tipo de despliegue.
- Introduzca un nombre y una descripción para la etapa. La adición de una descripción es opcional.
- Para Entorno de prueba de canario, seleccione un entorno de grupo de instancias existente.
- Haga clic en Seleccionar artefacto y, a continuación, elija los artefactos de configuración de despliegue de grupos de instancias disponibles para desplegar.
El archivo de configuración de despliegue define los artefactos que se van a descargar en la instancia y la ubicación en la que se deben copiar los artefactos. Para obtener más información, consulte Archivo de configuración de despliegue.
- (Opcional) Haga clic en Seleccionar artefacto para agregar más artefactos que se descargan en las instancias informáticas durante el despliegue.
Estos artefactos adicionales no se deben definir en línea.
- Haga clic en Seleccionar equilibrador de carga.
- Seleccione la región y el compartimento del equilibrador de carga.
- Seleccione un equilibrador de carga de la lista disponible.
El equilibrador de carga cambia parte del tráfico de producción al entorno de canario durante el despliegue. Para obtener más información, consulte Gestión de equilibradores de carga.
- Para agregar un listener al equilibrador de carga, haga clic en Seleccionar listener.
Los listeners comprueban el tráfico entrante en la dirección IP y el puerto del listener del equilibrador de carga. Para obtener más información, consulte Gestión de listeners.
- Introduzca un valor de Puerto de backend.
Este es el puerto de las instancias en las que se está ejecutando la aplicación.
- (Opcional) Seleccione un equilibrador de carga de prueba, un listener y un puerto de backend para probar la aplicación antes de cambiar el tráfico de producción.
Esto ayuda a evitar cualquier riesgo de fallo de despliegue durante la producción.
- La política de implementación controla la velocidad y el comportamiento de la implementación de la instancia en el entorno de destino. Seleccione una de las opciones siguientes:
- Despliegue por porcentaje: introduzca el valor de porcentaje entre 1 y 100. Este valor controla el porcentaje máximo de instancias desplegadas, o que no se están ejecutando, a la vez.
- Anular por recuento: introduzca el valor de recuento. Este valor controla el número máximo de instancias desplegadas, o que no se están ejecutando, a la vez.
- (Opcional) En Retraso entre lotes, introduzca una duración en segundos.
- (Opcional) Para agregar etiquetas al pipeline, haga clic en Mostrar opciones de etiquetado. El etiquetado es un sistema de metadatos que permite organizar los recursos de su arrendamiento y realizar su seguimiento.
Si tiene permisos para crear un recurso, también los tiene para agregarle etiquetas de formato libre.
Para agregar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de etiqueta.
Para obtener más información, consulte Etiquetas de recurso.
- Haga clic en Siguiente.
- Valide la ejecución del despliegue. Para realizar la validación, se agrega una función personalizada al pipeline. Seleccione Ejecutar una lógica personalizada mediante una función e introduzca los siguientes valores:
- Introduzca un nombre y una descripción para la etapa. La adición de una descripción es opcional.
- En Entorno, seleccione una función existente a la que llamar.
El campo Nombre de función de solo lectura muestra la función que se llama en el pipeline.
- (Opcional) Para seleccionar y agregar artefactos a la etapa, haga clic en Seleccionar artefacto.
Seleccione un recurso de artefacto existente del proyecto de DevOps. El artefacto debe ser un tipo de archivo genérico ( universal). Los parámetros del artefacto deben tener formato JSON y pueden tener marcadores de posición. Al configurar el recurso de artefacto DevOps, seleccione Permitir parametrización. Al seleccionar esta casilla de control, se garantiza que los marcadores de posición se sustituyan por el valor del argumento durante el despliegue. Para obtener más información, consulte Configuración de parámetros.
A continuación, se muestra un ejemplo del contenido del artefacto genérico para transferir dos parámetros definidos por el usuario y sus valores:- Parámetros:
test_name
,app_version
- Valores:
{"test_name":"verify_production", "app_version":"${app_version}"}
- Parámetros:
- En Modo de ejecución de etapa, seleccione esta opción para ejecutar de forma asíncrona o síncrona.
Si selecciona Ejecutar de forma asíncrona, el servicio llama a la función, pero no espera a que se complete la función. Al seleccionar Ejecutar de forma síncrona, el servicio llama a la función y espera a que se complete la función.
- Seleccione esta opción para desactivar o activar la validación.
Si la validación está activada, el servicio verifica el valor de retorno de la función. El valor de retorno es un literal de cadena UTF-8,
true
ofalse
. Si el valor de retorno estrue
, la etapa se marca como Finalizada correctamente; de lo contrario, la etapa se marca como Con fallos.Si la validación está desactivada, el servicio no verifica el valor de retorno.
La validación solo se produce si ha seleccionado la opción "Ejecutar de forma sincronizada" para el modo de ejecución temporal.
- (Opcional) Para agregar etiquetas al pipeline, haga clic en Mostrar opciones de etiquetado. El etiquetado es un sistema de metadatos que permite organizar los recursos de su arrendamiento y realizar su seguimiento.
Puede seleccionar un espacio de nombres de etiqueta o agregar una etiqueta de formato libre. Introduzca la clave de etiqueta y el valor de etiqueta correspondientes. Puede agregar varias etiquetas.
Nota
Si no desea validar la ejecución del despliegue, seleccione Ninguno. - Haga clic en Siguiente.
- Introduzca un nombre y una descripción opcional para la etapa Cambiar tráfico para cambiar parte del tráfico al entorno de canario.
- Introduzca el Límite de rampas en porcentaje para especificar el tráfico máximo que se va a cambiar. El valor debe estar comprendido entre 1 y 25.
Por ejemplo, si el límite de rampas es 20, se cambiará el 20 % del tráfico al entorno de canario.
- Haga clic en Siguiente.
- Introduzca un nombre y una descripción para la etapa de Aprobación manual. La adición de una descripción es opcional.
- Introduzca el número de aprobadores y haga clic en Siguiente.
- Introduzca un nombre y una descripción para la etapa Canario de producción. La adición de una descripción es opcional.
- Para Entorno de producción, seleccione un entorno de grupo de instancias existente que se utilice para desplegar la aplicación validada en el entorno de canario.
- Introduzca el Espacio de nombres de producción.
- Para realizar un rollback automático del despliegue hasta la última versión correcta si falla la etapa, seleccione la casilla de control Realizar automáticamente un rollback.
- La política de implementación controla la velocidad y el comportamiento de la implementación de la instancia en el entorno de destino. Seleccione una de las opciones siguientes:
- Despliegue por porcentaje: introduzca el valor de porcentaje entre 1 y 100. Este valor controla el porcentaje máximo de instancias desplegadas, o que no se están ejecutando, a la vez.
- Anular por recuento: introduzca el valor de recuento. Este valor controla el número máximo de instancias desplegadas, o que no se están ejecutando, a la vez.
- (Opcional) En Retraso entre lotes, introduzca una duración en segundos.
- (Opcional) La política de fallos define los criterios de fallos de una etapa. Se puede definir según el número de hosts informáticos que fallan en un grupo de instancias. Seleccione una de las opciones siguientes:
- Ninguna.
- Error por porcentaje: introduzca el valor de porcentaje entre 1 y 100. Este valor define el porcentaje de hosts informáticos que fallan, tras lo cual falla la etapa.
- Error por recuento: introduzca el valor de recuento. Este valor define el número de hosts informáticos que fallan, tras el cual falla la etapa.
- Para agregar la etapa al pipeline, haga clic en Agregar.
Se abrirá una ventana modal que muestra el estado de varias configuraciones de etapa que forman parte de la estrategia de despliegue canario de grupo de instancias. Entre ellas se incluyen las etapas de despliegue canario de grupo de instancias, cambio de tráfico, aprobación manual y despliegue continuo de producción. Si la validación no se realiza correctamente, puede comprobar el mensaje de error específico de cada etapa fallida y realizar una acción correctiva.
Si la validación se realiza correctamente, puede ejecutar el pipeline de despliegue o agregar más etapas secuencialmente o en paralelo al pipeline, según sea necesario.
Para crear una etapa canaria de grupo de instancias, ejecute el comando
create-deploy-compute-instance-group-canary-stage
:oci devops deploy-stage create-deploy-compute-instance-group-canary-stage
Parámetros requeridos:
--compute-instance-group-environment-id
--deployment-spec-artifact-id
--rollout-policy
--pipeline-id
--production-load-balancer-config
--stage-predecessor-collection
Para obtener ayuda para este comando:
oci devops deploy-stage create-compute-instance-group-canary-stage -h
Para crear una etapa de cambio de tráfico de canario de grupo de instancias, ejecute el comando
create-compute-instance-group-canary-traffic-shift-stage
:oci devops deploy-stage create-compute-instance-group-canary-traffic-shift-stage
Parámetros requeridos:
--compute-instance-group-canary-stage-id
--pipeline-id
--stage-predecessor-collection
Para obtener ayuda para este comando:
oci devops deploy-stage create-compute-instance-group-canary-traffic-shift-stage -h
Para crear una etapa de llamada a función, ejecute el comando
create-invoke-function-stage
:oci devops deploy-stage create-invoke-function-stage
Parámetros requeridos:
--function-environment-id
--is-async
--is-validation-enabled
--pipeline-id
--stage-predecessor-collection
Para obtener ayuda para este comando:
oci devops deploy-stage create-invoke-function-stage -h
Para crear una etapa de aprobación manual, ejecute el comando
create-manual-approval-stage
:oci devops deploy-stage create-manual-approval-stage
Parámetros requeridos:
--approval-policy
--pipeline-id
--stage-predecessor-collection
Para obtener ayuda para este comando:
oci devops deploy-stage create-manual-approval-stage -h
Para obtener todos los comandos para
deploy-stage
:oci devops deploy-stage -h
Para crear una etapa, utilice la operación
CreateDeployStage
. En función de las etapas que desee agregar al pipeline, seleccione los siguientes valores para el tipo de etapa:- Etapa de despliegue canario de grupo de instancias informáticas:
COMPUTE_INSTANCE_GROUP_CANARY_DEPLOYMENT
- Etapa de llamada a función:
INVOKE_FUNCTION
- Etapa de cambio de tráfico de canario de grupo de instancias informáticas:
COMPUTE_INSTANCE_GROUP_CANARY_TRAFFIC_SHIFT
- Etapa de aprobación de canario de grupo de instancias informáticas:
COMPUTE_INSTANCE_GROUP_CANARY_APPROVAL
- Etapa de despliegue canario de grupo de instancias informáticas: