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:

Instalar Kubernetes Clusetr con Minikube en Ubuntu

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.

También te podría gustar...