Puede que a estas alturas ya conozcas lo que significa tener un contendor en tu negocio. Y no hablamos de un contenedor físico o real sino más bien de uno virtual, que nos permite desarrollar mejores aplicaciones al mismo tiempo que facilitan desplegarlas por la red en un tiempo más reducido.
Si ya sabes de lo que estamos hablando cuando usamos la palabra “contendor” es perfecto. De lo contrario, no te preocupes porque en este post repasaremos paso a paso lo que es Kubernetes. Se ha convertido en la plataforma favorita por miles de desarrolladores. Se ha hecho popular entre todos los productos Cloud para la gestión de contenedores y es por esta razón que queremos explicarte cómo empezar con Kubernetes.
Cómo empezar con Kubernetes
Ante todo, repasemos paso a paso lo que significa Kubernetes antes de comenzar a utilizarlo.
Qué es Kubernetes
Si te preguntas cómo empezar con Kubernetes debes tener claro lo que este término significa ya que dentro de hay todo un mundo de posibilidades si eres un desarrollador avanzado. En inglés se refieren a la palabra Kubernetes como K8s, este es un sistema de código abierto que permite o fomenta la automatización, ajustes, despliegue y manejo de una gran cantidad de aplicaciones dentro de contenedores. Esta iniciativa vino directamente del departamento de desarrollo de Google y fue lanzada el 7 de junio de 2014. Basa su programación en Go, y su sistema es multiplataforma.
A pesar de que fue diseñado por Google, estos donaron este proyecto a una parte importante de la fundación Linux, como lo es la Cloud Native. Entre los diferentes ambientes que aguanta se encuentra Docker y claro está disponible en Azure y en Google Cloud.
Kubernetes puede acelerar el proceso de desarrollo al hacer actualizaciones continuas, automatizadas y sencillas, y al administrar nuestras aplicaciones y servicios sin tropezar en algún momento con intervalos de tiempos inactivos. También proporciona un sistema de auto-regeneración o auto-curación. Esto debido a que Kubernetes puede detectar y reiniciar sus servicios cuando un proceso se bloquea dentro del contenedor para que pueda funcionar de nuevo perfectamente. Desde que Kubernetes fue desarrollado y lanzado al público ha ganado una amplia aceptación y ha sido administrado por una gran comunidad de contribuyentes.
Básicamente, cualquier desarrollador puede empaquetar aplicaciones e implementarlas en Kubernetes siempre y cuando tenga como mínimo los conocimientos básicos de Docker. Kubernetes al ser una plataforma de código abierto, extensible y portátil permite que se puedan administrar cargas de trabajo y servicios en contenedores, que facilita tanto la configuración declarativa como la automatización. Finalmente es importante decir que los servicios, el apoyo y las herramientas de Kubernetes están ampliamente disponibles en todo momento.
Pero para entender y saber cómo empezar con Kubernetes, también es necesario saber un poco más sobre “los contenedores” un término que quizás al principio puede que no se comprenda rápidamente.
Qué es un contenedor
Los contenedores también son conocidos como capullos o como se le dicen en inglés Pods. Hacen referencia a un lugar virtual en que se haya datos configurables presentados en distintos formatos ante el usuario. Estos datos podrían ser una lista, algún diagrama o incluso material gráfico. Cada contenedor en Kubernetes se asigna a una única dirección IP el cual le permite a las aplicaciones utilizar distintos puertos sin ninguna clase de riesgos. Finalmente un contenedor puede ser un directorio de disco local o un disco de red.
Primeros Pasos
Habiendo entendido todo lo anterior, podemos abordar la pregunta que nos atañe, cómo empezar con Kubernetes. Si estás loco por saber cómo empezar, presta mucha atención porque daremos los pasos a seguir para descargarlo y configurarlo.
Pasos para saber cómo empezar con Kubernetes
- Primeramente necesitarás descargar Docker y esto puedes hacerlo haciendo clic en el siguiente enlace https://docs.docker.com/docker-for-mac/install/ Cuando entres al sitio te recomendamos que escojas la versión más estable.
- Seguidamente, prueba los siguientes comandos para corroborar que usas Docker de forma correcta.
$ docker –version
$ docker run hello-world
- Hecho todo esto procede a configurar Azure para que puedas trabajar con Kubernetes en OSX y desde luego en el caso de que no tengas homebrew instalado también descárgalo e instálalo primero. Esto podrás hacerlo de la siguiente manera.
$ /usr/bin/ruby -e
“$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
- Ahora verifica que la última versión de Python está instalado
$ python –v
- Si encuentras que Python no está instalado en tu sistema, puede descargarlo desde su sitio oficial https://www.python.org/downloads/
- Si hemos llegado hasta aquí ya no hay marcha atrás, ahora procedamos a instalar Azure, esto lo haremos de la siguiente manera
$ brew update && brew install azure-cli
$ brew link –overwrite python3
- Hecho todo esto iniciamos sesión en Azure
$ az login
- La URL te dirigirá a una página en tu navegador donde deberás ingresar el código que obtuviste. Si el proceso de inicio de sesión es exitoso, verás un objeto JSON en tu terminal con la información de tu cuenta.
- A continuación habilitamos a los proveedores de servicios. Recuerda que debes habilitar a los proveedores de servicios de Azure para crear un clúster.
$ az provider register -n Microsoft.Network
$ az provider register -n Microsoft.Storage
$ az provider register -n Microsoft.Compute
$ az provider register -n Microsoft.ContainerService
- Ahora crea a un grupo de recursos. Los recursos de Azure son implementados y administrados por grupos de recursos. Cuando creas un nuevo grupo de recursos, debes darle un nombre y especificar la ubicación del grupo de recursos.
$ az group create –name <resource_group_name> –location <location>
# location: eastus, westeurope, centralus, canadacentral, canadaeast
- Crear un clúster AKS. El siguiente comando creará un clúster con un nodo.
$ az aks create –resource-group resource_group_name –name cluster_name –node-count 1 –generate-ssh-keys
Conéctate al cluster. Debes instalar la herramienta CLI de kubernetes y luego pasar las credenciales de su clúster a kubectl.
# instala kubectl CLI
$ az aks install-cli
# pasa tus credenciales a kubectl
$ az aks get-credentials –resource-group resource_group_name –name cluster_name
Para probar si kubectl se ha conectado correctamente al clúster, ejecuta el siguiente comando:
$ kubectl get nodes
Finalmente, si todo está bien verás algo como esto:
NAME STATUS ROLES AGE VERSION
aks-nodepool1-0 Ready agent 1m v1.7.9.