Tutorial: Implementación de un clúster de cargas de trabajo en AKS habilitado por Arc
Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server
Kubernetes proporciona una plataforma distribuida para aplicaciones en contenedores.
En este tutorial, la parte tres de siete, un clúster de Kubernetes se implementa en AKS en Azure Local. Aprenderá a:
- Implementación de un clúster de AKS en Azure Local
- Instalar la CLI de Kubernetes (kubectl)
- Configuración de kubectl para conectarse a un clúster de carga de trabajo
En tutoriales posteriores, la aplicación Azure Vote se implementa en el clúster, se escala y se actualiza.
Antes de empezar
En los tutoriales anteriores, se creó una imagen de contenedor y se actualizó en una instancia de Azure Container Registry. Si no ha realizado estos pasos, comience con el Tutorial 1: Creación de imágenes de contenedor.
En este tutorial se usa el 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.
Instalación del host de Azure Kubernetes Service
En primer lugar, configure los valores de registro.
Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup
Estos valores se deben personalizar en función según el nombre de la suscripción y el grupo de recursos de Azure.
A continuación, ejecute el siguiente comando para asegurarse de que se cumplen todos los requisitos de cada nodo físico para instalar AKS en Azure Local:
Initialize-AksHciNode
A continuación, cree una red virtual. Necesitará los nombres de los conmutadores externos disponibles:
Get-VMSwitch
Salida del ejemplo:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Ejecute el comando siguiente para crear una red virtual con una dirección IP estática:
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -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
Después, configure la implementación con el siguiente comando.
Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"
Ahora, está listo para instalar el host de AKS:
Install-AksHCi
Creación de un clúster de Kubernetes
Cree un clúster de Kubernetes mediante el comando New-AksHciCluster. En el ejemplo siguiente se crea un clúster denominado mycluster
con un grupo de nodos de Linux denominado linuxnodepool
, que tiene un recuento de nodos de 1:
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1
Para comprobar que la implementación se ha realizado correctamente, ejecute el siguiente comando.
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Nota:
Si usa los nuevos conjuntos de parámetros en New-AksHciCluster
para implementar un clúster y, a continuación, ejecuta Get-AksHciCluster
para obtener la información del clúster, los campos WindowsNodeCount
y LinuxNodeCount
en la salida devuelven 0
. Para obtener el número preciso de nodos de cada grupo de nodos, use el comando Get-AksHciNodePool
con el nombre de clúster especificado.
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
Instalación de la CLI de Kubernetes
Para conectarse al clúster de Kubernetes desde el equipo local, use kubectl, el cliente de línea de comandos de Kubernetes.
Conexión a un clúster mediante kubectl
Para configurar kubectl
para conectarse a su clúster de Kubernetes, use el comando Get-AksHciCredential. En el ejemplo siguiente se obtienen las credenciales del clúster denominado mycluster
:
Get-AksHciCredential -name mycluster
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:
kubectl get nodes
NAME STATUS ROLES AGE VERSION
moc-lbs6got5dqo Ready <none> 6d20h v1.20.7
moc-lel7tzxdt30 Ready control-plane,master 6d20h v1.20.7
Pasos siguientes
En este tutorial, se ha implementado un clúster de Kubernetes en AKS y se ha configurado kubectl
para conectarse a él. Ha aprendido a:
- Implementación de un clúster de AKS en Azure Local
- Instalar la CLI de Kubernetes (kubectl)
- Configurar kubectl para conectarse a un clúster de AKS
Vaya al siguiente tutorial para aprender a implementar una aplicación en el clúster.