Guida introduttiva: Configurare un host servizio Azure Kubernetes in Azure Stack HCI e Windows Server e distribuire un cluster del carico di lavoro con PowerShell

Si applica a: Azure Stack HCI o Windows Server Datacenter

In questa guida introduttiva si apprenderà come configurare un host servizio Azure Kubernetes (AKS). Si creerà il servizio Azure Kubernetes nei cluster Azure Stack HCI e Windows Server usando PowerShell. Per usare invece Windows Admin Center, vedere Configurare con Windows Admin Center.

Nota

Prima di iniziare

  • Assicurarsi di aver soddisfatto tutti i prerequisiti nella pagina dei requisiti di sistema .
  • Usare un account Azure per registrare l'host del servizio Azure Kubernetes per la fatturazione. Per altre informazioni, vedere Requisiti di Azure.

Installare il modulo AksHci PowerShell

In tutti i nodi del cluster Azure Stack HCI o del cluster Windows Server

Se si usa PowerShell remoto, è necessario usare CredSSP.

Chiudere tutte le finestre di PowerShell aperte, aprire una nuova sessione di PowerShell come amministratore ed eseguire il comando seguente in tutti i nodi del cluster Azure Stack HCI o Windows Server:

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

È necessario chiudere nuovamente tutte le finestre di PowerShell esistenti per assicurarsi che i moduli caricati vengano aggiornati. Non continuare con il passaggio successivo fino a quando non sono state chiuse tutte le finestre di PowerShell aperte.

Installare il modulo PowerShell servizio Azure Kubernetes-HCI eseguendo il comando seguente in tutti i nodi del cluster Azure Stack HCI o Windows Server:

Install-Module -Name AksHci -Repository PSGallery
Exit

È necessario chiudere nuovamente tutte le finestre di PowerShell esistenti per assicurarsi che i moduli caricati vengano aggiornati. Non continuare con il passaggio successivo fino a quando non sono state chiuse tutte le finestre di PowerShell aperte.

È possibile usare uno script helper per eliminare i moduli PowerShell precedenti del servizio Azure Kubernetes-HCI, per evitare eventuali problemi relativi alla versione di PowerShell nella distribuzione del servizio Azure Kubernetes.

Convalidare l'installazione

Get-Command -Module AksHci

Per visualizzare l'elenco completo dei comandi di PowerShell AksHci, vedere AksHci PowerShell.

Registrare il provider di risorse nella sottoscrizione

Prima del processo di registrazione, è necessario abilitare il provider di risorse appropriato in Azure per il servizio Azure Kubernetes in Azure Stack HCI e la registrazione di Windows Server. A tale scopo, eseguire i comandi di PowerShell seguenti.

Per accedere ad Azure, eseguire il comando PowerShell Connect-AzAccount :

Connect-AzAccount

Se si vuole passare a una sottoscrizione diversa, eseguire il comando Set-AzContext di PowerShell:

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

Eseguire il comando seguente per registrare la sottoscrizione di Azure nei provider di risorse Kubernetes con abilitazione di Azure Arc. Questo processo di registrazione può richiedere fino a 10 minuti, ma deve essere eseguito una sola volta in una sottoscrizione specifica.

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

Per convalidare il processo di registrazione, eseguire il comando di PowerShell seguente:

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

Passaggio 1: Preparare i computer per la distribuzione

Eseguire controlli in ogni nodo fisico per verificare se tutti i requisiti sono soddisfatti per installare il servizio Azure Kubernetes in Azure Stack HCI e Windows Server. Aprire PowerShell come amministratore ed eseguire il comando Initialize-AksHciNode seguente. Eseguire il comando seguente in tutti i nodi del cluster Azure Stack HCI e Windows Server.

Initialize-AksHciNode

Passaggio 2: Creare una rete virtuale

Eseguire i comandi seguenti nel passaggio 2 in qualsiasi nodo del cluster Azure Stack HCI e Windows Server.

