Tutorial: Implementación de un clúster de Azure Kubernetes Service (AKS)Tutorial: Deploy an Azure Kubernetes Service (AKS) cluster

Kubernetes proporciona una plataforma distribuida para aplicaciones en contenedores.Kubernetes provides a distributed platform for containerized applications. Con AKS, puede crear rápidamente un clúster de Kubernetes listo para producción.With AKS, you can quickly create a production ready Kubernetes cluster. En este tutorial, la tercera parte de siete, se implementa un clúster de Kubernetes en AKS.In this tutorial, part three of seven, a Kubernetes cluster is deployed in AKS. Aprenderá a:You learn how to:

  • Implementación de un clúster de Kubernetes AKS que puede autenticarse en un registro de contenedor de AzureDeploy a Kubernetes AKS cluster that can authenticate to an Azure container registry
  • Instalar la CLI de Kubernetes (kubectl)Install the Kubernetes CLI (kubectl)
  • Configurar kubectl para conectarse a un clúster de AKSConfigure kubectl to connect to your AKS cluster

En tutoriales posteriores, la aplicación Azure Vote se implementa en el clúster, se escala y se actualiza.In later tutorials, the Azure Vote application is deployed to the cluster, scaled, and updated.

Antes de empezarBefore you begin

En los tutoriales anteriores, se creó una imagen de contenedor y se actualizó en una instancia de Azure Container Registry.In previous tutorials, a container image was created and uploaded to an Azure Container Registry instance. Si no ha realizado estos pasos, y desea continuar, inicie el Tutorial 1: Creación de imágenes de contenedor.If you haven't done these steps, and would like to follow along, start at Tutorial 1 – Create container images.

Para realizar este tutorial es necesario ejecutar la versión 2.0.53, o superior, de la CLI de Azure.This tutorial requires that you're running the Azure CLI version 2.0.53 or later. Ejecute az --version para encontrar la versión.Run az --version to find the version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.If you need to install or upgrade, see Install Azure CLI.

Creación de un clúster de KubernetesCreate a Kubernetes cluster

Los clústeres de AKS pueden usar los controles de acceso basado en rol de Kubernetes (RBAC de Kubernetes).AKS clusters can use Kubernetes role-based access control (Kubernetes RBAC). Dichos controles permiten definir el acceso a los recursos en función de los roles asignados a los usuarios.These controls let you define access to resources based on roles assigned to users. Los permisos se combinan si a un usuario se le asignan varios roles y los permisos se pueden limitar a un espacio de nombres único o a todo el clúster.Permissions are combined if a user is assigned multiple roles, and permissions can be scoped to either a single namespace or across the whole cluster. De forma predeterminada, la CLI de Azure habilita automáticamente RBAC de Kubernetes al crear un clúster de AKS.By default, the Azure CLI automatically enables Kubernetes RBAC when you create an AKS cluster.

Cree un clúster de AKS mediante az aks create.Create an AKS cluster using az aks create. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup.The following example creates a cluster named myAKSCluster in the resource group named myResourceGroup. Este grupo de recursos se creó en el tutorial anterior en la región eastus.This resource group was created in the previous tutorial in the eastus region. En el ejemplo siguiente no se especifica una región, por lo que el clúster de AKS también se crea en la región eastus.The following example does not specify a region so the AKS cluster is also created in the eastus region. Para más información sobre los límites de recursos y la disponibilidad de regiones para AKS, consulte Cuotas, restricciones de tamaño de máquina virtual y disponibilidad de regiones en Azure Kubernetes Service (AKS).For more information, see Quotas, virtual machine size restrictions, and region availability in Azure Kubernetes Service (AKS) for more information about resource limits and region availability for AKS.

Para permitir que un clúster de AKS interactúe con otros recursos de Azure, se crea automáticamente una entidad de servicio de Azure Active Directory, dado que no se especificó ninguna.To allow an AKS cluster to interact with other Azure resources, an Azure Active Directory service principal is automatically created, since you did not specify one. Aquí, a esta entidad de servicio se le concede el derecho a extraer imágenes de la instancia de Azure Container Registry (ACR) que creó en el tutorial anterior.Here, this service principal is granted the right to pull images from the Azure Container Registry (ACR) instance you created in the previous tutorial. Para ejecutar el comando correctamente, es necesario tener un rol Propietario o Administrador de cuenta de Azure en la suscripción de Azure.To execute the command successfully, you're required to have an Owner or Azure account administrator role on the Azure subscription.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

Para evitar la necesidad de un rol Propietario o Administrador de cuenta de Azure, también puede configurar una entidad de servicio manualmente para extraer imágenes de ACR.To avoid needing an Owner or Azure account administrator role, you can also manually configure a service principal to pull images from ACR. Para más información, consulte Autenticación de ACR con entidades de servicio o Autenticación desde Kubernetes con un secreto de extracción.For more information, see ACR authentication with service principals or Authenticate from Kubernetes with a pull secret. También puede usar una identidad administrada en lugar de una entidad de servicio para facilitar la administración.Alternatively, you can use a managed identity instead of a service principal for easier management.

Al cabo de varios minutos, la implementación se completa y devuelve información en formato JSON sobre la implementación de AKS.After a few minutes, the deployment completes, and returns JSON-formatted information about the AKS deployment.

Nota

Para asegurarse de que el clúster funciona de forma confiable, debe ejecutar al menos 2 (dos) nodos.To ensure your cluster to operate reliably, you should run at least 2 (two) nodes.

Instalación de la CLI de KubernetesInstall the Kubernetes CLI

Para conectarse al clúster de Kubernetes desde su equipo local, use kubectl, el cliente de la línea de comandos de Kubernetes.To connect to the Kubernetes cluster from your local computer, you use kubectl, the Kubernetes command-line client.

Si usa Azure Cloud Shell, kubectl ya está instalado.If you use the Azure Cloud Shell, kubectl is already installed. También lo puede instalar localmente. Para ello debe usar el comando az aks install-cli:You can also install it locally using the az aks install-cli command:

az aks install-cli

Conexión a un clúster mediante kubectlConnect to cluster using kubectl

Para configurar kubectl para conectarse a su clúster de Kubernetes, use el comando az aks get-credentials.To configure kubectl to connect to your Kubernetes cluster, use the az aks get-credentials command. En el ejemplo siguiente se obtienen las credenciales del clúster de AKS llamado myAKSCluster en el grupo de recursos myResourceGroup:The following example gets credentials for the AKS cluster named myAKSCluster in the myResourceGroup:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Para comprobar la conexión al clúster, use ejecute el comando kubectl get nodes para devolver una lista de los nodos del clúster:To verify the connection to your cluster, run the kubectl get nodes command to return a list of the cluster nodes:

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

Pasos siguientesNext steps

En este tutorial, se ha implementado un clúster de Kubernetes en AKS y se ha configurado kubectl para conectarse a él.In this tutorial, a Kubernetes cluster was deployed in AKS, and you configured kubectl to connect to it. Ha aprendido a:You learned how to:

  • Implementación de un clúster de Kubernetes AKS que puede autenticarse en un registro de contenedor de AzureDeploy a Kubernetes AKS cluster that can authenticate to an Azure container registry
  • Instalar la CLI de Kubernetes (kubectl)Install the Kubernetes CLI (kubectl)
  • Configurar kubectl para conectarse a un clúster de AKSConfigure kubectl to connect to your AKS cluster

Vaya al siguiente tutorial para aprender a implementar una aplicación en el clúster.Advance to the next tutorial to learn how to deploy an application to the cluster.