Minikube es una herramienta que le permite ejecutar Kubernetes en su sistema informático local. Minikube creará un clúster de Kubernetes de un solo nodo dentro de la máquina virtual según el controlador de máquina virtual que utilice. Minikube es bueno para aprender sobre Kubernetes, incluidos los propósitos de prueba, desarrollo o capacitación.
En este tutorial, le mostraremos paso a paso cómo crear un clúster de Kubernetes de un solo nodo localmente usando Minikube en Manjaro/ArchLinux. Esta guía implementará el clúster de Kubernetes localmente con el controlador KVM2 y cubrirá un ejemplo de implementación del servicio Nginx.
Qué haremos:
- Instalar dependencias de paquetes
- Instalar la máquina Docker y el controlador KVM2
- Instalar Minikube y Kubectl
- Inicialización de Kubernetes con Minikube
- Implementación de prueba
- Acceda al panel de control de Kubernetes
Paso 1:instalar dependencias de paquetes
El primer paso que haremos será instalar todas las dependencias de los paquetes, incluidos qemu KVM y dnsmasq.
Instale qemu y dnsmasq usando el comando pacman a continuación.
sudo pacman -Sy libvirt qemu ebtables dnsmasq
Cuando se complete la instalación, agregue el usuario al grupo 'libvirt' y vuelva a cargar.
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Ahora inicie los servicios libvirtd y virtlogd, y agregue esos servicios al tiempo de arranque.
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service
Los paquetes y dependencias qemu KVM se han instalado en el sistema.
Paso 2:instalar Docker-Machine y el controlador KVM2
Minikube usa la máquina docker para administrar la VM de Kubernetes, y necesitamos instalar 'docker-machine-driver-kvm2' para ella.
Instale la máquina docker usando el comando pacman a continuación.
sudo pacman -Sy docker-machine
Ahora instale 'docker-machine-driver-kvm2' desde el repositorio de AUR usando el comando yaourt.
yaourt -Sy docker-machine-driver-kvm2
Espere la instalación.
Paso 3:instalar Minikube y Kubectl
Para esta guía, instalaremos Minikube y kubectl desde el repositorio de AUR.
Ejecute el comando yaourt a continuación.
yaourt -Sy minikube-bin kubectl-bin
Cuando se complete la instalación, verifique la versión de Minikube y el comando kubectl.
minikube version
whereis kubectl
kubectl -h
Paso 4:inicialización de Kubernetes con Minikube
Inicialice el clúster de Kubernetes de un solo nodo con el siguiente comando de Minikube.
minikube start --vm-driver kvm2
El comando descargará el archivo ISO de Minikube y creará la máquina virtual KVM en el sistema.
Cuando esté completo, obtendrá el siguiente resultado.
Kubernetes se instaló en la computadora local usando Minikube, verifique ejecutando todos los comandos a continuación.
minikube status
kubectl cluster-info
kubectl get nodes
Ahora verá el resultado a continuación.
El clúster de Kubernetes está funcionando en una computadora local con la dirección IP '192.168.39.78', usando Kubernetes v1.10 y un nodo único llamado minikube como maestro del clúster.
Paso 5:prueba de implementaciones
En este paso, probaremos los kubernetes creando una nueva implementación para el servidor web Nginx.
Crea un nuevo directorio llamado 'project/nginx/' y ve a él.
mkdir -p projects/nginx/
cd projects/nginx/
Ahora cree un nuevo archivo yaml para nuestra configuración de implementación.
vim nginx-deployment-service.yaml
Y pegue las configuraciones a continuación.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
run: nginx-service
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
selector:
app: nginx
Guardar y salir.
Ahora cree la implementación ejecutando el siguiente comando kubectl.
kubectl create -f nginx-deployment.yaml
Cuando esté completo, verifique la implementación de Kubernetes.
kubectl get deployments
kubectl describe deployments nginx-deployment
Y obtendrá el 'despliegue de nginx' en la lista.
Ahora comprueba el servicio de Kubernetes.
kubectl get services
kubectl describe services nginx-service
Y verá que el 'servicio nginx' de NodePort se está ejecutando en el puerto '32274'.
Compruebe la IP del clúster de Kubernetes y acceda a ella mediante el comando curl.
minikube ip
curl -I http://192.168.39.49:32274/
Y obtendrá la respuesta del servidor web Nginx.
A continuación se muestra el resultado cuando accedemos desde el navegador web.
http://192.168.39.49:32274/
Paso 6:acceder al panel de control de Kubernetes
Minikube proporciona un comando para acceder al panel de control de Kubernetes que se ejecuta dentro del clúster de Minikube.
Ejecute el siguiente comando.
minikube dashboard
El comando abrirá el panel de control de Kubernetes usando el navegador web predeterminado en el sistema.
A continuación se muestra el panel de control de Kubernetes.
La instalación de Kubenrnetes en la computadora local Manjaro/Archlinux usando Minikube se completó con éxito.