Introducción
Kubernetes es una plataforma de código abierto para administrar tecnologías de contenedores como Docker.
Docker le permite crear contenedores para una imagen y una aplicación preconfiguradas. Kubernetes proporciona el siguiente paso, lo que le permite equilibrar cargas entre contenedores y ejecutar múltiples contenedores en múltiples sistemas.
Esta guía lo guiará a través de cómo instalar Kubernetes en Ubuntu 18.04 .
Requisitos previos
- 2 o más servidores Linux con Ubuntu 18.04
- Acceso a una cuenta de usuario en cada sistema con sudo o privilegios de root
- El apto administrador de paquetes, incluido por defecto
- Línea de comandos/ventana de terminal (Ctrl –
Alternativo –T )
Pasos para instalar Kubernetes en Ubuntu
Configurar Docker
Paso 1:Instalar Docker
Kubernetes requiere una instalación de Docker existente. Si ya tiene Docker instalado, continúe con el Paso 2 .
Si no tiene Kubernetes, instálelo siguiendo estos pasos:
1. Actualice la lista de paquetes con el comando:
sudo apt-get update
2. A continuación, instale Docker con el comando:
sudo apt-get install docker.io
3. Repita el proceso en cada servidor que actuará como nodo.
4. Verifique la instalación (y la versión) ingresando lo siguiente:
docker ––version
Paso 2:Iniciar y habilitar Docker
1. Configure Docker para que se inicie en el arranque ingresando lo siguiente:
sudo systemctl enable docker
2. Verifique que Docker se esté ejecutando:
sudo systemctl status docker
Para iniciar Docker si no se está ejecutando:
sudo systemctl start docker
3. Repita en todos los demás nodos.
Instalar Kubernetes
Paso 3:Agregue la clave de firma de Kubernetes
Dado que está descargando Kubernetes desde un repositorio no estándar, es esencial asegurarse de que el software sea auténtico. Esto se hace agregando una clave de firma.
1. Ingrese lo siguiente para agregar una clave de firma:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Si obtiene un error que curl
no está instalado, instálelo con:
sudo apt-get install curl
2. Luego repita el comando anterior para instalar las claves de firma. Repita para cada nodo de servidor.
Paso 4:Agregar repositorios de software
Kubernetes no está incluido en los repositorios predeterminados. Para agregarlos, ingrese lo siguiente:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Repita en cada nodo del servidor.
Paso 5:Herramientas de instalación de Kubernetes
Kubeadm (Kubernetes Admin) es una herramienta que ayuda a inicializar un clúster. Agiliza la configuración mediante el uso de las mejores prácticas de la comunidad. Kubelet es el paquete de trabajo, que se ejecuta en todos los nodos e inicia contenedores. La herramienta le brinda acceso de línea de comandos a los clústeres.
1. Instale las herramientas de Kubernetes con el comando:
sudo apt-get install kubeadm kubelet kubectl
sudo apt-mark hold kubeadm kubelet kubectl
Permita que el proceso se complete.
2. Verifique la instalación con:
kubeadm version
3. Repita para cada nodo de servidor.
Despliegue de Kubernetes
Paso 6:Comience la implementación de Kubernetes
Comience por deshabilitar la memoria de intercambio en cada servidor:
sudo swapoff –a
Paso 7:Asigne un nombre de host único para cada nodo de servidor
Decida qué servidor establecer como nodo principal. Luego ingrese el comando:
sudo hostnamectl set-hostname master-node
A continuación, establezca un nombre de host de nodo trabajador ingresando lo siguiente en el servidor trabajador:
sudo hostnamectl set-hostname worker01
Si tiene nodos trabajadores adicionales, use este proceso para establecer un nombre de host único en cada uno.
Paso 8:inicialice Kubernetes en el nodo maestro
Cambie al nodo del servidor maestro e ingrese lo siguiente:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Una vez que finalice este comando, mostrará una kubeadm join
mensaje al final. Tome nota de toda la entrada. Esto se usará para unir los nodos trabajadores al clúster.
A continuación, ingrese lo siguiente para crear un directorio para el clúster:
kubernetes-master:~$ mkdir -p $HOME/.kube
kubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Paso 9:implementar la red de pods en el clúster
Una red de pods es una forma de permitir la comunicación entre diferentes nodos en el clúster. Este tutorial utiliza la flannel
red virtual.
Introduzca lo siguiente:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Permita que el proceso se complete.
Verifique que todo esté funcionando y comunicándose:
kubectl get pods --all-namespaces
Paso 10:unir el nodo trabajador al clúster
Como se indica en el Paso 7 , puede ingresar el kubeadm join
comando en cada nodo trabajador para conectarlo al clúster.
Cambiar a worker01
system e ingrese el comando que anotó en el Paso 7:
kubeadm join --discovery-token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443
Reemplace los códigos alfanuméricos con los de su servidor maestro. Repita para cada nodo trabajador en el clúster. Espera unos minutos; luego puede verificar el estado de los nodos.
Cambie al servidor maestro e ingrese:
kubectl get nodes
El sistema debería mostrar los nodos trabajadores que unió al clúster.