AKS (Azure Container Service) es el servicio Kubernetes gestionado en Microsoft Azure. Actualmente se encuentra en fase de previsualización, por lo que es posible que algunas cosas cambien en el futuro.

En este post, voy a crear un clúster AKS e instalar un clúster Couchbase en él, utilizando el comando Operador Couchbase Kubernetes (que también está en versión preliminar).

Este artículo asume que ya has creado una cuenta Azure. Si no lo ha hecho, consulte Azure: Empezar es fácil y gratis.

Shell de Azure Cloud

En primer lugar, inicie sesión en Portal Azure. Voy a utilizar una característica relativamente nueva y muy interesante de Azure llamada Cloud Shell. Haga clic en el icono "símbolo del sistema" en la parte superior derecha de la pantalla del portal de Azure.

Azure Cloud Shell icon

Al hacer clic en esta opción, se abrirá una ventana de símbolo del sistema de shell directamente en el navegador. La primera vez que hagas esto, Azure te pedirá que decidas entre Bash y PowerShell. Decidí utilizar PowerShell. (Si te sientes más cómodo con Bash, podrás seguir el proceso).. Tendrá que configurar una cuenta de almacenamiento la primera vez (y sólo la primera vez) que utilice Cloud Shell. Esto le llevará varios minutos.

Bash or PowerShell

Una vez que tengas un símbolo del sistema, ¡puedes empezar a escribir comandos directamente en tu navegador!

Azure Cloud Shell prompt

Si eres como yo y tienes varias suscripciones de cuenta dentro de Azure (por ejemplo, tengo una suscripción a MSDN y una suscripción de pago por uso), deberías comprobar cuál es la "predeterminada" introduciendo este comando:

Este comando imprimirá una lista de sus cuentas en formato JSON. Compruebe la isDefault en el JSON. Por ejemplo, el mío tenía "Pay as you go" como valor predeterminado (que no quiero, porque tengo un montón de crédito en mi cuenta de MSDN).

Si desea cambiar el valor predeterminado, introduzca un comando como este:

Puedes utilizar el nombre de la suscripción (como hice yo) o el ID.

Azure-cli

Los dos comandos anteriores que utilizan "az" están utilizando el "Azure CLI". Puedes instalarla en tu máquina local, y viene lista para usar cuando utilizas Cloud Shell.

Antes de que podamos crear un clúster Kubernetes con un clúster Couchbase, vamos a utilizar azure-cli para sentar las bases.

En primer lugar, cree un grupo de recursos. Un grupo de recursos es una agrupación lógica que puede utilizar para organizar los distintos servicios e instancias en Azure. Puede obtener una lista de todos sus grupos de recursos actuales con este comando:

Puedes crear un nuevo grupo de recursos de varias formas, pero a continuación te explicamos cómo hacerlo desde la línea de comandos:

En este punto, el grupo de recursos debería aparecer al ejecutar lista de grupos azo cuando vea sus grupos de recursos en la interfaz de usuario normal de Azure Portal.

Si estás intentando utilizar tu Windows PowerShell local, es posible que también tengas que seguir los siguientes pasos:

  1. Compruebe si tiene registrado el ContainerService. Puede averiguarlo ejecutando az provider list | ConvertFrom-Json | Format-Wide y ver si aparece allí.
  2. Si no aparece, inicie el registro de ContainerService: az provider register -n Microsoft.ContainerService
  3. A continuación, supervise el progreso del registro de ContainerService: az provider show -n Microsoft.ContainerService (espere hasta que "registrationState" no sea "Registering" y se convierta en "Registered")

Estos pasos podrían no ser necesarios cuando AKS pase de la versión preliminar a la versión general.

Crear clúster AKS

A continuación, cree un clúster AKS dentro del grupo de recursos que creó en la sección anterior:

(El nombre del clúster AKS sólo puede contener letras, números y guiones).

Esto tardará algún tiempo en completarse. Cuando haya terminado, tendrá un servicio de contenedor gestionado con:

  • Un pool de nodos de tamaño 3 (por defecto, puede especificarse con -node-count)
  • Cada nodo es una instancia DS1_v2 de Azure (máquinas con una CPU y 3.5gb de RAM, que son baratas y están bien para esta demo, pero probablemente querrás usar una máquina más potente para Couchbase en producción)

Tenga en cuenta que ha creado un Clúster Kubernetes. A continuación, instalaremos un Clúster Couchbase en el clúster Kubernetes. Es importante realizar un seguimiento y comunicar el clúster específico siempre que se haga referencia a uno.

Usar kubectl para poner Couchbase en AKS

Esta siguiente parte se ejecutará localmente en PowerShell, y no en Azure Cloud Shell. Necesitarás haber iniciado sesión y tener Azure-cli ya está instalado junto con Kubectl (que probablemente ya tenga).

A continuación, instale AKS cli localmente con este comando: az aks install-cli.

A continuación, deberá conectarse al clúster AKS creado anteriormente.

Una vez que esto tenga éxito, puede utilizar kubectl para obtener una lista de los 3 nodos creados anteriormente.

La salida de ese comando debería tener el siguiente aspecto:

Kubectl get nodes

Couchbase ha introducido un Operador de Kubernetesque actualmente está en fase beta. Usted no tienen para utilizar este operador, pero va a hacer que el uso de Couchbase en Kubernetes sea una experiencia mucho mejor.

Comience por desplegar el operador con kubectl:

Create operator

Cuando haya terminado, puede ver todas las implantaciones con kubectl get deployments.

Ahora es el momento de desplegar Couchbase. Necesitarás crear un secreto y un cluster, ambos con archivos YAML. Puedes usar un par de archivos YAML de ejemplo disponibles en estas URLs:

He creado mi propia variación de este ejemplo, ajustando la cuota de memoria, los servicios y el nombre del cubo.

En este punto, AKS empezará a crear los "pods". Puede comprobar el estado con: kubectl get pods.

get pods
kubectl get pods running on AKS

Tardará unos minutos en completarse.

Acceder al clúster AKS

El clúster de Couchbase se está ejecutando ahora en el clúster de Kubernetes. Otra forma de acceder a Couchbase, solo para verificar que funciona, es con el reenvío de puertos. Ejecuta este comando localmente:

Al hacer esto, está reenviando localhost en el puerto 8091 al pod cb-example-0000 en el puerto 8091. Lo que significa que si abre http://localhost:8091 en su navegador local, se le dirigirá al clúster de Couchbase que se ejecuta en AKS en Azure.

Couchbase cluster

Una forma fácil de ver AKS y el operador Kubernetes en acción es eliminar el bucket. El operador Couchbase se dará cuenta y volverá a crear el bucket automáticamente.

Resumen

Ahora ya te has mojado los pies con Couchbase y AKS en Azure. Aquí tienes más recursos para continuar tu viaje:

¿Preguntas o comentarios para mí? Puede encontrarme en Twitter @mgroves.

Autor

Publicado por Matthew Groves

A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviará pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribió una aplicación de punto de venta en QuickBASIC para la pizzería de sus padres, allá por los años noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.

Dejar una respuesta