Cómo instalar Kubernetes con Minikube en Ubuntu 20.04

Cómo instalar Kubernetes con Minikube en Ubuntu 20.04

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 previos

  • 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.

Empezando

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 ventana acoplable

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.

Empezar 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: Publicidad

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 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. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *