Crear un Kubernetes Cluster en Linode y gestionar desde un MacBook Pro

En Linode desde hace un tiempo ofrecen el servicio de creación de un Kubernetes Cluster. Kubernetes es un sistema que permite la instalación, configuración y gestión de contenedores donde vamos a desarrollar nuestros servicios, por ejemplo, un servidor web. De esta forma podemos aislar los servicios que corren y volverlos independientes del servidor fisico/virtual donde está corriendo. Un ejemplo que se me ocurre, es correr un contenedor con una versión de Asterisk certificada y otro con la ultima versión de la rama 16. Con Kubernetes además el mucho más fácil la configuración de la escalabilidad horizontal y alta disponibilidad. Encuentran más características/ventajas en esta entrada de blog.

En este articulo veremos como configurarlo en Linode y como gestionarlo desde una MacBook Pro. Una vez en nuestra cuenta de Linode, en el menú de la derecha seleccionamos Kubernetes y en la pagina que aparece Add a Cluster.
 

En la nueva pagina escogemos un nombre, el centro de datos y la versión de Kubernetes que utilizaremos. Luego tenemos que añadir por lo menos 3 VPS para que se pueda crear el cluster:

Para terminar:

El Cluster empezará a crearse… Una vez que el proceso de creación haya terminado, tenemos que bajar el archivo de configuración que luego utilizaremos con kubectl, la aplicación que utilizaremos en el MacBook Pro para gestionar el Cluster:

Guardamos el contenido en un archivo de texto y abrimos una ventana terminal en el MacBook Pro (personalmente utilizo iTerm). Primero instalamos kubectl:

brew install kubernetes-cli

para conocer la versión instalada:

kubectl version

Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-16T00:04:31Z", GoVersion:"go1.14.4", Compiler:"gc", Platform:"darwin/amd64"

Luego pasamos a la configuración. Desde la carpeta Home del usuario creamos la carpeta .kube/configs que es donde se creará el archivo de texto descargado desde Linode; archivo que nos permitirá conectarnos al Kubernetes Cluster:

mkdir .kube

cd .kube

mkdir configs

Luego creamos el archivo:

nano configs/kubeconfig.yaml

donde copiamos el contenido completo del archivo descargado desde Linode. Guardamos los cambios y modificamos el archivo de perfil del usuario utilizado en el MAC:

cd ..

nano .profile

al final del archivo copiamos:

export KUBECONFIG="$KUBECONFIG:$HOME/.kube/config:$HOME/.kube/configs/kubeconfig.yaml"

Guardamos los cambios y recargamos la configuración del perfil:

source .profile

Ahora deberíamos poder acceder a nuestro Kubernetes Cluster. Lo podemos averiguar con el comando:

kubectl config get-contexts

CURRENT NAME CLUSTER AUTHINFO NAMESPACE

* lke8465-ctx lke8465 lke8465-admin default

En este caso tenemos solamente un Cluster y es el que está actualmente seleccionado (asterisco presente bajo la columna CURRENT). Para obtener más información acerca del Cluster seleccionado:

kubectl cluster-info

Kubernetes master is running at https://74a51906-0ff4-4332-bf6f-6f6934dcfba1.cpc2-us-central.linodelke.n...

KubeDNS is running at https://74a51906-0ff4-4332-bf6f-6f6934dcfba1.cpc2-us-central.linodelke.n...

En el caso de dos o más Cluster, para seleccionar el Cluster que queremos utilizar:

kubectl config use-context lke8465-ctx

Switched to context "lke8465-ctx".

lke8645-ctx es el nombre del Cluster (aparece bajo la columna NAME como resultado del comando kubectl config get-contexts). El siguiente comando nos entrega la lista completa de los PODS activos en el Cluster, que todavía son solamente los predefinidos al crear el Cluster:

kubectl get pods -A

NAMESPACE NAME READY STATUS RESTARTS AGE

kube-system calico-kube-controllers-75b995c787-pvt25 1/1 Running 1 93m

kube-system calico-node-62x4m 1/1 Running 0 92m

kube-system calico-node-l8frx 1/1 Running 0 92m

kube-system calico-node-vjwtv 1/1 Running 0 92m

kube-system coredns-6955765f44-hg8wc 1/1 Running 0 93m

kube-system coredns-6955765f44-qq9pc 1/1 Running 0 93m

kube-system csi-linode-controller-0 3/3 Running 0 93m

kube-system csi-linode-node-c8mp6 2/2 Running 0 91m

kube-system csi-linode-node-s872z 2/2 Running 0 91m

kube-system csi-linode-node-s8xtv 2/2 Running 0 91m

kube-system kube-proxy-b8g8p 1/1 Running 0 92m

kube-system kube-proxy-bb5jb 1/1 Running 0 92m

kube-system kube-proxy-srlkp 1/1 Running 0 92m

El Kubernetes Cluster y la consola para gestionarlo están listos. Quizás próximamente veremos como crear un contenedor.

Subscribe to Comments for "Crear un Kubernetes Cluster en Linode y gestionar desde un MacBook Pro" Subscribe to VozToVoice - All comments