Aprender Kubernetes localmente a través de Minikube en Manjaro/Archlinux
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. Antes de comenzar, es esencial conocer los «manjaro requisitos» y «arch linux requisitos» para asegurarse de que su sistema está preparado para la instalación. Esta guía implementará el clúster de Kubernetes localmente con el controlador KVM2 y cubrirá un ejemplo de implementación del servicio Nginx.
Lo que haremos:
- Instalar dependencias de paquetes
- Instale 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 Kubernetes
Paso 1: instalar las dependencias de los 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. Verifique que su sistema cumpla con los «manjaro requisitos» y los «arch linux requisitos» para ejecutar estas herramientas sin problemas.
Paso 2: instale 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: instala Minikube y Kubectl
Para esta guía, instalaremos Minikube y kubectl desde el repositorio de AUR. Es importante mencionar que la instalación de «minikube arch linux» o «minikube archlinux» implica pasos específicos en sistemas basados en Arch.
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, teniendo en cuenta que «arch linux minikube» puede requerir pasos adicionales para la correcta inicialización.
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 resultado que se muestra a continuación.
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ás el resultado a continuación.
El clúster de Kubernetes está en funcionamiento en una computadora local con la dirección IP ‘192.168.39.78’, que utiliza 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.
Cree un nuevo directorio llamado ‘project/nginx/’ y acceda 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’.
Verifique la IP del clúster de Kubernetes y acceda a ella usando 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: acceda al panel de control de Kubernetes
Minikube proporciona un comando para acceder al tablero de Kubernetes que se ejecuta dentro del clúster de Minikube.
Ejecute el siguiente comando.
minikube dashboard
El comando abrirá el panel 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. Asegúrese de cumplir con «minikube arch linux» y los requisitos específicos para una experiencia fluida y eficaz.