Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configure un repositorio de gráficos de Helm v3 en Amazon S3
Entorno: PoC o piloto | Tecnologías: contenedores y microservicios DevOps; Modernización | Carga de trabajo: todas las demás cargas de trabajo |
Servicios de AWS: Amazon S3 |
Resumen
Este patrón le ayuda a administrar los gráficos de Helm v3 de forma eficiente integrando el repositorio de Helm v3 en Amazon Simple Storage Service (Amazon S3) en la nube de Amazon Web Services (AWS). Para usar este patrón, debe estar familiarizado con Kubernetes y con el administrador de paquetes de Kubernetes Helm. El uso de repositorios de Helm para almacenar gráficos y controlar sus versiones puede mejorar el tiempo medio de restauración (MTTR) durante las interrupciones.
Este patrón usa AWS CodeCommit para la creación de repositorios de Helm y usa un bucket de S3 como repositorio de gráficos de Helm, de modo que los desarrolladores de toda la organización puedan administrar los gráficos de forma centralizada y acceder a ellos.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Python, versión 2.7.12 o posterior.
pip
Una nube privada virtual (VPC) con subredes y una instancia de Amazon Elastic Compute Cloud (Amazon EC2)
Git instalado en la instancia EC2
Acceso a AWS Identity and Access Management (IAM) para crear el bucket de S3
Acceso de IAM (mediante programación o de rol) a Amazon S3 desde la máquina cliente
CodeCommit Repositorio de AWS
Interfaz de la línea de comandos de AWS (AWS CLI)
Versiones de producto
Helm v3
Python, versión 2.7.12 o posterior.
Arquitectura
Pila de tecnología de destino
Amazon S3
AWS CodeCommit
Helm
Kubectl
Python y pip
Git
complemento helm-s3
Arquitectura de destino
![](images/pattern-img/1dbd3db8-5819-4f30-bebd-a144a2075fcd/images/55652eb2-2e11-4b14-9ed4-0cdcf55cc3e6.png)
Automatizar y escalar
Puede incorporar Helm a su herramienta existente de automatización de integración y entrega continuas (CI/CD) para automatizar el empaquetado y el control de versiones de los gráficos de Helm (fuera del alcance de este patrón).
GitVersion Los números de compilación de Jenkins o Jenkins se pueden utilizar para automatizar el control de versiones de los gráficos.
Herramientas
Helm
: Helm es un administrador de paquetes para Kubernetes que le ayuda a instalar y administrar aplicaciones en su clúster de Kubernetes. Amazon S3: Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento para Internet. Puede utilizar Amazon S3 para almacenar y recuperar cualquier cantidad de datos en cualquier momento y desde cualquier parte de la web.
Complemento helm-s3
: el complemento helm-s3 respalda la interacción con Amazon S3. Se puede usar con Helm v2 o Helm v3.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instale el cliente Helm v3. | Para descargar e instalar el cliente de Helm en su sistema local, ejecute el siguiente comando: | Administrador de nube, ingeniero DevOps |
Valide la instalación de Helm. | Para validar el cliente de Helm, ejecute el siguiente comando: | Administrador de nube, DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un bucket de S3 para gráficos de Helm. | Cree un bucket de S3 único. En el bucket, cree una carpeta llamada | Administrador de nube, DevOps ingeniero |
Instale el complemento helm-s3 para Amazon S3. | Para instalar el plugin helm-s3 en su máquina cliente, ejecute el siguiente comando: | Administrador de nube, DevOps ingeniero |
Inicialice el repositorio Helm de Amazon S3. | Para inicializar la carpeta de destino como repositorio de Helm, ejecute el siguiente comando: El comando crea un archivo | Administrador de nube, DevOps ingeniero |
Verifique el repositorio de Helm recién creado. | Para comprobar que se ha creado el archivo | Administrador de nube, DevOps ingeniero |
Añada el repositorio de Amazon S3 a Helm en la máquina cliente. | Para añadir el alias del repositorio de destino a la máquina cliente de Helm, ejecute el siguiente comando: | Administrador de nube, DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Clone sus gráficos de Helm. | Si no hay gráficos de Helm locales en tu CodeCommit repositorio, clónalos desde tu GitHub repositorio ejecutando el siguiente comando: | Administrador de nube, ingeniero DevOps |
Empaquete el gráfico de Helm local. | Para empaquetar el gráfico que ha creado o clonado, ejecute el siguiente comando: Como ejemplo, este patrón usa el gráfico | Administrador de nube, DevOps ingeniero |
Almacene el paquete local en el repositorio Helm de Amazon S3. | Para cargar el paquete local en el repositorio de Helm en Amazon S3, ejecute el siguiente comando: En el comando, | Administrador de nube, DevOps ingeniero |
Busque el gráfico de Helm. | Para confirmar que el gráfico aparece tanto localmente como en el repositorio de Helm de Amazon S3, ejecute el siguiente comando: | Administrador de nube, DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Modifique y empaquete el gráfico. | En | Administrador de nube, ingeniero DevOps |
Introduzca la nueva versión en el repositorio de Helm en Amazon S3. | Para enviar el nuevo paquete, versión 0.1.1, al repositorio Helm my-helm-charts de Amazon S3, ejecute el siguiente comando: | Administrador de nube, DevOps ingeniero |
Compruebe el gráfico de Helm actualizado. | Para confirmar que el gráfico actualizado aparece tanto localmente como en el repositorio Helm de Amazon S3, ejecute los siguientes comandos.
| Administrador de nube, DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Busque todas las versiones del gráfico my-app. | Para ver todas las versiones disponibles de un gráfico, ejecute el siguiente comando con la marca Sin la marca, Helm mostrará de forma predeterminada la última versión cargada de un gráfico. | DevOps Ingeniero |
Instale una tabla desde el repositorio Helm de Amazon S3. | La instalación automatizada está fuera del alcance de este patrón, pero puede realizar una instalación manual. Los resultados de la búsqueda de la tarea anterior mostrarán las múltiples versiones del gráfico | DevOps Ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Compruebe los detalles de una revisión específica. | La reversión automática está fuera del alcance de este patrón, pero puede restaurar manualmente una versión anterior. Antes de cambiar o revertir a una versión funcional, y para obtener un nivel adicional de validación antes de instalar una revisión, compruebe qué valores se han pasado a cada una de las revisiones mediante el siguiente comando: | DevOps Ingeniero |
Vuelva a una versión anterior. | La reversión automática está fuera del alcance de este patrón. Para restaurar manualmente una revisión anterior, ejecute el siguiente comando: Este ejemplo restaura la revisión número 1. | DevOps Ingeniero |