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