Per ottenere i nomi delle opzioni disponibili, eseguire il comando seguente. Assicurarsi che il SwitchType valore del commutatore della macchina virtuale sia "Esterno".

Get-VMSwitch

Output di esempio:

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

Per creare una rete virtuale per i nodi della distribuzione da usare, creare una variabile di ambiente con il comando PowerShell New-AksHciNetworkSetting . Verrà usato in un secondo momento per configurare una distribuzione che usa l'indirizzo IP statico. Per configurare la distribuzione del servizio Azure Kubernetes con DHCP, visitare New-AksHciNetworkSetting per esempi. È anche possibile esaminare alcuni concetti relativi ai nodi di rete.

#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

I valori specificati in questo comando di esempio dovranno essere personalizzati per l'ambiente in uso.

Passaggio 3: Configurare la distribuzione

Eseguire i comandi seguenti nel passaggio 3 in qualsiasi nodo del cluster Azure Stack HCI e Windows Server.

Per creare le impostazioni di configurazione per l'host del servizio Azure Kubernetes, usare il comando Set-AksHciConfig . È necessario specificare i imageDirparametri , workingDire cloudConfigLocation . Per reimpostare i dettagli di configurazione, eseguire di nuovo il comando con nuovi parametri.

Configurare la distribuzione con il comando seguente.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -workingDir c:\ClusterStorage\Volume1\ImageStore -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"

Nota

I valori specificati in questo comando di esempio dovranno essere personalizzati per l'ambiente in uso.

Passaggio 4: Accedere ad Azure e configurare le impostazioni di registrazione

Opzione 1: Uso dell'account Azure AD se si dispone delle autorizzazioni "Proprietario"

Eseguire il comando Set-AksHciRegistration di PowerShell seguente con la sottoscrizione e il nome del gruppo di risorse per accedere ad Azure. Per continuare, è necessario avere una sottoscrizione di Azure e un gruppo di risorse di Azure esistente nelle aree Australia orientale, Stati Uniti orientali, Asia sud-orientale o Europa occidentale.

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

Opzione 2: Uso di un'entità servizio di Azure

Se non si ha accesso a una sottoscrizione in cui si è "Proprietario", è possibile registrare l'host del servizio Azure Kubernetes in Azure per la fatturazione usando un'entità servizio. Per altre informazioni su come usare un'entità servizio, vedere Registrare il servizio Azure Kubernetes in Azure Stack HCI e Windows Server usando un'entità servizio.

Passaggio 5: Avviare una nuova distribuzione

Eseguire il comando seguente nel passaggio 5 in qualsiasi nodo del cluster Azure Stack HCI o Windows Server.

Dopo aver configurato la distribuzione, è necessario avviarla per installare il servizio Azure Kubernetes in Azure Stack HCI e gli agenti/servizi di Windows Server e l'host del servizio Azure Kubernetes. Per iniziare la distribuzione, eseguire il comando seguente.

Suggerimento

Per visualizzare altri dettagli sullo stato durante l'installazione, impostare $VerbosePreference = "Continue" prima di procedere.

Install-AksHci

Avviso

Durante l'installazione dell'host del servizio Azure Kuberenetes, viene creato un tipo di risorsa Kubernetes - Azure Arc nel gruppo di risorse impostato durante la registrazione. Non eliminare questa risorsa perché rappresenta l'host del servizio Azure Kuberenetes. È possibile identificare la risorsa controllando il relativo campo di distribuzione per il valore aks_management. L'eliminazione di questa risorsa comporterà una distribuzione out-of-policy.

Passaggio 6: Creare un cluster Kubernetes

Dopo aver installato l'host del servizio Azure Kubernetes, è possibile distribuire un cluster Kubernetes. Aprire PowerShell come amministratore ed eseguire il comando New-AksHciCluster seguente. Questo comando di esempio creerà un nuovo cluster Kubernetes con un pool di nodi Linux denominato linuxnodepool con un numero di nodi pari a 1.

