Condividi tramite


Scalabilità orizzontale in più computer

Ora che Il servizio Azure Kubernetes Edge Essentials è installato nel computer primario, questo articolo descrive come è possibile ridimensionare il cluster in altri computer secondari per creare una distribuzione multi-computer.

Attenzione

Il ridimensionamento in nodi aggiuntivi è una funzionalità sperimentale.

Prerequisiti

  • Configurare il cluster Kubernetes scalabile .
  • Configurare i computer secondari come descritto nell'articolo Configurare il computer. Non è possibile combinare distribuzioni Kubernetes diverse nel cluster. Se il cluster nel computer primario esegue K8s, è necessario installare anche l'msi K8s nei computer secondari.

Passaggio 1: ottenere la configurazione del cluster dal computer primario

Nel computer primario in cui è stata creata la distribuzione scalabile, eseguire i passaggi seguenti in una finestra di PowerShell con privilegi elevati per creare il file di configurazione appropriato in base ai requisiti.

  • Per ridimensionare aggiungendo un nodo di lavoro solo Linux, creare il file di configurazione richiesto usando il comando seguente e specificare come NodeType "Linux" e specificare un indirizzo IP univoco e disponibile per questo nodo:

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Per ridimensionare aggiungendo un nodo del piano di controllo Linux, specificare il NodeType valore "Linux", impostare il ControlPlane flag come true e specificare un indirizzo IP univoco per il nodo Linux:

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Linux -LinuxNodeIp x.x.x.x -ControlPlane -outFile .\ScaleConfig.json | Out-Null
    
  • Per ridimensionare aggiungendo un nodo di lavoro solo Windows, specificare come NodeType "Windows" e specificare un indirizzo IP univoco per il nodo Windows:

      New-AksEdgeScaleConfig -scaleType AddMachine -NodeType Windows -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Per aggiungere un nodo di lavoro Linux e Windows, specificare come NodeType "LinuxAndWindows" e specificare un indirizzo IP univoco per i nodi Linux e Windows:

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x -outFile .\ScaleConfig.json | Out-Null
    
  • Per aggiungere un nodo del piano di controllo Linux e un nodo di lavoro di Windows, specificare il NodeType valore "LinuxAndWindows", impostare il ControlPlane flag come truee specificare un indirizzo IP univoco per i nodi Linux e Windows:

    New-AksEdgeScaleConfig -scaleType AddMachine -NodeType LinuxandWindows -LinuxNodeIp x.x.x.x -WindowsNodeIp x.x.x.x  -ControlPlane -outFile .\ScaleConfig.json | Out-Null
    

Questi comandi esportano i dati necessari per aggiungere un cluster nel formato JSON, restituirlo come stringa JSON e archiviarlo nel file specificato tramite outFile parametro.

Attenzione

Ogni volta che si esegue il comando, il New-AksEdgeScaleConfig creato ClusterJoinToken in precedenza diventa non valido, quindi non è possibile usare un file ScaleConfig.json creato in precedenza. Inoltre, ClusterJoinToken è valido solo per 24 ore.

Passaggio 2: convalidare i parametri di configurazione

Il file di configurazione .\ScaleConfig.json include la configurazione dal computer primario. Esaminare e aggiornare le sezioni necessarie e fornire dettagli rilevanti per il computer a cui si esegue il ridimensionamento.

  • Verificare l'oggetto NetworkConnection.AdapterName con riferimento al computer secondario. Se è stato creato un commutatore esterno nel computer secondario Hyper-V, è possibile scegliere di specificare i dettagli vswitch nel file ScaleConfig.json . Se non si crea un commutatore esterno in Gestione Hyper-V ed eseguire il New-AksEdgeDeployment comando, Azure Kubernetes Edge Essentials crea automaticamente un commutatore esterno denominato aksedgesw-ext e lo usa per la distribuzione.

    Nota

    In questa versione si verifica un problema noto nella creazione automatica di commutatori esterni con il New-AksEdgeDeployment comando se si usa una scheda Wi-fi per il commutatore. In questo caso, creare prima il commutatore esterno usando la gestione Hyper-V - Virtual Switch Manager e eseguire il mapping del commutatore alla scheda Wi-fi. Specificare quindi i dettagli del commutatore nel codice JSON di configurazione, come descritto in questa sezione.

  • L'oggetto Network.NetworkPlugin è flannel per impostazione predefinita. Flannel è il CNI predefinito per un cluster K3S. Per un cluster K8S, passare a NetworkPlugincalico.

  • Verificare la configurazione delle risorse per i nodi secondari. È possibile modificare questi parametri in base alle esigenze. Assicurarsi di riservare memoria sufficiente per ogni nodo. Se è stato specificato MacAddress nel computer primario, verificare e specificare l'indirizzo MAC appropriato per il computer secondario.

  • Un numero dispari di nodi del piano di controllo è l'unica impostazione supportata. Pertanto, se si vuole aumentare o ridurre il piano di controllo, assicurarsi di avere uno, tre o cinque nodi del piano di controllo.

Passaggio 3: visualizzare un nodo nel computer secondario

A questo momento è possibile visualizzare i nodi nei computer secondari e aggiungerli al cluster.

Per distribuire il nodo corrispondente nel computer secondario, è ora possibile usare il file ScaleConfig.json creato nel passaggio precedente:

New-AksEdgeDeployment -JsonConfigFilePath .\ScaleConfig.json

Passaggio 4: convalidare la configurazione del cluster

In qualsiasi nodo del cluster eseguire il cmdlet seguente:

kubectl get nodes -o wide

È consigliabile visualizzare tutti i nodi del cluster.

Screenshot che mostra più nodi.

Passaggio 5: aggiungere altri nodi

È possibile generare un nuovo file ScaleConfig in base al nodeType richiesto ripetendo i passaggi da 1 a 4. Assicurarsi di fornire indirizzi IP disponibili nella rete ogni volta che si aggiunge un nodo.

Passaggio 6: aggiungere il secondo nodo (Linux/Windows) in un computer con già un nodo (facoltativo)

È possibile aggiungere un altro nodo a un computer esistente che dispone già di un nodo. Ad esempio, se il computer esegue un nodo Linux, è possibile aggiungere un nodo Windows al computer:

New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -WindowsNodeIp "xxx" -outFile .\ScaleConfig.json | Out-Null

È anche possibile specificare parametri come CpuCount e/o MemoryInMB per la macchina virtuale Windows.

Nota

Eseguire New-AksEdgeScaleConfig solo nei computer con il ruolo ControlPlane del nodo Linux .

È possibile usare il file di configurazione generato ed eseguire il comando seguente per aggiungere il nodo Windows:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

È anche possibile specificare parametri come CpuCount e/o MemoryInMB per la macchina virtuale Windows qui.

Passaggi successivi