¿Cómo instalar Kubernetes en Ubuntu y derivados y crear dos nodos?

Kubernetes Ubuntu

Kubernetes es un sistema de administración de contenedores gratuito y de código abierto que proporciona una plataforma para la automatización de la implementación, el escalado y las operaciones de los contenedores de aplicaciones en grupos de equipos host.

Con Kubernetes, pueden hacer uso libremente de la infraestructura de nube híbrida, local y pública para ejecutar las tareas de implementación de su organización.

Instalación Kubernetes en Ubuntu y derivados

Para una instalación práctica, vamos a utilizar un clúster de dos nodos que formaremos en este artículo constará de un nodo maestro y un nodo esclavo.

Ambos nodos necesitan tener Kubernetes instalado en ellos. Lo primero que vamos a hacer es instalar docker en ambos, para ello basta que ejecutemos en ellos el siguiente comando:

sudo apt install docker.io

Para verificar que docker está instalado, pueden ejecutar en ambos nodos el siguiente comando:

docker --version

Ahora vamos a proceder a habilitar docker en ambos nodos:

sudo systemctl enable docker

Ahora el siguiente paso es añadir la clave de Kubernetes a ambos nodos, esto lo hacemos con el siguiente comando:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

El siguiente paso es añadir el siguiente repositorio a ambos sistemas:

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

El último paso en el proceso de instalación es instalar Kubeadm en ambos nodos a través del siguiente comando:

sudo apt install kubeadm

Pueden verificar el número de versión de Kubeadm y también verificar la instalación a través del siguiente comando:

kubeadm version

Despliegue Kubernetes

Ahora para implementar el despliegue de Kubernetes en el sistema debemos de deshabilitar la memoria de intercambio (si se está ejecutando) en ambos nodos

Deben de desactivar la memoria de intercambio en ambos nodos, ya que Kubernetes no funciona correctamente en un sistema que utiliza memoria de intercambio.

Para ello basta con ejecutar:

sudo swapoff -a

Ahora el siguiente paso es ejecutar el siguiente comando en el nodo maestro para darle un nombre de host único:

sudo hostnamectl set-hostname master-node

Mientras que para el nodo esclavo debemos de teclear:

sudo hostnamectl set-hostname slave-node

Hecho esto ahora vamos a proceder a inicializar el nodo maestro con el siguiente comando:

sudo kubeadm init --pod-network-cidr = 10.244.0.0/16

El proceso puede tardar un minuto o más dependiendo de su conexión a Internet. La salida de este comando es muy importante por lo que deben de anotar la información de la salida, pues contiene la ip, token y demás.

Para comenzar a usar tu clúster, necesitan ejecutar lo siguiente como usuario regular:

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

Ahora pueden unirse a cualquier número de máquinas ejecutando lo siguiente en cada nodo como usuarios root:

kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash

En donde van a remplazar la información de tutoken, tuip y tu hash por la información que se dijo hace unos momentos que anotaran.

Obteniendo la lista de nodos

Verá que el estado del nodo maestro aún no está listo. Esto se debe a que aún no se ha implementado ningún pod en el nodo maestro y, por lo tanto, la Interfaz de redes de contenedores está vacía.

Para ver el listado solamente debemos de ejecutar:

kubectl get nodes

Implementando una red de pod a través del nodo maestro

Una red de pod es un medio de comunicación entre los nodos de una red. En este tutorial, estamos implementando una red de pod de Flannel en nuestro clúster a través del siguiente comando:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Para conocer el estado de la red, basta con teclear:

kubectl get pods --all-namespaces

sudo kubectl get nodes

Hecho esto ahora es momento de añadir el nodo esclavo a la red para formar un clúster, de igual forma deben de complementar la información al igual que en el nodo maestro.

sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash

Ahora, cuando ejecuten el siguiente comando en el nodo maestro, confirmará que dos nodos, el nodo maestro y los nodos de servidor se están ejecutando en su sistema.

sudo kubectl get nodes

Esto muestra que el clúster de dos nodos ahora está activo y en ejecución a través del sistema de administración de contenedores Kubernetes.


Sé el primero en comentar

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.