Compartir a través de


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

Se aplica a: 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 Windows Server mediante PowerShell. Si en su lugar quiere usar Windows Admin Center, consulte Configuración mediante Windows Admin Center.

Antes de empezar

Instala el módulo AksHci de PowerShell

Siga estos pasos en todos los nodos 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 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 de PowerShell de AksHci ejecutando el siguiente comando en todos los nodos del clúster de 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 problemas relacionados con la versión de PowerShell en la implementación de AKS.

Validación de la instalación

Get-Command -Module AksHci

Para obtener la lista completa de comandos de PowerShell de AksHci , consulte AksHci PowerShell.

Registre el proveedor de recursos en la suscripción.

Antes del proceso de registro, habilite el proveedor de recursos adecuado en Azure para el registro de AKS. 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. Abra PowerShell como administrador y ejecute el siguiente comando Initialize-AksHciNode en todos los nodos del clúster de Windows Server:

Initialize-AksHciNode

Paso 2: creación de una red virtual

Ejecute los comandos siguientes en cualquier nodo del clúster de Windows Server.

Para obtener los nombres de los conmutadores disponibles, ejecute el comando siguiente. Asegúrese de que el SwitchType del conmutador de su máquina virtual sea Externo:

Get-VMSwitch

Salida de muestra:

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 la 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 comandos siguientes en cualquier nodo del clúster de 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, pero no puede cambiar el nombre de la máquina virtual en el host o en el clúster de Kubernetes.

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

Opción 1: usar su cuenta de Microsoft Entra si tiene permisos de "Propietario"

Ejecute el siguiente comando set-AksHciRegistration de PowerShell 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 de Asia 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 sea propietario, puede registrar su host de AKS en Azure para la facturación utilizando un principal de servicio. Para obtener más información sobre cómo usar una entidad de servicio, consulte registrar AKS en 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 Windows Server.

Después de configurar la implementación, debe iniciarla para instalar los agentes y 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, verifica si hay un valor de aks_management en el campo de distribución. Si elimina este recurso, se produce una implementación fuera de 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: conectar el clúster a Kubernetes con Arc habilitado

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 el grupo de recursos que ha pasado en el comando Set-AksHciRegistration:

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Nota:

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

Escalar 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 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 nodos de trabajo en 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. Este comando usa el archivo kubeconfig del clúster especificado como el 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:

Asegúrese de que el clúster se elimina examinando las máquinas virtuales existentes en Hyper-V Manager. Si no se eliminan, puede eliminar manualmente las máquinas virtuales. 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