Si alguna vez has querido saber cómo instalar Kubernetes y unir un nodo a un master, aquí tienes cómo hacerlo con poca o ninguna frustración en Ubuntu.
A menos que tengas la cabeza enterrada en un montón de cables Cat5, ya sabes lo que es Kubernetes. Para aquellos que están muy metidos en el cableado, 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. Kubernetes está preparado para la empresa y puede instalarse en varias plataformas.
Sin embargo (¿no hay siempre un sin embargo?), la instalación de Kubernetes a veces puede ser un reto. Por eso estoy aquí. Quiero mostrarte cómo puedes instalar fácil y rápidamente Kubernetes en Ubuntu, inicializar tu master, unir un nodo a tu master e implementar un servicio en el cluster.
Lecturas imprescindibles del centro de datos
Demostraré esto con la plataforma Ubuntu (específicamente una instancia de Ubuntu Server 16.04 y una de Ubuntu Desktop 17.10.
Instalación de dependencias
Lo primero que debe hacer es instalar las dependencias necesarias. Esto se hará en todas las máquinas que se unan al grupo de Kubernetes. La primera pieza a instalar es apt-transport-https (un paquete que permite usar tanto https como http en fuentes de repositorio aptas. Esto se puede instalar con el siguiente comando:
sudo apt-get update && apt-get install -y apt-transport-https
Nuestra próxima dependencia es Docker. La instalación de nuestros Kubernetes dependerá de esto, así que instálalo con:
sudo apt install docker.io
Una vez completado, inicia y activa el servicio Docker con los comandos
sudo systemctl start dockersudo systemctl enable docker
Ya está listo para instalar Kubernetes.
Instalando Kubernetes
La instalación de los componentes necesarios para Kubernetes es sencilla. Una vez más, lo que vamos a instalar a continuación debe ser instalado en todas las máquinas que se unirán al cluster.
Nuestro primer paso es descargar y añadir la clave para la instalación de Kubernetes. De vuelta en la terminal, emita el siguiente comando:
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add
Luego agregue un repositorio creando el archivo /etc/apt/sources.list.d/kubernetes.list e introduzca el siguiente contenido:
deb http://apt.kubernetes.io/ kubernetes-xenial principal
Guarde y cierre ese archivo. Instale Kubernetes con los siguientes comandos:
apt-get updateapt-get install - kubelet kubeadm kubectl kubernetes-cni
VER: Informe especial: La decisión sobre el cloud v. data center (PDF gratuito) (ConsejoTecnologico.com)
Inicialice su master
Con todo instalado, ve a la máquina que servirá como maestro de los Kubernetes y emite el comando:
sudo kubeadm init
Cuando esto se complete, se le presentará el comando exacto que necesita para unir los nodos al maestro ( .
Antes de unirse a un nodo, debe ejecutar los siguientes comandos (como usuario habitual):
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
Desplegando una red pod
Debe desplegar una red de vainas antes de que algo funcione correctamente. Demostraré esto instalando la red de cápsulas de franela. Esto se puede hacer con dos comandos (ejecutar en el maestro):
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlsudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
Emita el comando sudo kubectl get pods -all-namespaces para ver que la red de pods ha sido desplegada .
Unir un nodo
Con todo en su sitio, estará listo para unir el nodo con el maestro. Para ello, vaya al terminal del nodo y ejecute el comando:
sudo kubeadm join --token TOKEN MASTER_IP:6443
Donde TOKEN es el token que se le presentó después de inicializar el maestro y MASTER_IP es la dirección IP del maestro.
Una vez que el nodo se ha unido, vuelve al maestro y emite el comando sudo kubectl get para que los nodos vean que el nodo se ha unido con éxito .
Despliegue de un servicio
En este punto, está listo para desplegar un servicio en su clúster de Kubernetes. Para desplegar un servicio NGINX (y exponer el servicio en el puerto 80), ejecute los siguientes comandos (desde el maestro):
sudo kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN="cluster"sudo kubectl expose deployment nginx-app --port=80 --name=nginx-http
Si va a su nodo y emite el comando sudo docker ps -a, debería ver el servicio listado .
Su grupo de Kubernetes está listo.
Ahora tienes un cluster básico de Kubernetes, que consiste en un master y un único nodo. Por supuesto, puede escalar su clúster instalando y añadiendo más nodos. Con estas instrucciones, eso debería ser fácil.
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles