Despliegue de un artefacto de Helm
Helm es un gestor de paquetes de código abierto para Kubernetes que proporciona la capacidad de compartir, empaquetar y desplegar el software creado para Kubernetes. El servicio Oracle Cloud Infrastructure (OCI) DevOps soporta el despliegue de gráficos de Helm en el cluster de Kubernetes Engine (OKE). También puede ejecutar comandos de Helm especificados como artefacto en línea y agregados a la etapa de Helm para el despliegue.
El despliegue del gráfico de Helm solo se produce cuando el gráfico de Helm se despliega por primera vez o si se detectan actualizaciones en el artefacto o en los parámetros de etapa de Helm. Esto se valida automáticamente antes de ejecutar el despliegue. Sin embargo, para desplegar el gráfico de Helm independientemente de las actualizaciones del artefacto o de cualquier otro parámetro de etapa de Helm, durante la ejecución del despliegue, debe definir el parámetro ENFORCE_HELM_DEPLOYMENT
en true
. Este parámetro funciona tanto a nivel de etapa como de pipeline. Cuando el parámetro se define para una etapa específica, solo es aplicable para esa etapa. Si el parámetro se define para un pipeline o argumento de despliegue, se aplica a todas las etapas del pipeline. Sin embargo, si el parámetro se define para el argumento de despliegue o pipeline y el argumento de sustitución de etapa, el parámetro de pipeline o el argumento de despliegue tienen prioridad sobre el argumento de sustitución de etapa. El parámetro se aplica a todas las etapas del pipeline.
Para una etapa de despliegue de Helm específica, tiene la opción de utilizar OCI_DEVOPS_DEPLOY_USE_CREATE_NAMESPACE_FLAG
como sustitución de parámetro de etapa. El parámetro se puede definir en true
o false
para controlar el indicador --create-namespace
al utilizar el comando helm upgrade
para desplegar gráficos de Helm. Este parámetro funciona en el nivel de etapa, ofreciendo una granularidad mejorada en las configuraciones de despliegue. Para obtener más información, consulte Configuración de parámetros.
Antes de empezar, debe tener un pipeline de despliegue y crear un cluster de Kubernetes Engine. Puede desplegarlo en clusters de OKE públicos y privados.
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.
Los gráficos de Helm deben estar ubicados en el repositorio de OCI Container Registry para el despliegue. Consulte Adición de un gráfico de Helm. Para ejecutar comandos de Helm, debe especificar los comandos de Helm como un artefacto en línea. Consulte Especificación de comando de Helm.
Los gráficos de Helm contienen plantillas de archivos de manifiesto YAML de Kubernetes y un archivo values.yaml
para proporcionar los valores de plantilla por defecto. values.yaml
es un archivo genérico que se encuentra en el registro de artefactos de OCI. Debe crear una referencia para este archivo. Consulte Adición de un artefacto de Artifact Registry
El despliegue no soporta la sustitución de parámetros en el tarball del gráfico de Helm. Sin embargo, se admite en el archivo
values.yaml
.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 Instalar gráfico de Helm en el cluster de Kubernetes o ejecute comandos de Helm en el cluster de Kubernetes y, a continuación, haga clic en Siguiente.
- Introduzca un nombre y una descripción para la etapa. La adición de una descripción es opcional.
- En Entorno, seleccione un entorno de clusters existente.
-
Seleccione la finalidad de la creación de la etapa de Helm. Las opciones son:
- Instalar o actualizar el gráfico de Helm en el cluster de Kubernetes
- Ejecutar comandos de Helm en cluster de Kubernetes
- Si selecciona la opción para ejecutar comandos de Helm, seleccione el artefacto de especificación de comando de Helm y agregue la etapa. Para obtener más información, consulte Especificación de comando de Helm.
- Si selecciona la opción para instalar o actualizar el gráfico de Helm, introduzca un nombre de versión. Ejemplo: helm-versión.
Una versión hace referencia a la instancia en ejecución del gráfico de Helm con una configuración específica. Se puede instalar un único gráfico muchas veces en el mismo cluster y crear diferentes versiones. El nombre de la versión se puede parametrizar, por ejemplo,
helm-release-${version}
.Los nombres de las versiones deben seguir el estándar RFC 1123. Solo pueden contener caracteres alfanuméricos en minúscula o '-', deben empezar y terminar con un carácter alfanumérico.
- Para desinstalar la versión de Helm del cluster de OKE cuando se suprima esta etapa del pipeline, seleccione la casilla de control Desinstalar la versión de Helm en la supresión de la etapa.
- Haga clic en Seleccionar artefacto para seleccionar el gráfico de Helm para el despliegue.
- (Opcional) Haga clic en Seleccionar artefacto para seleccionar el archivo
values.yaml
que contiene los valores que se transfieren al gráfico de timón. El archivo contiene parámetros por defecto que puede sustituir. - (Opcional) Para sustituir el espacio de nombres de entorno por defecto, introduzca un valor para Sustituir espacio de nombres de Kubernetes. El valor se puede parametrizar, por ejemplo,
helm-${namespace}
.Los valores del espacio de nombres deben seguir el estándar RFC 1123. Solo pueden contener caracteres alfanuméricos en minúscula o '-', deben empezar y terminar con un carácter alfanumérico.
- (Opcional) Introduzca un valor de timeout para el despliegue en segundos.
- (Opcional) Especifique las opciones de cambio de versión de Helm para cambiar la versión del gráfico de Helm o la configuración de la versión de Helm. Consulte Helm Upgrade.
Puede definir valores y valores de cadena para el comando de Helm durante el despliegue del gráfico de Helm.
Especifique el número máximo de cambios de versión por despliegue. Por defecto, el valor se establece en 10. Introduzca cero si no desea definir ningún límite para los cambios de versión.
- Para realizar un rollback automático a la última versión correcta si falla la validación, seleccione Sí. Para obtener más información, consulte Realización de un rollback de un despliegue.
- (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 del 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.
- Para agregar la etapa al pipeline, haga clic en Agregar.
Si ha seleccionado la casilla de control para desinstalar la liberación del timón durante la supresión de la etapa, haga clic en Confirm (Confirmar) en el cuadro de diálogo Uninstall Helm Release Warning (Advertencia de desinstalación de versión de Helm). Cuando se desinstala la versión de Helm, se crea una solicitud de trabajo para desinstalar la versión, cuyo estado se realiza un seguimiento en la sección Despliegue de la página Pipelines de Despliegue.
Una vista previa de etapa proporciona una instantánea de la configuración.
Agregue más etapas de forma secuencial o en paralelo al pipeline, según sea necesario. Para desplegar la salida de creación en el entorno de destino, ejecute el pipeline de despliegue. Durante el despliegue, puede cancelar el despliegue de esta etapa que da como resultado un rollback al estado anterior. Si cancela el despliegue cuando hay una actualización de versión de Helm en curso, la actualización se cancela y se realiza un rollback de la versión al estado anterior.
Para disparar automáticamente un despliegue desde el pipeline de creación, puede agregar una etapa Despliegue de disparador al pipeline de creación.
Para crear una etapa de Helm de OKE para el pipeline, ejecute el comando
create-oke-helm-chart-stage
:oci devops deploy-stage create-oke-helm-chart-stage
Parámetros requeridos:
--helm-chart-artifact-id
--oke-cluster-environment-id
--pipeline-id
--stage-predecessor-collection
--release-name
Para agregar el campo Finalidad a la etapa de Helm, ejecute el comando
update-oke-helm-chart-stage
:oci devops deploy-stage update-oke-helm-chart-stage --helm-command-artifact-ids --purpose
Para desinstalar la etapa de Helm, ejecute el comando
create-oke-helm-chart-stage
:oci devops deploy-stage create-oke-helm-chart-stage --is-uninstall-on-stage-delete
Para obtener todos los comandos para
deploy-stage
:oci devops deploy-stage -h
Para obtener ayuda para el comando
:create-oke-helm-chart-stage
oci devops deploy-stage create-oke-helm-chart-stage -h
Para crear una etapa de cluster de Kubernetes para el pipeline, utilice la operación
CreateDeployStage
. Para el atributodeployStageType
, especifique el valor comoOKE_HELM_CHART_DEPLOYMENT
.