Usa Flux CD Para Desplegar un Helm Chart en un Clúster de ACK

Usa Flux CD Para Desplegar un Helm Chart en un Clúster de ACK - Marketplace Insights - Imagen generada por IA

Implementación de Helm Chart en un Clúster ACK Utilizando Flux CD

El artículo presenta un enfoque detallado sobre cómo utilizar Flux CD para desplegar un Helm chart en un Alibaba Cloud Container Service for Kubernetes (ACK) mediante Compute Nest. Esta metodología es especialmente útil para la gestión de operaciones y mantenimiento (O&M) de los servicios de Helm, facilitando el proceso de implementación en entornos de producción.

¿Qué es Flux CD y cómo se integra en Compute Nest?

Flux CD es una herramienta de entrega continua que permite automatizar el despliegue y la gestión de aplicaciones en clústeres Kubernetes. A través de Compute Nest, se encapsula el proceso de implementación de un Helm chart en un módulo público de ROS (Resource Orchestration Service) llamado MODULE::ACS::ComputeNest::FluxOciHelmDeploy. Este módulo simplifica el uso de Helm en el proceso de despliegue, permitiendo a los desarrolladores centrarse en la lógica de su aplicación en lugar de en las complejidades del entorno de Kubernetes.

Parámetros de Entrada del Módulo FluxOciHelmDeploy

El módulo MODULE::ACS::ComputeNest::FluxOciHelmDeploy admite varios parámetros de entrada que son fundamentales para su correcto funcionamiento. Estos incluyen:

  • HelmChartUrl: URL del repositorio de charts de la Open Container Initiative (OCI).
  • DockerConfigJson: Credenciales necesarias para extraer el Helm chart.
  • ClusterId: Identificador del clúster en el que se desplegará la aplicación.
  • ReleaseName: Nombre de la liberación del Helm chart.
  • Namespace: Espacio de nombres en Kubernetes donde se realizará el despliegue.

Creación de un Paquete de Despliegue con Helm Chart

Para utilizar un paquete de despliegue de Helm chart, es necesario primero subir el paquete a un repositorio accesible. En este contexto, Compute Nest proporciona dos pseudo parámetros esenciales:

  • {{ computenest::helmchart::xx }}: Identificador del paquete de despliegue que se sustituye por la dirección completa del chart.
  • {{ computenest::helm::dockerconfigjson }}: Credenciales utilizadas para extraer el Helm chart.

El siguiente es un ejemplo de plantilla para la creación de un servicio utilizando un paquete de despliegue:

Resources:
  FluxHelmDeploy:
    Type: MODULE::ACS::ComputeNest::FluxOciHelmDeploy
    Version: v1
    Properties:
      ClusterId:
        Ref: ClusterId
      ReleaseName: wordpress
      Namespace: wordpress
      HelmChartUrl: '{{ computenest::helmchart::test }}'
      DockerConfigJson: '{{ computenest::helm::dockerconfigjson }}'
      ChartValues:
        mariadb:
          primary:
            persistence:
              enabled: true
              storageClass: alicloud-disk-essd
              size: 20Gi
        persistence:
          enabled: false

Despliegue desde un Repositorio de Charts Autogestionado

Si ya se cuenta con un repositorio de charts, se puede utilizar directamente, ya sea público o privado. En el caso de utilizar un repositorio privado, es necesario proporcionar las credenciales en el campo DockerConfigJson. Aquí se muestra cómo generar dicha credencial:

kubectl create secret docker-registry SECRET_NAME \
 --docker-server=SERVER_NAME \
 --docker-username=USER_NAME \
 --docker-password=Password

A continuación, se presenta un ejemplo de plantilla de servicio para el despliegue de WordPress utilizando un repositorio público:

WordpressComputenestHelmApplication:
  Type: MODULE::ACS::ComputeNest::FluxOciHelmDeploy
  Version: v1
  Properties:
    ClusterId: ClusterId
    HelmChartUrl: oci://registry-1.docker.io/bitnamicharts/wordpress:15.4.1
    ChartValues:
      mariadb:
        primary:
          persistence:
            enabled: true
            storageClass: alicloud-disk-essd
            size: 100Gi
      persistence:
        enabled: false
      wordpressUsername:
        Ref: WordPressUsername
      wordpressPassword:
        Ref: WordPressPassword
    Namespace:
      Ref: 'ALIYUN::StackName'
ReleaseName: wordpress

Conclusión

El uso de Flux CD para desplegar Helm charts en un clúster ACK optimiza y simplifica el proceso de implementación, permitiendo a los desarrolladores centrarse en el desarrollo de sus aplicaciones. Esta integración no solo mejora la eficiencia operativa, sino que también facilita la gestión de aplicaciones en entornos de Kubernetes.

Fuente: Alibaba Cloud Blog

Nota: Este contenido original ha sido modificado con IA y revisado por un especialista. Imagen generada por IA.

Deja una respuesta