Helm hace que Kubernetes sea más fácil de usar. Es un administrador de paquetes. Los gráficos de timón hacen que sea más fácil diseñar, instalar y actualizar una aplicación Kubernetes. Administran la complejidad para hacer que el proceso de instalación sea repetible. Los usuarios pueden actualizar y compartir sus diseños fácilmente. Además, Helm tiene una función de reversión para volver a ordenar fácilmente las versiones.
Estructura del gráfico de timón
Con el comando Crear, Helm proporciona una estructura predeterminada para garantizar un estándar.
Hola MundoLos archivos de arriba se generarán automáticamente. Helm usa formato YAML para archivos de configuración.
Invocando timón
Para usar el timón, necesitará las siguientes cosas:
(Asegúrese de que las versiones de Minikube y Tiller sean compatibles con el clúster Kubernetes)
Una vez que tenga todos los componentes instalados, inicie su minikube:
$ minikube comienzo
También deberá usar el siguiente comando para inicializar el timón y el timón:
$ timón init
A continuación, use el siguiente comando Helm para crear la estructura descrita anteriormente:
$ Helm Crea Hello-World
Escribiendo tu primer cuadro de timón
Verifiquemos el estado de las cápsulas:
$ kubectl get pod-todos los namespaces
Nombre del espacio de nombres Estado listo para reiniciar la edad
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 1H
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Running 6 1H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 1H
Kube-System Storage-Provisioner 1/1 Running 2 1H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Running 2 1H
La cápsula de timón y las vainas de minikube están funcionando. Hagamos algunos cambios en los gráficos de timón. Vamos a abrir el valor.YML. Se parece a esto:
# Valores predeterminados para Hello-World.
# Este es un archivo con formato Yaml.
# Declarar variables que se transmitirán a sus plantillas.
Replicacount: 1
imagen:
Repositorio: Heroku/NodeJS-Hello-World
Etiqueta: establo
PullPolicy: IfnotPresent
servicio:
Tipo: clúster
Puerto: 80
ingreso:
habilitado: falso
Anotaciones:
# Kubernetes.io/ingreso.Clase: Nginx
# Kubernetes.io/tls-acme: "verdadero"
camino: /
Hospedadores:
- examen de la tabla.local
TLS: []
#-SecretName: Chart-Ejemplo-TLS
# Hospedadores:
# - Exemplo de gráfico.local
recursos:
# Por lo general, recomendamos no especificar los recursos predeterminados y dejar esto como un consciente
# Elección para el usuario. Esto también aumenta las tablas de posibilidades que se ejecutan en entornos con poco
# Recursos, como Minikube. Si desea especificar recursos, desenchufe lo siguiente
# líneas, ajustarlas según sea necesario y retire los aparatos ortopédicos de rizado después de 'recursos:'.
# Límites:
# CPU: 100m
# Memoria: 128mi
# peticiones:
# CPU: 100m
# Memoria: 128mi
nodeselector:
Toleraciones: []
Affinity:
La línea resaltada ha cambiado. En lugar de Nginx, vamos a descargar Heroku/NodeJs-Hello-World. Puede establecer los valores predeterminados en este valor.archivo YML. Se compartirán con otros archivos.
Si revisamos el timón, no vemos nada:
$ Helm LS
Comencemos la tabla de timón:
$ Helm Install Hello-World
Nombre: besing-markhor
Último despliegue: viernes 9 de marzo 09:13:04 2018
Espacio de nombres: predeterminado
Estado: implementado
RECURSOS:
==> v1/servicio
Nombre Tipo de clúster-IP External-IP Port (s) Edad
besing-markhor-hello-world clusterip 10.110.109.7380/tcp 1s
==> v1beta2/implementación
Nombre deseado actualización actualizada actualizada
besing-markhor-hello-world 1 1 1 0 1S
==> v1/pod (relacionado)
Nombre Ready Status Reinicia la edad
Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 0/1 ContainerCreating 0 1S
Notas:
Notas:
1. Obtenga la URL de la aplicación ejecutando estos comandos:
Exportar pod_name = $ (kubectl get pods -namespace default -l "app = hello -world, versión = besos
-Markhor "-o jsonpath =" .elementos [0].metadatos.nombre")
echo "Visite http: // 127.0.0.1: 8080 para usar su aplicación "
Kubectl Port-Forward $ POD_NAME 8080: 80
La parte notable es el "nombre". Este nombre fue generado por timón.
Vamos a ver el timón:
$ Helm LS
REVISIÓN DEL Nombre RABLICACIÓN DE NAPATION DE NAPATIS
Kissing-Markhor 1 viernes 9 de marzo 09:13:04 2018 desplegó Hello-World-0.1.0 predeterminado
También Kubernetes:
$ kubectl get pod-todos los namespaces
Nombre del espacio de nombres Estado listo para reiniciar la edad
besado predeterminado-markhor-hello-world-6bbb947b9c-rttnz 1/1 en ejecución 0 5m
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 2h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Running 6 2H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 2h
Kube-System Storage-Provisioner 1/1 Running 2 2h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Running 2 2h
Entonces, la cápsula se ha implementado en Kubernetes. Podemos usar el reenvío de puertos:
$ Kubectl Port-Forward Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 8080: 80
Ahora debería poder verificar su aplicación implementada.
$ curl http: // 127.0.0.1: 8080Si ve esta página, el servidor web nginx se instala correctamente y
laboral. Se requiere una configuración adicional.
Para la documentación y el soporte en línea, consulte
nginx.organizar.
El soporte comercial está disponible en
nginx.comunicarse.
Gracias por usar Nginx.
Alternativamente, puede verificar http: // 127.0.0.1: 8080 para ver la aplicación recién creada. Ordenemos. Encuentra el nombre del servidor:
$ Helm LS
REVISIÓN DEL Nombre RABLICACIÓN DE NAPATION DE NAPATIS
Kissing-Markhor 1 viernes 9 de marzo 09:13:04 2018 desplegó Hello-World-0.1.0 predeterminado
Use el siguiente comando para eliminar:
$ Helm Eliminar besos-markhor
Lanzar "Kissing-Markhor" eliminado
Vamos a ver el clúster:
$ kubectget pod-todos los namespaces
Nombre del espacio de nombres Estado listo para reiniciar la edad
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 2h
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Running 6 2H
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 2h
Kube-System Storage-Provisioner 1/1 Running 2 2h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Running 2 2h
Podemos ver que la vaina del marcador de besos se ha ido.
Conclusión
Lo anterior debería darle la inspiración para comenzar a usar gráficos de timón. Debería hacer que sus implementaciones de Kubernetes sean más fáciles de manejar.