Este artículo es la continuación de mi artículo "¿Qué es Helm y cómo instalarlo en el servidor Ubuntu 20.04?". Si es nuevo en Helm, le recomendaría que primero lea el artículo que mencioné. En este artículo, liberaremos Apache del gráfico existente. Crearemos un gráfico de muestra y lo publicaremos, actualizaremos, revertiremos, eliminaremos y restauraremos. Veamos los comandos brevemente antes de usarlos en el artículo más adelante.
- búsqueda de timón :Buscar gráficos de Helm
- repositorio de timón :Realice operaciones como añadir, listar, eliminar, actualizar e indexar en el Repositorio
- borrar timón :elimine el gráfico que, a su vez, elimina todos sus objetos de Kubernetes.
- estado del timón :muestra el estado del lanzamiento.
- creación de timón :crea un gráfico de timón.
- instalación de timón :instala un gráfico que a su vez crea sus objetos de Kubernetes
- mejora del timón :actualice una versión con los cambios que le hicimos.
- historial del timón :Obtener el historial del lanzamiento.
- retroceso del timón :revierte los cambios a la versión anterior.
Antes de continuar, se supone que está familiarizado con los conceptos básicos de Helm. También se supone que ya tiene instalado un clúster de Kubernetes y un cliente de timón.
Requisitos previos
- Clúster de Kubernetes con al menos 1 nodo trabajador.
Si desea aprender a crear un clúster de Kubernetes, haga clic aquí. Esta guía lo ayudará a crear un clúster de Kubernetes con 1 maestro y 2 nodos en instancias AWS Ubuntu 18.04 EC2. - Helm instalado en su nodo maestro (Busque mi artículo llamado "¿Qué es Helm y cómo instalarlo en el servidor Ubuntu 20.04" para comprender los conceptos básicos de Helm e instalarlo).
¿Qué haremos?
- Liberar un gráfico de muestra del repositorio.
- Cree un gráfico y lance una aplicación de muestra.
- Actualice la versión.
- Restaurar la versión después de eliminarla
Liberar un gráfico de muestra del repo
Primero, verifiquemos si el "helm" está disponible en el servidor o no.
versión timón
Como ejemplo, intentemos instalar un gráfico de Apache desde el concentrador. Ejecute el siguiente comando para buscar Apache en el concentrador.
centro de búsqueda de timón apache
Obtendrás un conjunto de resultados, copia la URL de una de las búsquedas de Apache. En este caso, copié la primera URL.
Presione la URL en el navegador web y verá una página como la siguiente.
En esta página, obtendrá comandos para agregar un repositorio a su sistema local e instalar el gráfico desde allí.
Ejecute los comandos en su sistema local que agregarán el repositorio para el gráfico de Apache.
timón repositorio agregar bitnami https://charts.bitnami.com/bitnami
lista de repositorios de helm
Una vez que tenga el repositorio en su sistema, estará listo para instalar el gráfico y crear una versión para Apache usando Helm.
timón instalar my-release bitnami/apache
Después de la ejecución exitosa de los comandos, verá el resultado como se muestra arriba.
Una vez que se publica el gráfico, puede ver los objetos que se han creado en el cluster de Kubernetes.
kubectl obtener nodos
kubectl obtener pods
Ahora puede obtener la IP del pod e intentar acceder a la página de Apache con el comando curl.
kubectl obtiene pods -o ancho
kubectl obtener servicio
rizo 10.244.1.2:8080
Si deseas eliminar el lanzamiento puedes hacerlo simplemente usando el siguiente comando
timón eliminar mi-liberación
Puede enumerar lanzamientos en el clúster y ver si el lanzamiento se eliminó con éxito o no.
timón ls
estado del timón my-release
Crea un gráfico e implementa una aplicación de muestra
En el escenario anterior, instalamos un gráfico que estaba disponible y configurado fácilmente. Podemos crear nuestro propio gráfico y lanzar nuestra aplicación. Crear un gráfico es muy simple usando helm. Si ejecuta el siguiente comando, obtendrá un gráfico con una aplicación de muestra de Nginx.
helm crea mi primer gráfico
Explore la estructura de carpetas del gráfico que creamos usando el comando anterior.
cd mi-primer-gráfico/
ls-l
ls -l gráficos/
ls -l plantillas/
ls -l plantillas/pruebas/
Comprueba el contenido del archivo Chart.yaml.
ls-lt
gráfico de gato.yaml
Comprueba el contenido de values.yaml
ls-lt
valores de gato.yaml
Ahora implementemos la aplicación de muestra usando el gráfico local.
pwd
CD ..
ls-l | grep mi-primer-gráfico
kubectl obtener pods
helm install my-first-release my-first-chart/
Una vez que el gráfico se publique con éxito, podrá ver un pod creado en el clúster.
kubectl obtener pods
kubectl obtener servicio
Ahora puede acceder al pod de Nginx a través del servicio.
rizo 10.104.229.187
Puedes encontrar información sobre el lanzamiento que creamos usando el siguiente comando.
timón ls
estado del timón mi-primer-lanzamiento
Actualizar la versión
En el escenario anterior, creamos un gráfico con una aplicación Nginx de muestra. El número de réplicas en el escenario anterior era 1. Si desea aumentar el número de réplicas, puede hacerlo fácilmente haciendo cambios en el archivo values.yaml.
cat mi-primer-gráfico/valores.yaml | réplica grep
vim mi-primer-gráfico/valores.yaml
cat mi-primer-gráfico/valores.yaml | réplica grep
timón ls
Ahora puede implementar fácilmente sus cambios y actualizar su versión.
helm upgrade my-first-release my-first-chart/
Incluso puede notar que la revisión de la versión se actualizó a 2.
timón ls
Esta vez puede ver dos pods ejecutándose en el clúster, ya que habíamos especificado el número de réplicas en 2.
kubectl obtener pods
timón ls
Si revisamos el historial del lanzamiento, notaremos que el lanzamiento tiene dos revisiones. La revisión uno tenía 1 pod y luego actualizamos el recuento de réplicas a 2, lo que creó la revisión 2 del lanzamiento.
timón historia mi-primer-lanzamiento
Si no queremos que se publiquen los cambios en la revisión 2 y queremos volver a la revisión 1, simplemente podemos hacerlo usando el siguiente comando de reversión.
helm rollback mi-primer-lanzamiento 1
timón ls
Y esto creará la revisión 3 para el lanzamiento.
timón historia mi-primer-lanzamiento
Ahora puede ver que solo hay un pod ejecutándose en el clúster.
kubectl obtener pods
En caso de que desee eliminar la aplicación Nginx de muestra publicada del gráfico, puede eliminarla eliminando la versión.
timón ls
helm eliminar mi-primer-lanzamiento
timón ls
Restaurar la publicación después de eliminarla
En el escenario anterior, eliminamos el lanzamiento. Pero, de forma predeterminada, la versión no conserva su historial de versiones cuando se elimina. En caso de que desee revertir en tal escenario, no podrá hacerlo a menos que especifique la opción --keep-history en el comando de eliminación de liberación.
timón ls
helm install mi-segundo-lanzamiento mi-primer-gráfico/
timón ls
Si especificas --la opción keep-history mientras eliminas la versión, el helm creará una nueva versión. De esta forma, puede volver a la versión de trabajo anterior incluso después de eliminar la versión o la aplicación.
helm eliminar mi segundo lanzamiento --keep-history
timón ls
timón ls -a
timón historia mi-segundo-lanzamiento
timón revertir mi segundo lanzamiento 1
timón ls
timón historia mi-segundo-lanzamiento
Conclusión
En este artículo, implementamos una aplicación de muestra del gráfico de Helm disponible en Internet. Incluso vimos los pasos para crear un gráfico de Helm en nuestro sistema y publicarlo. Junto con esto, vimos cómo eliminar gráficos de Helm, retroceder a versiones anteriores y conservar el historial de versiones incluso después de eliminar el chat.