Mostrando entradas con la etiqueta Kubernetes. Mostrar todas las entradas
Mostrando entradas con la etiqueta Kubernetes. Mostrar todas las entradas

Primeros pasos con AKS: Namespaces línea de comando

martes, 5 de enero de 2021

 

En la entrada anterior vimo cómo crear un namespace desde al portal de Azure, ahora vamos a ver cómo podemos hacer lo mismo usando la línea de comando.

Ingresamos a Azure Cloud Shell, desde allí podemos usar el comando kubectl el cual nos permite enviar instrucciones a la API de Kubernetes, 

Ahora,veamos cómo conectarnos a nuestro cluster de AKS utilizando Azure CLI, para ello corremos el siguiente comando:

az aks get-credentials --resource-group [nombre-grupo-recursos] --name [nombre-cluster-kubernetes]


Ahora veamos los namespaces que tenemos, para ello corremos lo siguiente:

kubectl get namespaces



Como se puede apreciar en la imagen anterior, vemos exactamente lo mismo que vimos desde el portal de Azure.

Vamos a crear un nuevo namespace usando el comando kubectl:

kubectl create namesapce  [nombre-namespace]


Ahora, volvamos a consultar los namespaces, deberiamos ver nuestro namespace recién creado testcmd


Por ahora ya tenemos nuestro namespace creado, pero aún no hemos desplegado ningún recurso sobre el mismo, ya veremos en entregas posteriores más detalles sobre otros recursos como pods, servicios, etc, pero para resumir un poco, es posible desplegar recursos en un namespace existente, si no especificamos sobre cual namespace desplegar nuestra app, kubernetes lo hará sobre el namespace default. Por ejemplo vamos a crear un pod con el siguiente código YAML:


El código anterior lo guardé en un archivo llamado mypod.yml y lo ejecutaré corriendo lo siguiente:

kubectl apply -f mypod.yml


Como no especificamos sobre cuál namespace desplegar Kubernetes lo hará sobre default, y esto lo podemos verificar si ejecutamos lo siguiente:

kubectl get pods -o yaml

En la salida YAML que aparece en pantalla podemos buscar la sección donde muestra el nombre del namespace, y podemos comprobar que se trata del namespace default


Si ejecutamos el siguiente comando para ver el despliegue que hicimos, veremos nuestro pod en ejecución:


Pero aquí nos surge la duda sobre cómo desplegar el pod por ejemplo en el namespace test que creamos, básicamente vamos a realizar un cambio en el archivo mypod,yml para que quede de la siguiente forma:


Como podemos ver hemos simplemente agregado el namespace en la definición y lo ejecutamos de la misma forma.

si volvemos a consultar los pods veremos que esta vez no aparece:


Lo anterior sucede porque estamos ubicados en el namespace por defecto, y este nuevo pod lo hemos creado en el namespace test, así que una de las formas que tenemos para consultar recursos en otros namespaces es especificarlo a través del parámetro --namespace de la siguiente forma:

kubectl get pods --namespace=test

De esta forma si veremos el pod recién creado sobre este espacio de nombres


Otra opción que tenemos para desplegar un pod en otro espacio de nombres sin necesidad de especificarlo en el archivo YAML, es hacerlo desde la misma línea de comando, para ello basta con agregar el parámetro --namespace durante la ejecución de kubectl apply tal como se muestra a continuación:


kubectl apply -f mypod.yml --namespace=test

Ahora bien, si por ejemplo estamos en el namespace default y no queremos estar especificando el espacio de nombres cada vez que ejecutemos algún comando, basta con cambiar el contexto a otro namespace, en el siguiente ejemplo voy a establecer el namespace test como mi nuevo cotexto:

kubectl config set-context --current --namespace=test



Ahora podemos volver a ejecutar kubectl para listar los pods pero sin poner el espacio de nombres, y podemos observar que esta vez lo muestra sin necesidad de especificar el espacio de nombres test, esto es porque hemos cambiado el contexto:


Bien, y esto es todo por hoy! espero sea de utilidad.

Primeros pasos con AKS: Namespaces

miércoles, 30 de diciembre de 2020

 

En la entrada anterior vimos cómo crear nuestro primer servicio de AKS, ahora vamos a empezar a conocer un poco más acerca de sus componentes, para ello hoy vamos a hablar de namespaces o espacios de nombres en español, así que iniciemos.

