Kubernetes es un sistema de código abierto que se utiliza para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores. También se llama K8s, que es una abreviatura corta que viene al reemplazar las ocho letras restantes "ubernete" con 8.
Instalación de Kubernetes en Ubuntu
En este tutorial, le mostraremos cómo instalar Kubernetes y configurarlo en el sistema Ubuntu. Para este tutorial necesitará dos nodos Ubuntu (máquinas) con las siguientes configuraciones mínimas:
- Nodo 1:será un nodo maestro (CPU de 2 núcleos, 2 GB de RAM).
- Nodo 2:Será un nodo esclavo (CPU de 1 Core, 1GB RAM).
Antes de comenzar el proceso de instalación, deberá asegurarse de que su máquina esté actualizada. Puede utilizar los siguientes comandos:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Establecer nombre de host para sus nodos
Paso 1. En su nodo maestro, use el siguiente comando:
sudo hostnamectl set-hostname kubernetes-master
Paso 2. En su nodo esclavo, use el siguiente comando:
sudo hostnamectl set-hostname kubernetes-slave
Se recomienda enfáticamente que ambos nodos tengan una fecha y hora precisas para obtener certificados TLS válidos.
Instalación de Docker
Realice los siguientes pasos tanto en el maestro como en el esclavo.
Paso 1. Instale Docker con el siguiente comando.
sudo apt install docker.io
Paso 2. Verifique su instalación, puede usar:
docker --version
Paso 3. De forma predeterminada, el servicio docker no está habilitado. Entonces, una vez que la instalación se complete con éxito, ejecute el siguiente comando en ambos nodos para habilitar el servicio docker.
sudo systemctl enable docker
Instalación de Kubernetes
Realice los siguientes pasos tanto en el maestro como en el esclavo.
Paso 1. Instale el paquete curl usando el siguiente comando.
sudo apt install curl
Paso 2. Agregue la clave de firma de Kubernetes.
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Paso 3. Agregue el repositorio de Kubernetes.
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Tenga en cuenta que al momento de escribir este tutorial solo está disponible el repositorio de Xenial Kubernetes, por lo que será el que usaremos para nuestra instalación.
Paso 4. Verifique su instalación, use el comando:
kubeadm version
Paso 5. Antes de instalar Kubernetes, asegúrese de que su sistema no esté usando la memoria de intercambio porque Kubernetes se negará a operar si su Ubuntu está usando la memoria de intercambio.
Deshabilitar la memoria de intercambio:
sudo swapoff -a
Paso 6. Instale Kubernetes.
sudo apt install kubeadm
Inicialización del servidor maestro de Kubernetes
Paso 1. En su nodo maestro, use el siguiente comando para inicializar el nodo maestro de Kubernetes.
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Tome una copia de la última línea "Kubeadm Join 10.0.2.15:6443 –Token edvbbv.51hy5e2hgaxr1b4h –discovery-token-ca-cert-hash sha256:01db7c5913e363c099dc7a711550b8399c41f7ccc92bddc. se une al clúster.
Paso 2. Además, según el resultado anterior, se recomienda usar los siguientes comandos para comenzar a usar el clúster de Kubernetes.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Despliegue de red de pods
Para habilitar la comunicación entre los nodos del clúster, tenemos que implementar una red de módulos.
Paso 1. En el nodo principal, use el siguiente comando para implementar una red de módulos.
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Paso 2. En el nodo principal, asegúrese de que todo esté en funcionamiento.
kubectl get pods --all-namespaces
Únase al clúster de Kubernetes
Por ahora, todo debería estar listo para que los nodos maestro y esclavo se unan al clúster de Kubernetes.
Paso 1. En el nodo esclavo y para permitir que el nodo esclavo se una al clúster, use el comando copiado anteriormente de la salida del paso de inicialización de Kubernetes, que debería verse así:
sudo kubeadm join 10.0.2.15:6443 --token edvbbv.51hy5e2hgaxr1b4h --discovery-token-ca-cert-hash sha256:01db7c5913e363c099dc7a711550b8399c41f7cc92bda6b5ff06d6b8382a73e2
Paso 2. En el nodo maestro, verifique si el nodo esclavo se ha unido al clúster:
kubectl get nodes
Felicitaciones, acaba de crear el clúster de Kubernetes y todo debería estar listo para continuar e implementar cualquier servicio que necesite (como un contenedor Apache o un servidor Nginx) para comenzar a usar su clúster.
Espero que hayas disfrutado de este tutorial y, en caso de que hayas tenido alguna dificultad durante la instalación, deja un comentario y estaremos encantados de ayudarte.