Configuración de un host de Azure Kubernetes Service en Azure Local y Windows Server e implementación de un clúster de cargas de trabajo mediante PowerShell
Se aplica a: Azure Local 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). Puede crear clústeres de Kubernetes en Azure Local y Windows Server mediante PowerShell. Si en su lugar quiere usar Windows Admin Center, consulte Configuración mediante Windows Admin Center.
Nota:
- Si tiene registros DNS y objetos de servicios de clúster preconfigurados, consulte Implementación de un host de AKS con registros DNS y objetos de servicios de clúster preconfigurados mediante PowerShell.
- Si tiene un servidor proxy, consulte Inicio rápido: Configuración de un host de AKS en Azure Stack HCI e implementación de un clúster de cargas de trabajo mediante PowerShell y un servidor proxy.
- No se admite la instalación de AKS en Azure Local después de configurar máquinas virtuales de Arc. Para más información, consulte problemas conocidos con máquinas virtuales de Arc. Si desea instalar AKS en Azure Local, debe desinstalar Arc Resource Bridge e instalar AKS en Azure Local. Puede volver a implementar un nuevo puente de recursos de Arc después de limpiar e instalar AKS, pero no recordará las entidades de máquina virtual que creó anteriormente.
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 local de Azure o del clúster de Windows Server:
Nota:
Si usa PowerShell remoto, debe utilizar CredSSP.
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 Local 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.
Instale el módulo de PowerShell AKS-HCI ejecutando el siguiente comando en todos los nodos del clúster de Azure Local 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 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 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: Preparación de 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 Local y Windows Server:
Initialize-AksHciNode
Paso 2: Creación de una red virtual
Ejecute los comandos siguientes en cualquier nodo del clúster de Azure Local 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
Salida 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 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 Azure Local 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: 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 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 Local 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 Local 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 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 el grupo de recursos que ha pasado 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 Local 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
.