¿Le gustaría aprender a configurar Kubernetes en Ubuntu? ¡Sigue leyendo este artículo!

Kubernetes es una poderosa plataforma de código abierto para escalar, aprovisionar y administrar sistemas en contenedores automáticamente. Es una aplicación robusta que agrupa los contenedores en unidades lógicas para que se puedan descubrir y administrar fácilmente en múltiples clústeres de host. Kubernetes incluye muchos componentes, como controladores de transporte de red, varios componentes del sistema y utilidades CLI. El sistema también funciona con numerosas herramientas de contenedor, como Docker, y contiene muchas piezas móviles y una gran cantidad de mano de obra, lo que complica la instalación.

Este tutorial le muestra cómo instalar Kubernetes en Ubuntu rápidamente y sin frustraciones.

Lectura adicional: si desea investigar más sobre Kubernetes y Container Hosting, le recomendamos los siguientes artículos:

  • Guía de hosting de Kubernetes
  • Guía de hosting de contenedores

Vamos a empezar.

Imprescindibles:

Para que nuestra instalación sea exitosa, debe tener lo siguiente:

  1. Al menos dos computadoras Ubuntu; uno como maestro y el otro como trabajador. Si puedes conseguir etcd y Apiserver en una computadora de un solo núcleo con un GB de RAM para clústeres de 10 o más nodos, suficiente para esta instalación. Sin embargo, si planea usar clústeres más activos y más grandes, considere usar más núcleos.

Paso 1: instala las dependencias

Lo primero y más importante al configurar Kubernetes en Ubuntu es instalar las dependencias necesarias. Las dependencias deben instalarse en todas las máquinas que componen su clúster de Kubernetes.

Una de las dependencias que necesita instalar es la apt-transport-https. Con este paquete puede utilizar los protocolos HTTP y HTTPS en los recursos del repositorio de apt. El paquete se puede instalar con el siguiente comando:

sudo apt-get update && apt-get install -y apt-transport-https

La segunda dependencia es Docker. Docker es una aplicación confiable que simplifica la creación y configuración de procesos de aplicación en sistemas en contenedores. La instalación de Kubernetes se basa en Docker y, por lo tanto, debe instalarse primero. Utilice el siguiente comando para instalar Docker:

sudo apt install docker.io

Nota especial: Docker funciona mejor en Ubuntu de 64 bits o una versión del kernel mayor o igual a 3.10. Es por eso que estamos instalando Kubernetes en el servidor estándar Ubuntu 16.04 de 64 bits. La versión cumple con los requisitos.

Una vez que Docker esté completamente instalado, ejecute los siguientes comandos para iniciar y activar la aplicación:

sudo systemctl start docker
sudo systemctl enable docker

Paso 2: Instale los componentes de Kubernetes

Una vez que Docker esté en funcionamiento, estará listo para el siguiente paso. Como se mencionó anteriormente, Kubernetes se compone de muchas partes y la instalación de todos los componentes requeridos debería ser fácil.

Nota especial: todos los componentes deben configurarse en todas las computadoras que se unen a los clústeres.

Descargue e integre la clave ejecutando el siguiente comando en el terminal:

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

Ejecute el siguiente comando para instalar Kubernetes apt Repo:

$ apt-get update && apt-get install -y apt-transport-https 
 && curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
$ echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list

A continuación, debe actualizar la lista de paquetes con el siguiente comando:

apt-get update

Ahora instalemos tres componentes Kubeadm, kubelet, y kubernetes-cni. kubeadm es una gran utilidad que le permite configurar los múltiples componentes que componen un clúster de trabajo. Kubelet facilita la ejecución de los contenedores en los hosts, mientras que Kubernetes cni define los componentes de la red. CNI, o Container Networking Interface, es una especificación sólida que dicta cómo interactúan los controladores de red con Kubernetes.

Utilice el siguiente comando para instalar los tres componentes:

$ apt-get update 
 && apt-get install -y kubelet kubeadm kubernetes-cni

Correr kubeadm para inicializar su servidor. Kubeadm proporciona un clúster seguro con mecanismos como RBAC.

Paso 3: inicializar el maestro

Una vez que haya instalado los tres componentes, puede continuar con la inicialización de su maestro. Vaya a la máquina que desea usar como maestra y ejecute el siguiente comando:

sudo kubeadm init

Cuando se complete la inicialización, recibirá el siguiente comando que se requiere para conectar sus nodos al maestro:

El comando anterior indica que su maestro de Kubernetes está listo para los nodos. Sin embargo, ejecute este comando antes de conectar un nodo al maestro:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

PASO 4: Implementar una red de pod

A continuación, deberá instalar y configurar una red de pod para que todo funcione correctamente. Aquí vamos a instalar una red de vainas de franela. Flannel ofrece una red definida por software (SDN) confiable a través de módulos ipvlan y superposición de kernel. El aprovisionamiento de Flannel se puede realizar a través de dos comandos aplicados al maestro de Kubernetes. El primer comando:

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

El segundo comando es:

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

Confirme que la red de pods esté configurada correctamente ejecutando el siguiente comando: sudo kubectl get pods. Si la red de cápsulas de franela está instalada correctamente, obtendrá el siguiente resultado:

Paso 5: unirse a un nodo

Todos los componentes están ahora listos y su maestro de Kubernetes está listo para unirse al nodo. Navegue hasta la terminal (del nodo) y ejecute el siguiente comando:

sudo kubeadm join --token TOKEN MASTER_IP:6443

Esto ayuda a confirmar que los nodos se han unido correctamente al maestro;

Paso 6: implementar un servicio

En este punto, todo está configurado correctamente y puede aprovisionar fácilmente un servicio en el clúster de Kubernetes. Ejecute el siguiente comando desde su maestro de Kubernetes:

sudo kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster"
sudo kubectl expose deployment nginx-app --port=80 --name=nginx-http

El comando le ayudará a proporcionar el servicio NGINX proporcionado en el puerto 80. Navegue hasta el nodo y emita el siguiente comando:

$sudo docker ps -a

El comando le da una salida de los servicios de servicios proporcionados

Su Kubernetes se ha instalado correctamente en Ubuntu. El clúster consta de un solo nodo y un maestro. Sin embargo, es fácil escalar el clúster mediante la implementación de nodos adicionales de acuerdo con nuestras instrucciones.

Consulte los 3 mejores servicios VPS: