Implementare il servizio Azure Kubernetes in Azure Stack Edge
SI APPLICA A: Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Nota
Utilizzare questa procedura solo se si è un cliente SAP o PMEC.
Questo articolo descrive come distribuire e gestire il servizio Azure Kubernetes nel dispositivo Azure Stack Edge. È anche possibile usare questo articolo per creare volumi persistenti, usare GitOps per gestire un cluster Kubernetes abilitato per Arc e rimuovere il servizio Azure Kubernetes e Azure Arc.
Il gruppo di destinatari previsto per questo articolo è costituito dagli amministratori IT che hanno familiarità con la configurazione e la distribuzione dei carichi di lavoro nel dispositivo Azure Stack Edge.
Servizio Azure Kubernetes in Azure Stack Edge
Azure Stack Edge è un dispositivo edge computing abilitato per l'intelligenza artificiale con funzionalità di I/O di rete con prestazioni elevate. Dopo aver configurato il calcolo nel dispositivo Azure Stack Edge, è possibile usare il portale di Azure per implementare il servizio Azure Kubernetes, incluse le macchine virtuali dell'infrastruttura. Il cluster del servizio Azure Kubernetes viene quindi usato per la distribuzione del carico di lavoro tramite Azure Arc.
Prerequisiti
Prima di iniziare, assicurarsi di:
Si ha un account Microsoft con credenziali per accedere al portale di Azure e accedere a un dispositivo Azure Stack Edge Pro GPU. Il dispositivo Azure Stack Edge viene configurato e attivato usando le istruzioni riportate in Configurare e attivare il dispositivo.
È stato creato e abilitato almeno un commutatore virtuale per il calcolo nel dispositivo Azure Stack Edge. Per i passaggi dettagliati, vedere Creare commutatori virtuali.
Si dispone di un client per accedere al dispositivo che esegue un sistema operativo supportato. Se si usa un client Windows, assicurarsi che sia in esecuzione PowerShell 5.0 o versione successiva.
Prima di abilitare Azure Arc nel cluster Kubernetes, assicurarsi di aver abilitato e registrato i provider di risorse
Microsoft.Kubernetes
eMicrosoft.KubernetesConfiguration
nella sottoscrizione. Per i passaggi dettagliati, vedere Registrare i provider di risorse tramite l'interfaccia della riga di comando di Azure.Se si intende implementare il cluster Azure Arc per Kubernetes, è necessario creare un gruppo di risorse. È necessario disporre dell'accesso di livello proprietario al gruppo di risorse.
Per verificare il livello di accesso per il gruppo di risorse, passare a Gruppo di risorse>Controllo di accesso (IAM)>Visualizzare accesso personale. In Assegnazioni di ruolo è necessario essere elencati come Proprietario.
A seconda dei carichi di lavoro che si intende distribuire, potrebbe essere necessario assicurarsi che vengano completati anche i passaggi facoltativi seguenti:
Se si intende implementare percorsi personalizzati nel cluster abilitato per Arc, è necessario registrare il provider di risorse
Microsoft.ExtendedLocation
nella sottoscrizione.È necessario recuperare l'ID oggetto del percorso personalizzato e usarlo per abilitare percorsi personalizzati tramite l'interfaccia di PowerShell del dispositivo.
az login az ad sp show --id bc313c14-387c-4e7d-a58e-70417303ee3b --query id -o tsv
Di seguito un output di esempio che usa l'interfaccia della riga di comando di Azure. È possibile eseguire gli stessi comandi tramite Cloud Shell nel portale di Azure.
PS /home/user> az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv 51dfe1e8-70c6-4de5-a08e-e18aff23d815 PS /home/user>
Per altre informazioni, vedere Creare e gestire percorsi personalizzati in Kubernetes abilitato per Arc.
Se si distribuiscono carichi di lavoro Kubernetes o PMEC:
- È possibile che sia stato selezionato un profilo di carico di lavoro specifico usando l'interfaccia utente locale o PowerShell. I passaggi dettagliati sono documentati per l'interfaccia utente locale in Configurare IPS di calcolo e per PowerShell in Modificare i profili di carico di lavoro Kubernetes.
- Potrebbero essere necessarie reti virtuali aggiunte usando le istruzioni riportate in Creare reti virtuali.
Se si usano macchine virtuali HPN come macchine virtuali dell'infrastruttura, le vCPU devono essere prenotate automaticamente. Eseguire il comando seguente per verificare la prenotazione:
Get-HcsNumaLpMapping
Questa configurazione viene applicata quando si installa o si esegue l'aggiornamento ad Azure Stack Edge 2307. Esistono due scenari in cui la configurazione non verrà applicata durante l'aggiornamento:
Quando sono configurate più vCPU minroot rispetto alle quattro vCPU di Numa0 + tutte le vCPU da Numa1. Questo scenario si applica principalmente ai clienti del gateway Azure Stack Edge che configurano tutte le vCPU per minroot. Per Azure Stack Edge Pro 2, è presente un solo Numa. Per Azure Stack Edge Pro 2 con 40 core, sono configurate più vCPU minroot di 24 vCPU e per Azure Stack Edge Pro 2 con 48 vCPU sono configurate più di 28 vCPU.
Quando sono state distribuite macchine virtuali HPN e si usano più di 16 vCPU in un computer con 40 core o più di 20 vCPU in un computer con 48 core per macchine virtuali HPN.
Di seguito è riportato l'output di esempio per la GPU Azure Stack Edge Pro:
Hardware: { Numa Node #0 : CPUs [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] } HpnCapableLpMapping: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] } 7MT0SZ2: HpnLpMapping: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [] } HpnLpAvailable: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [] }
Implementare il servizio Azure Kubernetes in Azure Stack Edge
Esistono più passaggi per implementare il servizio Azure Kubernetes in Azure Stack Edge. Alcuni passaggi sono facoltativi, come indicato di seguito.
Verificare che il servizio Azure Kubernetes sia abilitato
Per verificare che il servizio Azure Kubernetes sia abilitato, passare alla risorsa Azure Stack Edge nel portale di Azure. Nel riquadro Panoramica selezionare il riquadro Servizio Azure Kubernetes.
Impostare percorsi personalizzati (facoltativo)
Eseguire il comando seguente come opzione per impostare percorsi personalizzati. Immettere l'ID oggetto del percorso personalizzato recuperato durante il completamento dei prerequisiti.
Set-HcsKubeClusterArcInfo –CustomLocationsObjectId <custom_location_object_id>
Di seguito un output di esempio che usa l'interfaccia della riga di comando di Azure. È possibile eseguire gli stessi comandi tramite Cloud Shell nel portale di Azure.
[1d9nhq2.microsoftdatabox.com]: PS> Set-HcsKubeClusterArcInfo –CustomLocationsObjectId 51dfe1e8-70c6-4de5-a08e-e18aff23d815 [1d9nhq2.microsoftdatabox.com]: PS>
Specificare pool IP statici (facoltativo)
Passaggio facoltativo in cui è possibile assegnare pool IP per la rete virtuale usata dai pod Kubernetes.
Nota
I clienti SAP possono ignorare questo passaggio.
È possibile specificare un pool di indirizzi IP statici per ogni rete virtuale abilitata per Kubernetes. La rete virtuale abilitata per Kubernetes genera un oggetto NetworkAttachmentDefinition
creato per il cluster Kubernetes.
Durante il provisioning delle applicazioni, i pod Kubernetes possono usare indirizzi IP statici nel pool IP per le interfacce di rete dei contenitori, ad esempio interfacce di virtualizzazione I/O radice singola del contenitore (SR-IOV). Questa operazione può essere eseguita puntando a NetworkAttachmentDefinition
nel PodSpec.
Usare la procedura seguente per assegnare pool IP statici nell'interfaccia utente locale del dispositivo.
Passare alla pagina Rete avanzata nel portale di Azure.
Se in precedenza non sono state create reti virtuali, selezionare Aggiungi rete virtuale per creare una rete virtuale. È necessario specificare il commutatore virtuale associato alla rete virtuale, all'ID VLAN, alla subnet mask e al gateway.
In un esempio illustrato di seguito sono state configurate tre reti virtuali. In ognuna di queste reti virtuali, VLAN è 0 e subnet mask e gateway corrispondono ai valori esterni, ad esempio 255.255.0.0 e 192.168.0.1.
Prima rete virtuale: il nome è N2 ed è associata a vswitch-port5.
Seconda rete virtuale: il nome è N3 ed è associata a vswitch-port5.
Terza rete virtuale: il nome è N6 ed è associata a vswitch-port6.
Dopo aver configurato tutte e tre le reti virtuali, vengono elencate nelle reti virtuali, come indicato di seguito:
Assegnare pool di indirizzi IP alle reti virtuali:
Nella pagina Kubernetes selezionare una rete virtuale creata e abilitarla per Kubernetes.
Specificare un intervallo contiguo di indirizzi IP statici per i pod Kubernetes nella rete virtuale. In questo esempio è stato fornito un intervallo di un indirizzo IP per ognuna delle tre reti virtuali create.
Selezionare Applica per applicare le modifiche per tutte le reti virtuali.
Nota
Non è possibile modificare le impostazioni del pool IP dopo la distribuzione del cluster del servizio Azure Kubernetes.
Configurare il commutatore virtuale di calcolo
Usare questo passaggio per configurare il commutatore virtuale per il traffico di calcolo Kubernetes.
Nell'interfaccia utente locale del dispositivo passare alla pagina Kubernetes.
Selezionare Modifica per configurare un commutatore virtuale per il traffico di calcolo Kubernetes.
Abilitare il calcolo su una porta con accesso a Internet. In questo caso, ad esempio, la porta 2 connessa a Internet è abilitata per il calcolo. L'accesso a Internet consente di recuperare le immagini del contenitore dal servizio Azure Kubernetes.
L'IP virtuale dei servizi coerenti di Azure deve essere in grado di raggiungere questa rete del commutatore virtuale di calcolo tramite routing esterno o creando un indirizzo IP virtuale coerente con i servizi di Azure nella stessa rete.
Per i nodi Kubernetes, specificare un intervallo contiguo di sei indirizzi IP statici nella stessa subnet della rete per questa porta.
Nell'ambito della distribuzione del servizio Azure Kubernetes vengono creati due cluster, un cluster di gestione e un cluster di destinazione. Gli indirizzi IP specificati vengono usati come segue:
Il cluster di gestione richiede due indirizzi IP = 1 IP per l'interfaccia di rete del piano di controllo di gestione + 1 IP per il server API (indirizzo VIP).
Il cluster di destinazione necessita di indirizzi IP (2+n) = 1 IP per l'interfaccia di rete del piano di controllo del cluster di destinazione + 1 IP per il server API (indirizzo VIP) + numero di nodi, n.
Per gli aggiornamenti in sequenza viene usato un indirizzo IP aggiuntivo.
Per un dispositivo a nodo singolo, quanto riportato sopra risulta in sei indirizzi IP per implementare un cluster Kubernetes. Per un cluster a due nodi sono necessari sette indirizzi IP.
Per gli indirizzi IP del servizio esterno Kubernetes, fornire indirizzi IP statici per i servizi esposti all'esterno del cluster Kubernetes. Ogni servizio richiede un indirizzo IP.
Abilitare la gestione cloud delle macchine virtuali
Questo passaggio è necessario per consentire al portale di Azure Stack Edge di implementare le macchine virtuali dell'infrastruttura nel dispositivo Azure Stack Edge per il servizio Azure Kubernetes; ad esempio, per il nodo di lavoro del cluster di destinazione.
Andare alla risorsa Azure Stack Edge nel portale di Azure.
Passare a Panoramica e selezionare il riquadro Macchine virtuali.
Nella pagina Macchie virtuali>Panoramica selezionareAbilita per la Gestione cloud delle macchine virtuali.
Configurare il cluster Kubernetes e abilitare Arc
Usare questo passaggio per configurare e distribuire il cluster Kubernetes e abilitarlo per la gestione tramite Arc.
Importante
Prima di creare il cluster Kubernetes, tenere presente che:
- Non è possibile modificare le impostazioni del pool IP dopo la distribuzione del cluster del servizio Azure Kubernetes.
- Nell'ambito dell'abilitazione di Arc del cluster di destinazione del servizio Azure Kubernetes, i percorsi personalizzati verranno abilitate se l'ID oggetto è stato passato usando il comando facoltativo nella sezione Impostare percorsi personalizzati (facoltativo) in questo articolo. Se non sono stati abilitati percorsi personalizzati, è comunque possibile scegliere di farlo prima della creazione del cluster Kubernetes. Dopo l'avvio della distribuzione del cluster, non sarà possibile impostare percorsi personalizzati.
Seguire questa procedura per distribuire il cluster del servizio Azure Kubernetes.
Andare alla risorsa Azure Stack Edge nel portale di Azure.
Selezionare il riquadro Servizio Azure Kubernetes.
Selezionare Aggiungi per configurare il servizio Azure Kubernetes.
Nella finestra di dialogo Crea servizio Kubernetes selezionare le dimensioni del nodo Kubernetes per la macchina virtuale dell'infrastruttura. Selezionare una dimensione del nodo della macchina virtuale appropriata per le dimensioni del carico di lavoro che si sta distribuendo. In questo esempio sono selezionate le dimensioni della macchina virtuale Standard_F16s_HPN - 16 vCPU, 32,77 GB di memoria.
Per le distribuzioni SAP, selezionare dimensioni del nodo della macchina virtuale Standard_DS5_v2.
Nota
Se il menu a discesa dimensioni del nodo non viene popolato, attendere alcuni minuti in modo che venga sincronizzato dopo l'abilitazione delle macchine virtuali nel passaggio precedente.
Controllare Gestire il contenitore dal cloud tramite Kubernetes con abilitazione di Arc. Questa opzione, se selezionata, abilita Arc quando viene creato il cluster Kubernetes.
Se si seleziona Modificare, è necessario specificare un nome di sottoscrizione, un gruppo di risorse, un nome del cluster e un'area.
Il nome della sottoscrizione deve essere popolato automaticamente.
Specificare un nome univoco di gruppo di risorse. È anche possibile scegliere di usare lo stesso gruppo di risorse in cui è stata distribuita la risorsa Azure Stack Edge. È necessario disporre dell'accesso a livello di proprietario a questo gruppo di risorse. Per verificare il livello di accesso per il gruppo di risorse, passare a Gruppo di risorse>Controllo di accesso (IAM)>Visualizzare accesso personale. In Assegnazioni di ruolo è necessario essere elencati come Proprietario.
Specificare un nome per il cluster Kubernetes abilitato per Arc o accettare l'impostazione predefinita.
Selezionare un'area in cui verrà creata la risorsa per il cluster Kubernetes con abilitazione di Arc. Nell'elenco a discesa viene visualizzato un elenco filtrato di aree supportate.
Seleziona Configura. È anche possibile ripristinare le impostazioni di Arc selezionando l'opzione Ripristina impostazioni predefinite .
Selezionare Crea per creare il servizio Kubernetes.
Si riceve una notifica all'avvio della creazione del cluster.
Dopo aver creato il cluster Kubernetes, si noterà che il servizio Azure Kubernetes è In esecuzione.
Kubernetes abilitato per Arc verrà visualizzato anche come In esecuzione.
Se si prevede di distribuire carichi di lavoro Kubernetes, potrebbe essere necessario creare volumi persistenti per allocare l'archiviazione.
Aggiungere un volume persistente
PersistentVolume (PV) fa riferimento a una parte di spazio di archiviazione nel cluster Kubernetes. L'archiviazione Kubernetes può essere sottoposta a provisioning statico come PersistentVolume
. Può anche essere sottoposta a provisioning dinamico come StorageClass
. Per altre informazioni, vedere Requisiti di archiviazione per i pod Kubernetes.
Esistono due flussi di lavoro diversi per la creazione di volumi persistenti a seconda che il calcolo sia abilitato inline quando la condivisione viene creata, o meno. Ognuno di questi flussi di lavoro viene illustrato nelle sezioni seguenti.
Creare un volume persistente con calcolo abilitato inline durante la creazione della condivisione
Nel dispositivo Azure Stack Edge Pro, i provisioning statici PersistentVolumes
vengono creati usando le funzionalità di archiviazione del dispositivo. Quando si effettua il provisioning di una condivisione e l'opzione Usa la condivisione con il calcolo Edge è abilitata, questa azione crea automaticamente una risorsa PV nel cluster Kubernetes.
Per usare il cloud a livelli, è possibile creare una condivisione cloud Edge con l'opzione Usa la condivisione con il calcolo Edge abilitata. Un PV viene nuovamente creato automaticamente per questa condivisione. Se si abilita questa opzione, tutti i dati dell'applicazione scritti nella condivisione Edge vengono inseriti in livelli nel cloud.
Creare un volume persistente con calcolo non abilitato inline durante la creazione della condivisione
Per le condivisioni create con l'opzione Usa la condivisione con il calcolo Edge deselezionata, è possibile aggiungere un volume persistente seguendo questa procedura.
Nel portale di Azure passare alla risorsa Azure Stack Edge per il dispositivo. Andare a Gateway di archiviazione nel cloud>Condivisioni. È possibile notare che il dispositivo ha attualmente condivisioni con lo stato Usato per il calcolo abilitato.
Selezionare + Aggiungi condivisione. Per questa condivisione, assicurarsi che l'opzione Usa la condivisione con il calcolo Edge sia deselezionata.
È possibile visualizzare la condivisione appena creata nell'elenco delle condivisioni e lo stato Usato per il calcolo è Disabilitato.
Tornare a Risorsa Azure Stack Edge>Panoramica. Nel riquadro destro selezionare il riquadro Servizio Azure Kubernetes.
Nella pagina Servizio Azure Kubernetes>Panoramica riquadro Volumi persistenti mostra i volumi persistenti esistenti. Questi volumi sono stati creati automaticamente quando le condivisioni sono state create con l'opzione Usa la condivisione con calcolo Edge abilitata. Per creare un nuovo volume persistente, selezionare + Aggiungi volume persistente.
Nella finestra di dialogo Aggiungi volumi persistenti selezionare la condivisione per cui si vuole creare il volume persistente.
Viene visualizzata una notifica che indica che il volume persistente è in corso di creazione. Il completamento dell'operazione richiede alcuni minuti.
Dopo aver creato il volume persistente, la pagina Panoramica viene aggiornata per includere il nuovo volume persistente aggiunto.
Selezionare Visualizza tutti i volumi persistenti per visualizzare il volume persistente appena creato.
Rimuovere il servizio Azure Kubernetes
Usare la procedura seguente nel portale di Azure per rimuovere il servizio Azure Kubernetes.
Nella risorsa Azure Stack Edge passare Servizio Azure Kubernetes>Panoramica.
Nella barra dei comandi superiore selezionare Rimuovi.
Selezionare il componente aggiuntivo configurato da rimuovere insieme al servizio Azure Kubernetes. Kubernetes con abilitazione di Azure Arc è un componente aggiuntivo. Dopo aver selezionato Rimuovi, verranno rimosse tutte le configurazioni di Kubernetes e il componente aggiuntivo selezionato. L'operazione è irreversibile e non può essere annullata.
Seleziona OK per confermare l'operazione.