Cómo instalar Kubernetes con Minikube en Ubuntu
Minikube es una herramienta gratuita y de código abierto que te permite configurar un clúster Kubernetes de un solo nodo dentro de tu sistema Linux. Minikube puede instalarse en sistemas operativos Linux, MacOS y Windows. Minikube también soporta varias características de Kubernetes como NodePorts, DNS, Interfaz de Red de Contenedores, Ingress, ConfigMaps, Secretos y mucho más.
En este tutorial, aprenderemos a instalar un Clúster Kubernetes de un solo nodo Minikube en Ubuntu 18.04 LTS.
Requisitos
- Un escritorio fresco de Ubuntu 18.04 instalado en tu sistema.
- Una contraseña de root configurada en tu sistema.
Cómo empezar
En primer lugar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:
apt-get update -y apt-get upgrade -y
Una vez actualizado el sistema, reinícialo para que se apliquen todos los cambios.
A continuación, instala algunos paquetes necesarios con el siguiente comando:
apt-get install curl wget apt-transport-https -y
Instalar el hipervisor VirtualBox
Minikube soporta tanto el hipervisor KVM como el VirtualBox. Por tanto, necesitarás instalar VirtualBox o KVM en tu sistema.
Puedes instalar Virtualbox con el siguiente comando:
apt-get install virtualbox virtualbox-ext-pack
Una vez completada la instalación, puedes pasar al siguiente paso.
Instalar Minikube
En primer lugar, tendrás que descargar la última versión de Minikube en tu sistema. Puedes descargarla desde sus sitios web oficiales con el siguiente comando:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Una vez finalizada la descarga, copia el archivo descargado en /usr/local/bin con el siguiente comando:
cp minikube-linux-amd64 /usr/local/bin/minikube
A continuación, da permiso de ejecución al minikube con el siguiente comando:
chmod 755 /usr/local/bin/minikube
A continuación, comprueba la versión de Minikube con el siguiente comando:
minikube version
Deberías ver la siguiente salida:
minikube version: v0.34.1
Instala Kubectl
Kubectl es una herramienta para desplegar y gestionar aplicaciones en Kubernetes. Por defecto, Kubectl no está disponible en el repositorio por defecto de Ubuntu 18.04. Por tanto, tendrás que añadir el repositorio de Kubernetes a tu sistema.
Primero, descarga y añade 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, añade el repositorio apt de Kubernetes con el siguiente comando:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
A continuación, actualiza el repositorio e instala Kubectl con el siguiente comando:
apt-get update -y apt-get install kubectl -y
Una vez instalado Kubectl, puedes comprobar la versión con el siguiente comando:
kubectl version -o json
Deberías ver la siguiente salida:
{ "clientVersion": { "major": "1", "minor": "13", "gitVersion": "v1.13.4", "gitCommit": "c27b913fddd1a6c480c229191a087698aa92f0b1", "gitTreeState": "clean", "buildDate": "2019-02-28T13:37:52Z", "goVersion": "go1.11.5", "compiler": "gc", "platform": "linux/amd64" } }
Iniciar Minikube
Todos los paquetes necesarios están instalados. Ahora puedes iniciar Minikube con el siguiente comando:
minikube start
Esto descargará la imagen de Virtualbox y configurará el clúster Kubernetes como se muestra a continuación:
o minikube v0.34.1 on linux (amd64) > Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... @ Downloading Minikube ISO ... 184.30 MB / 184.30 MB [============================================] 100.00% 0s - "minikube" IP address is 192.168.99.100 - Configuring Docker as the container runtime ... - Preparing Kubernetes environment ... @ Downloading kubeadm v1.13.3 @ Downloading kubelet v1.13.3 - Pulling images required by Kubernetes v1.13.3 ... - Launching Kubernetes v1.13.3 using kubeadm ... - Configuring cluster permissions ... - Verifying component health ..... + kubectl is now configured to use "minikube" = Done! Thank you for using minikube!
Ahora puedes comprobar el estado del clúster con el siguiente comando:
kubectl cluster-info
Deberías ver la siguiente salida:
Kubernetes master is running at https://192.168.99.100:8443 KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
También puedes comprobar la configuración por defecto de Kubectl con el siguiente comando:
kubectl config view
Deberías ver la siguiente salida:
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://192.168.99.100:8443 name: minikube contexts: - context: cluster: minikube user: minikube name: minikube current-context: minikube kind: Config preferences: {} users: - name: minikube user: client-certificate: /root/.minikube/client.crt client-key: /root/.minikube/client.key
Para comprobar los nodos en ejecución, ejecuta el siguiente comando:
kubectl get nodes
Salida:
NAME STATUS ROLES AGE VERSION minikube Ready master 2m45s v1.13.3
También puedes acceder al Virtualbox de Minikube con el siguiente comando:
minikube ssh
Deberías ver la siguiente salida:
_ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) $
Ahora, sal del intérprete de comandos de Virtualbox:
$exit
También puedes detener y eliminar el clúster kubernetes en cualquier momento con el siguiente comando:
minikube stop minikube delete
Puedes comprobar el estado de Minikube con el siguiente comando:
minikube status
Deberías ver la siguiente salida:
host: Running kubelet: Running apiserver: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
Acceder al panel de control de Kubernetes
Por defecto, Kubernetes viene con un panel web que puedes utilizar para gestionar tu clúster.
Puedes listar todos los complementos de minikube con el siguiente comando:
minikube addons list
Deberías ver la siguiente salida:
- addon-manager: enabled - dashboard: disabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: disabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled
A continuación, lista todas las imágenes contenedoras que se ejecutan en el clúster con el siguiente comando:
kubectl get pods --all-namespaces
Deberías ver la siguiente salida:
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-86c58d9df4-76dkf 1/1 Running 0 4m30s kube-system coredns-86c58d9df4-wdtwb 1/1 Running 0 4m29s kube-system etcd-minikube 1/1 Running 0 8m17s kube-system kube-addon-manager-minikube 1/1 Running 0 8m6s kube-system kube-apiserver-minikube 1/1 Running 1 8m13s kube-system kube-controller-manager-minikube 1/1 Running 1 8m13s kube-system kube-proxy-5k8qf 1/1 Running 0 4m33s kube-system kube-scheduler-minikube 1/1 Running 0 8m2s kube-system kubernetes-dashboard-ccc79bfc9-z827s 1/1 Running 0 4m17s kube-system storage-provisioner 1/1 Running 0 4m13s
Ahora, ejecuta el siguiente comando para obtener la URL del panel de control de kubernate:
minikube dashboard --url
Deberías ver la siguiente salida:
- Enabling dashboard ... - Verifying dashboard health ... - Launching proxy ... - Verifying proxy health ... http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/
Ahora se ha generado tu url web de Minikube. A continuación, abre tu navegador web y escribe la URL http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/. Serás redirigido al dashboad de Kubernate como se muestra en la siguiente página:
Enhorabuena! has instalado con éxito Minikube en Ubuntu 18.04. Ahora puedes gestionar fácilmente tu clúster Kubernetes a través de tu navegador web.