Configuración de un host de Azure Kubernetes Service en Azure Stack HCI y Windows Server e implementación de un clúster de cargas de trabajo mediante PowerShell

Se aplica a: Azure Stack HCI o Windows Server Datacenter

Este inicio rápido le guía a través de la configuración de un host de Azure Kubernetes Service (AKS). Los clústeres de Kubernetes se crean en Azure Stack HCI y Windows Server mediante PowerShell. Si en su lugar quiere usar Windows Admin Center, consulte Configuración mediante Windows Admin Center.

Nota

Antes de empezar

  • Asegúrese de que cumple todos los requisitos previos que se detallan en requisitos del sistema.
  • Utilice una cuenta de Azure para registrar el host de AKS para la facturación. Para más información, consulte Requisitos de Azure.

Instalación del módulo AksHci de PowerShell

Siga estos pasos en todos los nodos del clúster de Azure Stack HCI o del clúster de Windows Server:

Nota

Si usa PowerShell remoto, debe utilizar CredSSP.

  1. Cierre todas las ventanas de PowerShell abiertas, abra una nueva sesión de PowerShell como administrador y ejecute el siguiente comando en todos los nodos del clúster de Azure Stack HCI o Windows Server:

    Install-PackageProvider -Name NuGet -Force 
    Install-Module -Name PowershellGet -Force -Confirm:$false
    

    Debe cerrar todas las ventanas de PowerShell existentes de nuevo para asegurarse de que se actualicen los módulos cargados. No continúe con el paso siguiente hasta que cierre todas las ventanas de PowerShell abiertas.

  2. Instale el módulo AKS-HCI de PowerShell mediante la ejecución del siguiente comando en todos los nodos del clúster de Azure Stack HCI o Windows Server:

    Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
    

    Debe cerrar todas las ventanas de PowerShell existentes de nuevo para asegurarse de que se actualicen los módulos cargados. No continúe con el paso siguiente hasta que cierre todas las ventanas de PowerShell abiertas.

Puede usar un script auxiliar para eliminar los módulos antiguos de PowerShell de AKS-HCI, para evitar cualquier problema relacionado con la versión de PowerShell en la implementación de AKS.

Validación de la instalación

Get-Command -Module AksHci

Para ver la lista completa de comandos de AksHci para PowerShell, consulte AksHci para PowerShell.

Registre el proveedor de recursos en la suscripción.

Antes del proceso de registro, habilite el proveedor de recursos adecuado en Azure para AKS habilitado por el registro de Arc. Para ello, ejecute los siguientes comandos de PowerShell:

Para iniciar sesión en Azure, ejecute el comando Connect-AzAccount de PowerShell:

Connect-AzAccount

Si quiere cambiar a otra suscripción, ejecute el comando Set-AzContext de PowerShell:

Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"

Ejecute los siguientes comandos para registrar la suscripción de Azure a proveedores de recursos de Kubernetes habilitados para Azure Arc. Este proceso de registro puede tardar hasta 10 minutos, pero solo debe realizarse una vez en una suscripción específica:

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Para validar el proceso de registro, ejecute los siguientes comandos de PowerShell:

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Paso 1: preparar las máquinas para la implementación

Ejecute comprobaciones en cada nodo físico para ver si se cumplen todos los requisitos para instalar AKS habilitado por Arc. Abra PowerShell como administrador y ejecute el siguiente comando Initialize-AksHciNode en todos los nodos del clúster de Azure Stack HCI y Windows Server:

Initialize-AksHciNode

Paso 2: Creación de una red virtual

Ejecute los siguientes comandos en cualquier nodo de su clúster de Azure Stack HCI y Windows Server.

Para obtener los nombres de los conmutadores disponibles, ejecute el comando siguiente. Asegúrese de que el SwitchType modificador de máquina virtual es "Externo":

Get-VMSwitch

Resultados del ejemplo:

Name        SwitchType     NetAdapterInterfaceDescription
----        ----------     ------------------------------
extSwitch   External       Mellanox ConnectX-3 Pro Ethernet Adapter

Para crear una red virtual para que la usen los nodos de la implementación, cree una variable de entorno con el comando New-AksHciNetworkSetting de PowerShell. Esta red virtual se usa más adelante para configurar una implementación que usa una dirección IP estática. Si desea configurar la implementación de AKS con DHCP, consulte New-AksHciNetworkSetting para obtener ejemplos. También puede revisar algunos conceptos de nodo de red.

#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9

Nota

Debe personalizar los valores que se muestran en este comando de ejemplo para su entorno.

Paso 3: configurar la implementación

Ejecute los siguientes comandos en cualquier nodo de su clúster de Azure Stack HCI y Windows Server.

Para crear los valores de configuración para el host de AKS, use el comando Set-AksHciConfig. Debe especificar los parámetros imageDir, workingDir y cloudConfigLocation. Si desea restablecer los detalles de la configuración, vuelva a ejecutar el comando con los nuevos parámetros.

Configure la implementación con el siguiente comando:

$csvPath = 'C:\clusterstorage\volume01' # Specify your preferred CSV path
Set-AksHciConfig -imageDir $csvPath\Images -workingDir $csvPath\ImageStore -cloudConfigLocation $csvPath\Config -vnet $vnet

Nota

Debe personalizar los valores que se muestran en este comando de ejemplo para su entorno.

