Compartir a través de


Inicio rápido: Implementación de un clúster de Kubernetes mediante una plantilla de Azure Resource Manager

Se aplica a: Azure Local, versión 23H2

En este inicio rápido se muestra cómo implementar un clúster de Kubernetes en AKS Arc mediante una plantilla de Azure Resource Manager (ARM). Azure Arc amplía las funcionalidades de administración de Azure a los clústeres de Kubernetes en cualquier lugar, lo que proporciona un enfoque unificado para administrar diferentes entornos.

Antes de empezar

En este artículo se presupone un conocimiento básico de los conceptos de Kubernetes.

Para implementar una plantilla de ARM, se necesita acceso de escritura en los recursos que implementa y acceso a todas las operaciones del tipo de recurso Microsoft.Resources/deployments. Por ejemplo, para implementar una máquina virtual, necesita permisos Microsoft.Compute/virtualMachines/write y Microsoft.Resources/deployments/* . Para obtener una lista de roles y permisos, consulte Roles integrados de Azure.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa.
  • Un clúster de Azure Local, versión 23H2.
  • La versión más reciente de la CLI de Azure.

Paso 1: Preparación de la cuenta de Azure

  1. Inicie sesión en Azure: abra el terminal o el símbolo del sistema e inicie sesión en su cuenta de Azure mediante la CLI de Azure:

    az login
    
  2. Establezca la suscripción: reemplace por <your-subscription-id> el identificador de suscripción:

    az account set --subscription "<your-subscription-id>"
    

Paso 2: Creación de un par de claves SSH mediante la CLI de Azure

az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"

o bien, cree un par de claves SSH mediante ssh-keygen:

ssh-keygen -t rsa -b 4096

Para implementar la plantilla, debe proporcionar la clave pública del par SSH. Para recuperar la clave pública, use el az sshkey show comando :

az sshkey show --name "mySSHKey" --resource-group "myResourceGroup" --query "publicKey"

De forma predeterminada, los archivos de clave SSH se crean en el directorio ~/.ssh. Ejecute el az sshkey create comando o ssh-keygen para sobrescribir cualquier par de claves SSH existente con el mismo nombre.

Para más información sobre cómo crear claves SSH, consulte el artículo sobre Creación y administración de claves SSH para la autenticación en Azure.

Paso 3: Revisar la plantilla

Descargue los archivos de plantilla y parámetros del repositorio de AKSArc en el equipo local. Revise todos los valores predeterminados y asegúrese de que son correctos.

Paso 4: Implementación de la plantilla

Para implementar el clúster de Kubernetes, ejecute el siguiente comando:

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"

La operación de creación del clúster tarda unos minutos. Espere a que el clúster se implemente correctamente para pasar al siguiente paso.

Paso 5: Comprobación de la implementación

Una vez completada la implementación, use el siguiente comando para comprobar que el clúster de Kubernetes está en funcionamiento:

az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table

Paso 6: Conexión al clúster

  1. Para conectarse al clúster, ejecute el az connectedk8s proxy comando . El comando descarga y ejecuta un archivo binario proxy en el equipo cliente y captura un archivo kubeconfig asociado al clúster:

    az connectedk8s proxy --name <cluster name> -g <resource group>
    

    O bien, use el cliente de línea de comandos de Kubernetes, kubectl. Si usa Azure Cloud Shell, kubectl ya está instalado. Para instalar y ejecutar kubectl localmente, ejecute el az aksarc install-cli comando .

    Configure kubectl para conectarse al clúster de Kubernetes mediante el az aksarc get-credentials comando . Con este comando se descargan las credenciales y se configura la CLI de Kubernetes para usarlas:

    az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
    
  2. Compruebe la conexión al clúster con el comando kubectl get. Este comando devuelve una lista de los nodos del clúster:

    kubectl get nodes -A --kubeconfig .\<path to kubecofig> 
    

    La salida del siguiente ejemplo muestra los tres nodos creados en los pasos anteriores. Asegúrese de que el estado del nodo es Listo:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-27442051-vmss000000   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000001   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000002   Ready    agent   11m   v1.27.7
    

Paso 7: Implementación del grupo de nodos mediante una plantilla de Azure Resource Manager (opcional)

Similiar al paso 3, descargue la plantilla y los parámetros del grupo de nodos del repositorio de AKSArc de y revise los valores predeterminados.

Implementación de la plantilla y validación de resultados mediante la CLI de Azure (opcional)

Revise y aplique la plantilla. Este proceso tarda unos minutos en completarse. Puede usar la CLI de Azure para validar que el grupo de nodos se ha creado correctamente:

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
az aksarc nodepool show --cluster-name "<cluster-name>" --resource-group "<resource-group-name>" --name "<nodepool-name>"

Recursos de plantilla

connectedClusters

Nombre Descripción Valor
type Tipo de recurso. Microsoft.Kubernetes/ConnectedClusters
apiVersion Versión de la API de recursos. 2024-01-01
name Nombre del recurso. String (obligatorio)
Límite de caracteres: 1-63
Caracteres válidos: caracteres alfanuméricos, caracteres de subrayado y guiones.
Comience y termine con un carácter alfanumérico.
location Ubicación geográfica en la que reside el recurso. String (obligatorio).
tags Etiquetas del recurso. Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas.
extendedLocation Ubicación extendida de la máquina virtual. ExtendedLocation
identity Identidad del clúster conectado, si está configurado.
properties Propiedades de un clúster conectado.

ProvisionedClusterInstances

Nombre Descripción Valor
type El tipo de recurso microsoft.hybridcontainerservice/provisionedclusterinstances
apiVersion La versión de la API de recursos 2024-01-01
name El nombre del recurso String (obligatorio). No cambie esto de forma predeterminada.
properties Propiedades de un clúster conectado.
extendedLocation Ubicación extendida del clúster. ExtendedLocation

ExtendedLocation

Nombre Descripción Valor
name Identificador de la ubicación extendida. string
type Tipo de la ubicación extendida. CustomLocation

Pasos siguientes

Introducción a AKS Arc