Minikube es una herramienta de código abierto que lo ayuda a configurar un clúster de Kubernetes de un solo nodo en su máquina local. Facilita la ejecución de un clúster de Kubernetes de un solo nodo en su computadora personal para el trabajo de desarrollo diario. Es multiplataforma y se puede instalar en macOS, Linux y Windows.
En este tutorial, le mostraremos cómo instalar Minikube en el servidor Ubuntu 20.04.
Requisitos
- Escritorio Ubuntu 20.04 instalado en su sistema.
- Mínimo 4 GB de RAM y 2 o más núcleos de CPU.
- La virtualización de hardware debe estar habilitada en su sistema local.
- Se configura una contraseña de root en el servidor.
Cómo empezar
Antes de comenzar, se recomienda actualizar los paquetes de su sistema a la última versión. Puede actualizarlos ejecutando el siguiente comando:
apt-get update -y
Una vez que todos los paquetes estén actualizados, instale otras dependencias ejecutando el siguiente comando:
apt-get install curl wget apt-transport-https virtualbox virtualbox-ext-pack -y
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar Docker
A continuación, deberá instalar Docker en su sistema. Puede instalarlo ejecutando el siguiente comando:
apt-get install docker.io -y
Una vez que Docker esté instalado, inicie el servicio Docker y habilítelo para que se inicie al reiniciar el sistema:
systemctl start docker
systemctl enable docker
Ahora puede verificar la versión de Docker usando el siguiente comando:
docker --version
Debería ver la versión de Docker en el siguiente resultado:
Docker version 19.03.8, build afacb8b7f0
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar Minikube
De forma predeterminada, Minikube no está disponible en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá descargar el paquete binario Minikube desde su sitio web oficial. Puedes descargarlo con el siguiente comando:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Una vez que se complete la descarga, copie el binario descargado a la ruta del sistema usando el siguiente comando:
cp minikube-linux-amd64 /usr/local/bin/minikube
A continuación, proporcione permiso de ejecución con el siguiente comando:
chmod 755 /usr/local/bin/minikube
Ahora puede verificar la versión de Minikube con el siguiente comando:
minikube version
Deberías obtener el siguiente resultado:
minikube version: v1.16.0 commit: 9f1e482427589ff8451c4723b6ba53bb9742fbb1
Una vez que haya terminado, puede continuar con el siguiente paso.
Instalar Kubectl
A continuación, deberá instalar Kubectl y otras herramientas para administrar aplicaciones en Kubernetes. Primero, agregue la clave GPG con el siguiente comando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
A continuación, agregue el repositorio kubectl con el siguiente comando:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
Una vez que se agrega el repositorio, actualice el caché del repositorio e instale Kubectl ejecutando el siguiente comando:
apt-get update -y
apt-get install kubectl kubeadm kubectl -y
Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.
Iniciar Minikube
En este punto, todos los paquetes necesarios están instalados. Ahora puede iniciar Minikube con el siguiente comando:
minikube start
Deberías obtener el siguiente resultado:
* minikube v1.16.0 on Ubuntu 20.04 (kvm/amd64) * Using the none driver based on user configuration * Starting control plane node minikube in cluster minikube * Running on localhost (CPUs=2, Memory=3936MB, Disk=100726MB) ... * OS release is Ubuntu 20.04 LTS * Preparing Kubernetes v1.20.0 on Docker 19.03.8 ... - kubelet.resolv-conf=/run/systemd/resolve/resolv.conf > kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s > kubeadm.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s > kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s > kubeadm: 37.40 MiB / 37.40 MiB [---------------] 100.00% 27.29 MiB p/s 1s > kubectl: 38.37 MiB / 38.37 MiB [---------------] 100.00% 27.60 MiB p/s 1s > kubelet: 108.69 MiB / 108.69 MiB [-------------] 100.00% 42.08 MiB p/s 3s - Generating certificates and keys ... - Booting up control plane ... - Configuring RBAC rules ... * Configuring local host environment ... * ! The 'none' driver is designed for experts who need to integrate with an existing VM * Most users should use the newer 'docker' driver instead, which does not require root! * For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/ * ! kubectl and minikube configuration will be stored in /root ! To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run: * - sudo mv /root/.kube /root/.minikube $HOME - sudo chown -R $USER $HOME/.kube $HOME/.minikube * * This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true * Verifying Kubernetes components... * Enabled addons: storage-provisioner, default-storageclass * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Puede verificar la información del clúster con el siguiente comando:
kubectl cluster-info
Deberías obtener el siguiente resultado:
Kubernetes control plane is running at https://45.58.38.77:8443 KubeDNS is running at https://45.58.38.77:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Puede verificar la configuración predeterminada de Kubectl con el siguiente comando:
kubectl config view
Debería ver el siguiente resultado:
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://45.58.38.77:8443 name: minikube contexts: - context: cluster: minikube namespace: default user: minikube name: minikube current-context: minikube kind: Config preferences: {} users: - name: minikube user: client-certificate: /root/.minikube/profiles/minikube/client.crt client-key: /root/.minikube/profiles/minikube/client.key
Puede verificar todos los nodos en ejecución con el siguiente comando:
kubectl get nodes
Deberías obtener el siguiente resultado:
NAME STATUS ROLES AGE VERSION ubuntu2004 Ready control-plane,master 2m24s v1.20.0
Para verificar el estado de Minikube, ejecute el siguiente comando:
minikube status
Deberías obtener el siguiente resultado:
minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured timeToStop: Nonexistent
Una vez que haya terminado, puede continuar con el siguiente paso.
Acceder al panel de control de Kubernetes
Minikube viene con muchos complementos que puede habilitar o deshabilitar según sus necesidades. Puede enumerar todos los complementos con el siguiente comando:
minikube addons list
Deberías obtener el siguiente resultado:
|-----------------------------|----------|--------------| | ADDON NAME | PROFILE | STATUS | |-----------------------------|----------|--------------| | ambassador | minikube | disabled | | csi-hostpath-driver | minikube | disabled | | dashboard | minikube | disabled | | default-storageclass | minikube | enabled ? | | efk | minikube | disabled | | freshpod | minikube | disabled | | gcp-auth | minikube | disabled | | gvisor | minikube | disabled | | helm-tiller | minikube | disabled | | ingress | minikube | disabled | | ingress-dns | minikube | disabled | | istio | minikube | disabled | | istio-provisioner | minikube | disabled | | kubevirt | minikube | disabled | | logviewer | minikube | disabled | | metallb | minikube | disabled | | metrics-server | minikube | disabled | | nvidia-driver-installer | minikube | disabled | | nvidia-gpu-device-plugin | minikube | disabled | | olm | minikube | disabled | | pod-security-policy | minikube | disabled | | registry | minikube | disabled | | registry-aliases | minikube | disabled | | registry-creds | minikube | disabled | | storage-provisioner | minikube | enabled ? | | storage-provisioner-gluster | minikube | disabled | | volumesnapshots | minikube | disabled | |-----------------------------|----------|--------------|
A continuación, enumere todas las imágenes de contenedores que se ejecutan en el clúster con el siguiente comando:
kubectl get pods --all-namespaces
Deberías obtener el siguiente resultado:
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-74ff55c5b-skf9d 1/1 Running 0 3m45s kube-system etcd-ubuntu2004 1/1 Running 0 3m54s kube-system kube-apiserver-ubuntu2004 1/1 Running 0 3m54s kube-system kube-controller-manager-ubuntu2004 1/1 Running 0 3m54s kube-system kube-proxy-w8q6d 1/1 Running 0 3m45s kube-system kube-scheduler-ubuntu2004 1/1 Running 0 3m54s kube-system storage-provisioner 1/1 Running 0 3m59s
A continuación, habilite el panel de Kubernetes y obtenga la URL del panel con el siguiente comando:
minikube dashboard --url
Deberías obtener el siguiente resultado:
* Enabling dashboard ... * Verifying dashboard health ... * Launching proxy ... * Verifying proxy health ... http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ You can now access and manage the Kubernetes cluster using the URL http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Conclusión
En la guía anterior, aprendió cómo instalar Minikube y usarlo para configurar un clúster de Kubernetes en Ubuntu 20.04. Ahora puede usar Minikube para configurar el clúster de Kubernetes localmente y administrarlo desde el navegador web. Siéntase libre de preguntarme si tiene alguna pregunta.