Tutorial de Minikube hecho fácil

Tutorial de Minikube hecho fácil
Los desarrolladores y los administradores del sistema interesados ​​en aprender Kubernetes han oído hablar de Minikube. Kubernetes es una herramienta compleja de orquestación de contenedores que puede ser abrumadora para principiantes. Minikube fue desarrollado para ayudar a las personas a aprender kubernetes y probar sus ideas localmente. En este tutorial, mantendremos la información básica, para que pueda comprender y ejecutar su primer clúster de Kubernetes en Minikube.

Que es minikube?

Minikube se desarrolló para permitir a los usuarios ejecutar Kubernetes localmente. Cuando instala y ejecuta Minikube en su computadora, ejecuta un clúster de Kubernetes de un solo nodo dentro de una máquina virtual.

Por qué minikube?

Minikube está destinado tanto para nuevos usuarios como para desarrolladores regulares. La instalación de Kubernetes requiere mucho tiempo e intensivo en recursos. Con Minikube, obtienes una versión de trabajo más pequeña de un clúster de Kubernetes de un solo nodo en tu computadora personal.

Si eres un aprendiz, te da la capacidad de jugar y comprender los conceptos básicos. Una vez que se convierta en un profesional regular, aún puede usar Minikube para probar sus ideas localmente antes de implementarla en su centro o servidor de datos. Puede funcionar como su entorno de prueba.

¿Qué puedes hacer con Minikube??

Minikube es ideal para aprender Kubernetes y probar sus conceptos e ideas durante el desarrollo.

Requisito previo

Aunque no es necesario para este tutorial, un conocimiento básico de contenedores como Docker es útil para comprender Minikube/Kubernetes.

Definiciones básicas de conceptos de minikube/kubernetes

Para usar minikube, debe comprender las ideas básicas que se analizan a continuación. Las definiciones no están tratando de explicar la tecnología en profundidad. Solo te está dando una comprensión de los conceptos básicos de Kubernetes. En esta discusión, Kubernetes y Minikube significan lo mismo

  • Envase - En Minikube, los contenedores se utilizan como bloques de construcción de la creación de aplicaciones.
  • Vaina - Pod es una colección de uno o más contenedores que comparten recursos de almacenamiento y red. Las vainas contienen la definición de cómo se deben ejecutar los contenedores en Minikube. Minikube utiliza estas definiciones para mantener los recursos necesarios. Por ejemplo, puede definir que necesita dos vainas. Durante la ejecución, si una cápsula baja, Minikube activará automáticamente una nueva vaina.
  • Servicio - Debido a que las vainas son reemplazables, Minikube necesita una capa de abstracción para mantener la interacción entre las diferentes vainas sin problemas. Por ejemplo, si se crea un POD y se crea un nuevo POD, los usuarios de la aplicación no deben empantanarse en los detalles de las direcciones de red y los problemas relacionados. Los servicios son envoltorios alrededor de las vainas para crear niveles de abstracción.
  • Maestro - Maestro coordina el clúster. Es como el cerebro de la operación.
  • Nodo - Trabajadores que dirigen las vainas.
  • kubectl - Es la interfaz de línea de comandos para ejecutar comandos en el clúster Kubernetes.

Para comprender mejor cómo estos conceptos encajan en Kubernetes, mire este breve video:

Cómo instalar minikube

Sus necesidades de hardware tienen una virtualización habilitada en el BIOS de su computadora. La buena noticia es que la máquina más moderna ya se ha activado.

Estos son los pasos para instalar Minkube en su máquina:

  • Instalar virtualbox
  • Instalar kubectl
  • Instalar minikube

Ejemplo simple de implementación en Minikube

Una vez que tenga todo instalado, puede iniciar minikube con el siguiente comando:

