GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

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


Ubuntu
  1. Cómo instalar Kubernetes en Ubuntu 18.04

  2. Cómo instalar Minikube en Ubuntu 18.04 / 20.04

  3. Cómo instalar Logstash en Ubuntu 18.04

  4. Cómo instalar Nginx con Google PageSpeed ​​en Ubuntu 20.04

  5. Cómo instalar R en Ubuntu 18.04

Cómo instalar Podman en Ubuntu 20.04

Cómo instalar Minikube en Ubuntu 20.04

Cómo instalar Kubernetes minikube en Ubuntu 20.04

Cómo instalar OpenCV en Ubuntu 20.04

Cómo instalar Sysdig en Ubuntu 20.04

Cómo instalar Kubernetes con Minikube en CentOS 8