Per altre informazioni sui pool di nodi, vedere Usare pool di nodi nel servizio Azure Kubernetes in Azure Stack HCI e Windows Server.

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

Controllare i cluster distribuiti

Per ottenere un elenco dei cluster Kubernetes distribuiti, eseguire il comando Get-AksHciCluster di PowerShell seguente.

Get-AksHciCluster

Output

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

Per ottenere un elenco dei pool di nodi nel cluster, eseguire il comando PowerShell Get-AksHciNodePool seguente.

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

Passaggio 7: Connettere il cluster a Kubernetes abilitato per Arc

Connettere il cluster a Kubernetes abilitato per Arc eseguendo il comando Enable-AksHciArcConnection . L'esempio seguente connette il servizio Azure Kubernetes in Azure Stack HCI e il cluster Windows Server ad Arc usando i dettagli della sottoscrizione e del gruppo di risorse passati nel Set-AksHciRegistration comando.

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Nota

Se si verificano problemi o messaggi di errore durante il processo di installazione, vedere Problemi noti ed errori di installazione per altre informazioni.

Ridimensionare un cluster Kubernetes

Se è necessario aumentare o ridurre le prestazioni del cluster, è possibile modificare il numero di nodi del piano di controllo usando il comando Set-AksHciCluster . Per modificare il numero di nodi di lavoro Linux o Windows nel pool di nodi, usare il comando Set-AksHciNodePool .

Per ridimensionare i nodi del piano di controllo, eseguire il comando seguente:

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Per ridimensionare i nodi di lavoro nel pool di nodi, eseguire il comando seguente:

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

Nota

Nelle versioni precedenti del servizio Azure Kubernetes in Azure Stack HCI e Windows Server, il comando Set-AksHciCluster è stato usato anche per ridimensionare i nodi di lavoro. Ora che il servizio Azure Kubernetes in Azure Stack HCI e Windows Server introduce pool di nodi nei cluster del carico di lavoro, è possibile usare questo comando solo per ridimensionare i nodi di lavoro, se il cluster è stato creato con il vecchio set di parametri in New-AksHciCluster.

Per ridimensionare i nodi di lavoro in un pool di nodi, usare il comando Set-AksHciNodePool .

Accedere ai cluster usando kubectl

Per accedere ai cluster Kubernetes usando kubectl, eseguire il comando Get-AksHciCredential di PowerShell. Questo userà il file kubeconfig del cluster specificato come file kubeconfig predefinito per kubectl. È anche possibile usare kubectl per distribuire applicazioni tramite Helm.

Get-AksHciCredential -name mycluster

Eliminare un cluster Kubernetes

Se è necessario eliminare un cluster Kubernetes, eseguire il comando seguente.

Remove-AksHciCluster -name mycluster

Nota

Assicurarsi che il cluster venga eliminato esaminando le macchine virtuali esistenti in Hyper-V Manager. Se non vengono eliminati, è possibile eliminare manualmente le macchine virtuali. Eseguire quindi il comando Restart-Service wssdagent. Questa operazione deve essere eseguita in ogni nodo del cluster di failover.

Ottenere i log

Per ottenere i log da tutti i pod, eseguire il comando Get-AksHciLogs . Questo comando creerà una cartella di output chiamato akshcilogs.zip nella directory di lavoro. Il percorso completo della akshcilogs.zip cartella sarà l'output dopo l'esecuzione del comando seguente.

Get-AksHciLogs

In questa guida introduttiva si è appreso come configurare un host del servizio Azure Kubernetes e creare il servizio Azure Kubernetes nei cluster Azure Stack HCI e Windows Server usando PowerShell. Si è anche appreso come usare PowerShell per ridimensionare un cluster Kubernetes e accedere ai cluster con kubectl.

Passaggi successivi