Esta sección de la documentación de Kubernetes contiene tutoriales.
Un tutorial muestra cómo lograr una meta que es más grande que una sola
tarea. Típicamente un tutorial tiene varias secciones y cada
una de ellas contiene un procedimiento.
Antes de recorrer cada tutorial, recomendamos añadir un marcador a
Glosario de términos para poder consultarlo fácilmente.
Esenciales
Kubernetes Basics se trata de un tutorial interactivo en profundidad para entender Kubernetes y probar algunas funciones básicas.
Si quieres escribir un tutorial, revisa utilizando templates para obtener información sobre el tipo de página y la plantilla de los tutotriales.
1 - Hello Minikube
Este tutorial muestra como ejecutar una aplicación Node.js Hola Mundo en Kubernetes utilizando
Minikube y Katacoda.
Katacoda provee un entorno de Kubernetes desde el navegador.
Nota:
También se puede seguir este tutorial si se ha instalado Minikube localmente.
Objetivos
Desplegar una aplicación Hola Mundo en Minikube.
Ejecutar la aplicación.
Ver los logs de la aplicación.
Antes de empezar
Este tutorial provee una imagen de contenedor construida desde los siguientes archivos:
Si se tiene instalado Minikube local, ejecutar minikube start.
Abrir el tablero de Kubernetes dashboard en un navegador:
minikube dashboard
Solo en el entorno de Katacoda: En la parte superior de la terminal, haz clic en el símbolo + y luego clic en Select port to view on Host 1.
Solo en el entorno de Katacoda: Escribir 30000, y hacer clic en Display Port.
Crear un Deployment
Un Pod en Kubernetes es un grupo de uno o más contenedores,
asociados con propósitos de administración y redes. El Pod en este tutorial tiene solo un contenedor.
Un Deployment en Kubernetes verifica la salud del Pod y reinicia su contenedor si este es eliminado. Los Deployments son la manera recomendada de manejar la creación y escalación.
Ejecutar el comando kubectl create para crear un Deployment que maneje un Pod. El Pod ejecuta un contenedor basado en la imagen proveida por Docker.
NAME READY UP-TO-DATE AVAILABLE AGE
hello-node 1/1 1 1 1m
Ver el Pod:
kubectl get pods
El resultado es similar a:
NAME READY STATUS RESTARTS AGE
hello-node-5f76cf6ccf-br9b5 1/1 Running 0 1m
Ver los eventos del clúster:
kubectl get events
Ver la configuración kubectl:
kubectl config view
Nota:
Para más información sobre el comando kubectl, ver kubectl overview.
Crear un Service
Por defecto, el Pod es accedido por su dirección IP interna dentro del clúster de Kubernetes, para hacer que el contenedor hello-node sea accesible desde afuera de la red virtual Kubernetes, se debe exponer el Pod como un
Service de Kubernetes.
Exponer el Pod a la red pública de internet utilizando el comando kubectl expose:
El flag --type=LoadBalancer indica que se quiere exponer el Service fuera del clúster.
Ver el Service creado:
kubectl get services
El resultado es similar a:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-node LoadBalancer 10.108.144.78 <pending> 8080:30369/TCP 21s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23m
Para los proveedores Cloud que soportan balanceadores de carga, una dirección IP externa será provisionada para acceder al servicio, en Minikube, el tipo LoadBalancer permite que el servicio sea accesible a través del comando minikube service.
Ejecutar el siguiente comando:
minikube service hello-node
Solo en el entorno de Katacoda: Hacer clic sobre el símbolo +, y luego en Select port to view on Host 1.
Solo en el entorno de Katacoda: Anotar el puerto de 5 dígitos ubicado al lado del valor de 8080 en el resultado de servicios. Este número de puerto es generado aleatoriamente y puede ser diferente al indicado en el ejemplo. Escribir el número de puerto en el cuadro de texto y hacer clic en Display Port. Usando el ejemplo anterior, usted escribiría 30369.
Esto abre una ventana de navegador que contiene la aplicación y muestra el mensaje "Hello World".
Habilitar Extensiones
Minikube tiene un conjunto de Extensiones que pueden ser habilitados y desahabilitados en el entorno local de Kubernetes.