Minikube es una herramienta gratuita y de código abierto que le permite configurar un clúster de Kubernetes de un solo nodo dentro de su sistema Linux. Minikube se puede instalar en sistemas operativos Linux, MacOS y Windows. Minikube también es compatible con varias funciones de Kubernetes, como NodePorts, DNS, Container Network Interface, Ingress, ConfigMaps, Secrets y mucho más.
En este tutorial, aprenderemos a instalar un clúster Minikube de un solo nodo de Kubernetes en Ubuntu 18.04 LTS.
Requisitos
- Un nuevo escritorio Ubuntu 18.04 instalado en su sistema.
- Se ha configurado una contraseña raíz en su sistema.
Cómo empezar
Primero, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que el sistema esté actualizado, reinícielo para aplicar todos los cambios.
A continuación, instale algunos paquetes necesarios con el siguiente comando:
apt-get install curl wget apt-transport-https -y
Instalar hipervisor de VirtualBox
Minikube es compatible con el hipervisor KVM y VirtualBox. Por lo tanto, deberá instalar VirtualBox o KVM en su sistema.
Puede instalar Virtualbox con el siguiente comando:
apt-get install virtualbox virtualbox-ext-pack
Una vez que se haya completado la instalación, puede continuar con el siguiente paso.
Instalar Minikube
Primero, deberá descargar la última versión de Minikube en su sistema. Puedes descargarlo de sus sitios web oficiales con el siguiente comando:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Una vez completada la descarga, copie el archivo descargado en /usr/local/bin con el siguiente comando:
cp minikube-linux-amd64 /usr/local/bin/minikube
A continuación, otorgue 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ía ver el siguiente resultado:
minikube version: v0.34.1
Instalar Kubectl
Kubectl es una herramienta para implementar y administrar aplicaciones en Kubernetes. De forma predeterminada, Kubectl no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deberá agregar el repositorio de Kubernetes a su sistema.
Primero, descargue y 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 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, actualice el repositorio e instale Kubectl con el siguiente comando:
apt-get update -y
apt-get install kubectl -y
Una vez que se haya instalado Kubectl, puede verificar la versión usando el siguiente comando:
kubectl version -o json
Debería ver el siguiente resultado:
{ "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 puede iniciar Minikube con el siguiente comando:
minikube start
Esto descargará la imagen de Virtualbox y configurará el clúster de 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 puede verificar el estado del clúster con el siguiente comando:
kubectl cluster-info
Debería ver el siguiente resultado:
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 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://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 verificar los nodos en ejecución, ejecute el siguiente comando:
kubectl get nodes
Salida:
NAME STATUS ROLES AGE VERSION minikube Ready master 2m45s v1.13.3
También puede acceder a Minikube Virtualbox con el siguiente comando:
minikube ssh
Debería ver el siguiente resultado:
_ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) $
Ahora, sal del shell de Virtualbox:
$exit
También puede detener y eliminar el clúster de kubernetes en cualquier momento con el siguiente comando:
minikube stop
minikube delete
Puede comprobar el estado de Minikube con el siguiente comando:
minikube status
Debería ver el siguiente resultado:
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
De forma predeterminada, Kubernetes viene con un panel web que se puede usar para administrar su clúster.
Puede enumerar todos los complementos de minikube con el siguiente comando:
minikube addons list
Debería ver el siguiente resultado:
- 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, enumere todas las imágenes de contenedores que se ejecutan en el clúster con el siguiente comando:
kubectl get pods --all-namespaces
Debería ver el siguiente resultado:
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, ejecute el siguiente comando para obtener la URL del panel de Kubernate:
minikube dashboard --url
Debería ver el siguiente resultado:
- 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/
Su URL web de Minikube ya está generada. A continuación, abra su navegador web y escriba la URL http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/. Será redirigido al panel de control de Kubernate como se muestra en la siguiente página:
¡Felicidades! Ha instalado correctamente Minikube en Ubuntu 18.04. Ahora puede administrar fácilmente su clúster de Kubernetes a través de su navegador web.