Dentro del servicio de AKS tenemos una sección llamada Kubernetes resources, allí mismo podemos encontrar Namespaces


Qué es un Namespace?

Un namespace es básicamente algo que nos ofrece Kubernetes para poder aislar nuestros recursos de forma lógica. Esto nos permite organizar nuestros recursos en el cluster, también nos sirve para temas de seguridad debido a que tenemos aislados los recursos e incluso por temas de rendimiento resulta util usar namesapces.


Namespaces por defecto

Al ingresar a namespaces vemos que por defecto el servicio de AKS nos ha desplegado cuatro: default, kube-node-lease, kube-public y kube-system.


Como se puede apreciar en la imagen anterior, tenemos la opción Add para agregar namespaces adicionales en caso que lo necesitemos, por ahora no hay mucho por lo cual debamos preocuparnos acerca de estos espacios de nombres, por lo pronto debemos saber que por ejemplo kube-system se encarga de manejar algunos temas del cluster tales como la resolución DNS, por otro lado nuestras apps serán creadas en el namespace default, asi que este es el primer namespace con el que generalmente tenemos contacto.

Crear primer namespace

Ahora vamos a crear nuestro primer namespace, para ello basta con hacer clic en + Add

Vamos a ver un cuadro de texto vacío donde se espera pongamos algo ya sea en formato YAML o JSON para crear el namespace.


En nuestro caso, vamos a usar el siguiente fragmento de código en formato YAML:



Hacemos clic en el botón Add 

Una vez creado el namespace podemos verlo en la lista:


Por ahora hemos cerado nuestro primer namespace usando el portal de Azure, pero claramente todo esto es posible hacerlo usando Azure CLI, asi que en la próxima entrada del blog veremos cómo podemos hacer esto mismo desde la línea de comandos.

Primeros pasos con AKS

 

Este es el primer post de una serie de entradas que voy a escribir sobre el servicio de Kubernetes que ofrece Microsoft Azure llamado AKS (Azure Kubernetes Service), básicamente el objetivo es explicar los conceptos básicos y aprender lo que debemos hacer para iniciar a trabajar de manera rápida con este servicio, una vez termine de explicar las generalidades para poder iniciar, empezaré a escribir entradas sobre temas específicos relacionados con diferentes componentes del servicio. Así que en esta primer entrada vamos a ver cómo desplegar el servicio con la configuración más básica.

Lo primero que debemos hacer es ir al Azure Marketplace y en la categoría de Containers buscar Kubernetes Service



Ahora debemos diligenciar la siguiente información necesaria para el despliegue:



  1. Selecciona el grupo de recursos en el cual se creará el cluster.
  2. Escribe el nombre que tendrá tu cluster
  3. Selecciona la región de Azure sobre la cual se creará el cluster
  4. Selecciona en cuántas zonas de Azure se desplegará tu cluster, esto con fines de tener una alta disponibilidad en caso de que la zona donde se encuentra el cluster tenga alguna afectación, en este caso seleccioné dos zonas de tres posibles que ofrece la región seleccionada.
  5. La versión de Kubernetes, mantuve la opción por defecto en este momento 1.18.10, esto puede variar a medida que salgan nuevas versiones.
  6. Seleccionamos el tamaño que tendrán nuestros nodos del cluster.
  7. Cantidad de nodos del cluster, por tratarse de una demostración he puesto solo uno, pero Microsoft recomienda tener al menos tres nodos para entornos de producción.
Por último, hacemos clic en Review + create

Una vez hayan sido superadas las validaciones, hacemos clic en Create para que inicie el despliegue del servicio.



Solo debemos esperar hasta que el proceso de creación finalice, y si vamos a nuestro grupo de recursos veremos el servicio disponible.



Al hacer clic sobre el servicio se abrirá el blade donde podemos ver todos los detalles de nuestro nuevo cluster de Kubernetes listo para usar.



Y eso es todo, hasta aquí dejaremos esta primer entrada donde básicamente vimos cómo desplegar el servicio de AKS con su configuración más básica, en las siguientes entradas empezaremos a revisar más en detalle lo que hemos desplegado y cómo empezar a usarlo.
 

Lo más visto

Comunidad

Comunidad
Comunidad Técnica

Visitas