$ minikube comienzo
Hay una versión más nueva de Minikube disponible (V0.28.0). Descarguelo aqui:
https: // github.com/kubernetes/minikube/comunes/tag/v0.28.0
Para deshabilitar esta notificación, ejecute lo siguiente:
Minikube Config set wantupdatenotificación false
Inicio de Kubernetes locales V1.9.0 Cluster ..
Comenzando VM ..
Obtener la dirección IP de VM ..
Mover archivos al clúster ..
Configurar certs ..
Conectarse al clúster ..
Configuración de Kubeconfig ..
Iniciar componentes del clúster ..
Kubectl ahora está configurado para usar el clúster.
Carga de imágenes en caché del archivo de configuración.

En su primera carrera, tomará tiempo encender Minikube, ya que construirá la VM para usted. Puede verificar subox virtual para ver la máquina virtual minikube gira:

Más tarde, cuando reinicie minikube, será más rápido.

Puede usar el siguiente comando para verificar su estado de minikube:

$ minikube estado
Minikube: Correr
Clúster: Ejecutar
Kubectl: Configurado correctamente: apuntando a Minikube-VM en 192.168.99.100

Una gran característica de Minikube es el tablero. Desde el tablero, puedes ver todo lo que está sucediendo en Minikube. También puede controlar los recursos en su clúster desde el tablero. Use el siguiente comando para iniciar el tablero en su navegador predeterminado:

$ Minikube Panel
Abrir el panel de Kubernetes en el navegador predeterminado ..

Así es como debería verse el tablero:

Implementemos una aplicación NGINX en Minikube. Aquí están los pasos:

1. Crear una vaina:

$ kubectl run mynginxapp --image = nginx: último --port = 80
implementación "mynginxapp" creado

2. Crear un servicio:

$ kubectl expone el despliegue mynginxapp --type = nodeport
servicio "mynginxapp" expuesto

3. Revise su vaina y estado de servicio:

$ kubectl consigue vainas
Nombre Ready Status Reinicia la edad
mynginxapp-6d64b788cc-j5crt 1/1 ejecutando 0 4m

$ kubectl obtener servicios
Nombre Tipo de clúster-IP External-IP Port (s) Edad
Kubernetes Clusterip 10.96.0.1 443/TCP 1H
mynginxapp nodeport 10.97.47.26 80: 30964/tcp 1m

Puedes ver que la cápsula y el servicio se ejecutan para mynginxapp.

4. Encontremos en qué dirección y puerto minikube está ejecutando mynginxapp:

$ Minikube servicio mynginxapp --Url
http: // 192.168.99.100: 30964

Si va a la URL devuelta (en este caso es http: // 192.168.99.100: 30964) En su navegador, debería ver el servicio Nginx en ejecución.

5. Revise el tablero nuevamente:

$ Minikube Panel
Abrir el panel de Kubernetes en el navegador predeterminado ..

6. Eliminar el servicio y el pod y detener minikube

$ kubectl eliminar servicio mynginxapp
Servicio "mynginxapp" eliminado
$ Kubectl Eliminar el despliegue mynginxapp
implementación "mynginxapp" eliminada
$ Minikube parada
Detener el clúster local de Kubernetes ..
Máquina detenida.

Resumen del ejemplo

En este ejemplo, primero desplegó un pod Nginx llamado mynginxapp. La imagen Nginx se descargó desde Docker Hub. Luego creó un servicio para admitir la cápsula. Pudiste ver el servicio del navegador. Por fin, eliminó la cápsula y el servicio y luego detuvo Minikube.

Ejemplo de minikube más detallado

Mira nuestro Kubernetes: comenzando Artículo que tiene un ejemplo de minikube más detallado.

Pregunta: prueba tu conocimiento

  1. ¿Puede explicar el concepto de contenedores, vainas y servicios??
  2. ¿Cómo interactúan los contenedores, las vainas y los servicios??
  3. Que es kubectl?
  4. ¿Cuántos clústeres de Kubernetes puedes comenzar en Minikube??
Estudio adicional
  • https: // kubernetes.io/docs/tutorials/hello-minikube
  • https: // kubernetes.io/documentos/hogar
  • https: // www.Digitalocean.com/Community/Tutorials/An-Introduction-to Kubernetes