Kubernetes azure: mini guía sobre cómo ejecutar kubernetes en azure
Kubernetes Azure: Cómo ejecutar Kubernetes en Azure
Es posible crear un clúster Kubernetes a través de la interfaz web de Azure o a través de la línea de comandos.
todo lo que necesitas saber
Veamos cómo instalar Kubernetes en MS Azure a través de la línea de comandos.
Preparar la shell es el primer paso
Hay dos opciones disponibles: una es utilizar el shell interactivo de Azure, la otra es instalar las herramientas de línea de comandos de Azure localmente. A continuación se dan las instrucciones para cada una de ellas
1 – Shell interactivo Azure
El portal de Azure contiene un shell interactivo que puedes utilizar para comunicarte con tu clúster de Kubernetes. Para acceder a este intérprete de comandos, vaya a portal.azure.com, inicia sesión y haz clic en el botón de la parte inferior.
Tag alt = Kubernetes Azure
2 – Herramientas de línea de comandos en la configuración local
Puedes acceder a la interfaz de línea de comandos de Azure a través de un paquete que se puede instalar localmente.
Para ello, sigue primero las instrucciones de instalación de la documentación de Azure. A continuación, ejecuta el siguiente comando para conectar su CLI local con tu cuenta:
az login
Tendrás que abrir un navegador y seguir las instrucciones de tu terminal para conectarte.
Activar la suscripción
Azure utiliza el concepto de suscripciones para gestionar los costes. Puedes obtener una lista de las suscripciones a las que tienes acceso tu cuenta ejecutando:
az account list –refresh –output table
Elige la suscripción que deseas utilizar para crear el clúster y establecerla como predeterminada. Si sólo tienes una suscripción, puedes ignorar este paso.
az account set –subscription <SUBSCRIPTION-NAME>
Crear un grupo de recursos
Azure utiliza el concepto de grupos de recursos para agrupar recursos relacionados. Debemos crear un grupo de recursos en un lugar determinado del centro de datos. Crearemos recursos informáticos dentro de este grupo de recursos.
az group create \
–name=<RESOURCE-GROUP-NAME> \
–location=centralus \
–output table
Establece un nombre para el clúster
En los siguientes pasos ejecutaremos comandos que piden que se introduzca un nombre de clúster. Te aconsejamos que utilices algo descriptivo y breve. Nos referiremos a esto como <Nombre del Círculo> para el resto de esta sección.
El siguiente paso creará algunos archivos en tu sistema de archivos, así que primero crea una carpeta donde irán estos archivos. Te aconsejamos que le des el mismo nombre que a tu cluster:
mkdir <CLUSTER-NAME>
cd <CLUSTER-NAME>
Crear una clave SSH
ssh-keygen -f ssh-key-<CLUSTER-NAME>
Se te pedirá que añadas una contraseña, que puedes dejar en blanco si lo deseas. En este punto, se creará una clave pública llamada ssh-key-<NOMBRE DEL COLECTIVO>.pub y una clave privada llamada ssh-key-<NOMBRE DEL COLECTIVO>. Asegúrate de que ambos van a la carpeta que hemos creado antes y mantenlos a salvo!
Crear una red virtual y una subred
Kubernetes no tiene un controlador por defecto que aplique recursos y políticas de red. Los recursos de políticas de red son importantes ya que definen cómo los pods de Kubernetes pueden comunicarse de forma segura entre sí y con el mundo exterior, por ejemplo, Internet.
Para habilitarla en Azure, primero debemos crear una red virtual con las políticas de red de Azure habilitadas.
az network vnet create \
–resource-group <RESOURCE-GROUP-NAME> \
–name <VNET-NAME> \
–address-prefixes 10.0.0.0/8 \
–subnet-name <SUBNET-NAME> \
–subnet-prefix 10.240.0.0/16
Ahora recuperaremos los IDs de aplicación de la red y subred virtuales que acabamos de crear y los guardaremos en variables bash.
VNET_ID=$(az network vnet show \
–resource-group <RESOURCE-GROUP-NAME> \
–name <VNET-NAME> \
–query id \
–output tsv)
SUBNET_ID=$(az network vnet subnet show \
–resource-group <RESOURCE-GROUP-NAME> \
–vnet-name <VNET-NAME> \
–name <SUBNET-NAME> \
–query id \
–output tsv)
Crearemos una entidad de servicio de Azure Active Directory (Azure AD) que se utilizará con el clúster y asignaremos el rol de colaborador que se utilizará con la red virtual. Asegúrate de que el SERVICE-PRINCIPAL-NAME es algo reconocible, por ejemplo, binderhub-sp.
SP_PASSWD=$(az ad sp create-for-rbac \
–name <SERVICE-PRINCIPAL-NAME> \
–role Contributor \
–scopes $VNET_ID \
–query password \
–output tsv)
SP_ID=$(az ad sp show \
–id http://<SERVICE-PRINCIPAL-NAME> \
–query appId \
–output tsv)
Crear el clúster Kubernetes
Llegados a este punto, podrías pensar en aprovisionar tu clúster Kubernetes. En el siguiente comando crearás un cluster de Kubernetes (enlace al artículo Qué es Kubernetes) dentro del grupo de recursos que creamos anteriormente.
az aks create \
–name <CLUSTER-NAME> \
–resource-group <RESOURCE-GROUP-NAME> \
–ssh-key-value ssh-key-<CLUSTER-NAME>.pub \
–node-count 3 \
–node-vm-size Standard_D2s_v3 \
–service-principal $SP_ID \
–client-secret $SP_PASSWD \
–dns-service-ip 10.0.0.10 \
–docker-bridge-address 172.17.0.1/16 \
–network-plugin azure \
–network-policy azure \
–service-cidr 10.0.0.0/16 \
–vnet-subnet-id $SUBNET_ID \
–output table
Esto debería llevar unos minutos y proporcionarte un clúster Kubernetes que funcione!
Instalar kubectl
Si utilizas la CLI de Azure de forma local, instale kubectl, una herramienta para acceder a la API de Kubernetes desde la línea de comandos:
az aks install-cli
Nota: kubectl ya está instalado en Azure Cloud Shell.
Obtener credenciales para kubectl
az aks get-credentials \
–name <CLUSTER-NAME> \
–resource-group <RESOURCE-GROUP-NAME> \
–output table
Este comando actualizará automáticamente el archivo de configuración de Kubernetes.
Comprobar que el clúster funciona
kubectl get node
La respuesta debería enumerar tres nodos en ejecución y sus versiones de Kubernetes. Cada nodo debe tener el estado de Listo. Ten en cuenta que esto puede tomar unos momentos.
En conclusión
Hemos visto cómo crear un clúster Kubernetes en unos sencillos pasos. Siempre aconsejamos consultar la documentación oficial de Azure para obtener más detalles.
Comments