Kubernetes también conocido como k8 , es una herramienta gratuita y de código abierto utilizada para la gestión de contenedores Docker. Es una plataforma de orquestación de contenedores diseñada para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores. En esta guía, aprenderá a instalar y configurar Kubernetes en Ubuntu 18.04 LTS.
Requisitos
Antes de comenzar, vamos a tener un laboratorio de prueba que comprende 3 nodos de Ubuntu 18.04 como se muestra a continuación
- Dirección IP del nodo principal de Kubernetes:172.31.4.36 Nombre de host:k8-master
- Dirección IP de Kubernetes Slave Node 1:172.31.4.170 Nombre de host:k8-slave
- Dirección IP de Kubernetes Slave Node 2:172.31.10.30 Nombre de host:k8-slave2
Además, asegúrese de que su sistema tenga los siguientes requisitos mínimos.
- 2 CPU
- 4 GB de RAM
- 8 GB de espacio libre en el disco duro
Ahora profundicemos y comencemos.
Paso 1. Configuración del nombre de host y actualización del archivo de hosts
Para comenzar, iniciará sesión en el nodo maestro a través de SSH y configurará el nombre de host como se muestra
$ sudo hostnamectl set-hostname "k8-master"
En los nodos esclavos ejecute los siguientes comandos
$ sudo hostnamectl set-hostname k8-slave
$ sudo hostnamectl set-hostname k8-slave2
Con su editor de texto favorito, realice las siguientes modificaciones en /etc/hosts
archivo para cada uno de los 3 nodos, es decir, k8-master, k8-slave y k9-slave2 respectivamente.
172.31.4.36 k8s-master
172.31.4.170 k8-slave
172.31.10.30 k8-slave2
Paso 2. Instalación de Docker en los nodos maestro y esclavo
Para instalar la ventana acoplable en el nodo maestro, primero actualice y actualice el sistema con el siguiente comando
$ sudo apt-get update && sudo apt-get upgrade
A continuación, instale Docker en los nodos Maestro y Esclavo con el siguiente comando
$ sudo apt-get install docker.io -y
Salida
Una vez que Docker se haya instalado correctamente, inicie y habilite el servicio de Docker en los nodos maestro y esclavo mediante los siguientes comandos.
$ sudo systemctl start docker
$ sudo systemctl enable docker
Salida
Para verificar que la ventana acoplable se está ejecutando, emita el comando en los nodos maestro y esclavo
$ sudo systemctl status docker
Salida
Para ver la versión de Docker que acaba de instalar, ejecute
$ docker --version
Salida
Paso 3. Configuración del repositorio de Kubernetes en los nodos Maestro y Esclavo
Antes de pasar al siguiente paso, necesitamos instalar algunos paquetes útiles. ejecute los siguientes comandos en todos los nodos
$ sudo apt-get install apt-transport-https curl -y
Salida
A continuación, agregue la clave del repositorio del paquete de Kubernetes ejecutando el siguiente comando
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Salida
A continuación, agregue el repositorio de Kubernetes con el siguiente comando.
$ sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
Salida
El repositorio de paquetes de Kubernetes para Ubuntu 18.04 LTS no está disponible. No obstante, hemos utilizado el repositorio de paquetes Xenial Kubernetes.
Paso 4. Inhabilitar el intercambio e instalar kubeadm
Vamos a instalar kubeadm paquete que nos permita implementar múltiples nodos en nuestro clúster.
Pero antes de hacerlo, el sitio oficial de Kubernetes recomienda deshabilitar la función de intercambio de sistema operativo. Para lograr esto, ejecute el siguiente comando.
$ sudo swapoff -a
ahora puede instalar el kubeadm paquete de la siguiente manera.
$ sudo apt-get install kubeadm -y
Salida
Tras la instalación exitosa de kubeadm paquete, verifique su versión usando el siguiente comando
$ kubeadm version
Salida
Paso 5. Inicio del clúster de Kubernetes mediante Kubeadm
En el nodo maestro, inicie sesión e inicialice kubernetes usando kubeadm como se muestra.
$ sudo kubeadm init --pod-network-cidr=172.31.4.0/20
Salida de muestra
El resultado anterior es una confirmación de que hemos iniciado con éxito el nodo maestro de Kubernetes Para iniciar el clúster, ejecute los comandos encerrados dentro del resaltado verde, uno tras otro
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Ahora vamos a verificar el estado del nodo maestro ejecutando el siguiente comando.
$ kubectl get nodes
En este punto, recibirá un aviso de que el nodo maestro no está listo porque aún no hemos implementado ningún pod. En el siguiente paso, implementaremos una red de pod, que es la red en la que nuestros nodos de clúster podrán comunicarse entre sí. Para lograr esto, implementaremos Flannel como nuestra red de módulos. Flannel proporcionará una red de superposición entre los nodos del clúster
Paso 6. Implementación de Flannel como red de módulos
Para implementar la red de módulos, ejecute el siguiente comando en el nodo principal
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Salida de muestra
En este punto, ahora podemos verificar el estado del Master Node usando el kubectl
comando
$ sudo kubectl get nodes
Salida
Como se ve arriba, el estado del nodo maestro ha cambiado a "Listo". Además, verifique los espacios de nombres del pod como se muestra.
$ sudo kubectl get pods --all-namespaces
Salida
El resultado anterior muestra que todos los espacios de nombres del pod están en ejecución. el paso final será unir los nodos esclavos al clúster.
Paso 7. Agregar un nodo esclavo al clúster
En este paso, iniciaremos sesión en ambos nodos esclavos (k8-slave y k8-slave2) y ejecutaremos el siguiente comando que aparece resaltado en rojo en el Paso 5
$ kubeadm join 172.31.4.36:6443 --token w8kbni.wiyevyov0yxwwtdj --discovery-token-ca-cert-hash sha256:29adc042c538f59f0c7339ebad2126d5836de06ffe0ae22c54ce0aef2eb4cb76
Salida de muestra
Ahora diríjase al esclavo maestro y verifique el estado de los nodos maestro y esclavo usando kubectl
comando
$ kubectl get nodes
Salida
El resultado anterior confirma que agregamos con éxito nuestros dos nodos esclavos al clúster y su estado, así como el nodo maestro, ¡están listos!
¡Maravilloso! Hemos concluido nuestro tutorial sobre cómo instalar y configurar Kubernetes en Ubuntu 18.04 LTS. Tus comentarios son bienvenidos.