Paso 4: Iniciar sesión en Azure y configurar las opciones de registro

Opción 1: Use la cuenta de Microsoft Entra si tiene permisos de "Propietario".

Ejecute el siguiente comando de PowerShell Set-AksHciRegistration con su suscripción y el nombre del grupo de recursos para iniciar sesión en Azure. Debe tener una suscripción de Azure y un grupo de recursos de Azure existente en las regiones de Azure Este de Australia, Este de EE. UU., Sudeste asiático o Oeste de Europa:

Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"

Opción 2: Uso de una entidad de servicio de Azure

Si no tiene acceso a una suscripción en la que es "Propietario", puede registrar el host de AKS en Azure para la facturación mediante una entidad de servicio. Para más información sobre cómo usar una entidad de servicio, consulte Registro de AKS en Azure Stack HCI y Windows Server mediante una entidad de servicio.

Paso 5: iniciar una nueva implementación

Ejecute el siguiente comando en cualquier nodo del clúster de Azure Stack HCI o Windows Server.

Después de configurar la implementación, debe iniciarla para instalar los agentes o servicios de AKS y el host de AKS. Para comenzar la implementación, ejecute el siguiente comando:

Sugerencia

Para ver detalles de estado adicionales durante la instalación, establezca $VerbosePreference = "Continue" antes de continuar.

Install-AksHci

Advertencia

Durante la instalación del host de AKS, se crea un tipo de recurso de Kubernetes: Azure Arc en el grupo de recursos que se establece durante el registro. No elimine este recurso, ya que representa el host de AKS. Para identificar el recurso, busque en el campo de distribución un valor de aks_management. Si elimina este recurso, se produce una implementación fuera de la directiva.

Paso 6: creación de un clúster de Kubernetes

Después de instalar el host de AKS, puede implementar un clúster de Kubernetes. Abra PowerShell como administrador y ejecute el comando New-AksHciCluster. Este comando de ejemplo crea un nuevo clúster de Kubernetes con un grupo de nodos de Linux denominado linuxnodepool con un recuento de nodos de 1.

Para más información sobre los grupos de nodos, consulte Uso de grupos de nodos en AKS.

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux

Comprobación de los clústeres implementados

Para obtener una lista de los clústeres de Kubernetes implementados, ejecute el siguiente comando de PowerShell Get-AksHciCluster :

Get-AksHciCluster
ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Para obtener una lista de los grupos de nodos del clúster, ejecute el siguiente comando de PowerShell Get-AksHciNodePool :

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Paso 7: Conexión del clúster a Kubernetes habilitado para Arc

Conecte el clúster a Kubernetes habilitado para Arc mediante la ejecución del comando Enable-AksHciArcConnection . En el ejemplo siguiente se conecta el clúster de Kubernetes a Arc mediante los detalles de la suscripción y del grupo de recursos que pasó en el Set-AksHciRegistration comando :

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Nota

Si encuentra problemas o mensajes de error durante el proceso de instalación, consulte Problemas y errores conocidos durante la instalación para obtener más información.

escalado de un clúster de Kubernetes

Si necesita escalar o reducir verticalmente el clúster, puede cambiar el número de nodos del plano de control mediante el comando Set-AksHciCluster. Para cambiar el número de nodos de trabajo de Linux o Windows en el grupo de nodos, use el comando Set-AksHciNodePool.

Para escalar los nodos del plano de control, ejecute el siguiente comando:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Para escalar los nodos de trabajo del grupo de nodos, ejecute el siguiente comando:

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

Nota

En versiones anteriores de AKS en Azure Stack HCI y Windows Server, el comando Set-AksHciCluster también se usaba para escalar nodos de trabajo. Ahora que AKS está introduciendo grupos de nodos en clústeres de cargas de trabajo, solo puede usar este comando para escalar los nodos de trabajo si el clúster se creó con el parámetro antiguo establecido en New-AksHciCluster.

Para escalar los nodos de trabajo de un grupo de nodos, use el comando Set-AksHciNodePool.

acceder a los clústeres mediante kubectl

Para acceder a los clústeres de Kubernetes mediante kubectl, ejecute el comando Get-AksHciCredential de PowerShell. Se usará el archivo kubeconfig del clúster especificado como archivo kubeconfig predeterminado para kubectl. También puede usar kubectl para implementar aplicaciones mediante Helm:

Get-AksHciCredential -name mycluster

Eliminación de un clúster de Kubernetes

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

Remove-AksHciCluster -name mycluster

Nota

Observe las VM existentes del Administrador de Hyper-V para asegurarse de que el clúster se haya eliminado. Si las máquinas virtuales no se han eliminado, puede hacerlo manualmente. A continuación, ejecute el comando Restart-Service wssdagent. Ejecute este comando en cada nodo del clúster de conmutación por error.

Obtención de registros

Para obtener los registros de todos los pods, ejecute el comando Get-AksHciLogs. Este comando crea una carpeta comprimida de salida denominada akshcilogs.zip en el directorio de trabajo. La ruta de acceso completa a la akshcilogs.zip carpeta es la salida después de ejecutar el siguiente comando:

Get-AksHciLogs

En este inicio rápido, ha aprendido a configurar un host de AKS y a crear clústeres de Kubernetes mediante PowerShell. También ha aprendido a usar PowerShell para escalar un clúster de Kubernetes y acceder a clústeres con kubectl.

Pasos siguientes