Aumento del numero di istanze in più computer
Ora che il servizio Azure Kubernetes Edge Essentials è installato nel computer primario, questo articolo descrive come è possibile aumentare il numero di istanze del 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'identità del servizio gestito 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 eseguire il ridimensionamento aggiungendo un nodo di lavoro solo Linux, creare il file di configurazione necessario 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 altro nodo del piano di controllo Linux, specificare come
NodeType
"Linux", impostare ilControlPlane
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 la scalabilità 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 del ruolo di lavoro Windows, specificare come
NodeType
"LinuxAndWindows", impostare ilControlPlane
flag cometrue
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 -ControlPlane -outFile .\ScaleConfig.json | Out-Null
Questi comandi esportano i dati necessari per aggiungere un cluster nel formato JSON, restituirli come stringa JSON e archiviarli nel file specificato tramite outFile
il parametro .
Attenzione
Ogni volta che si esegue il New-AksEdgeScaleConfig
comando, il creato ClusterJoinToken
in precedenza diventa non valido, quindi non è possibile usare un file di 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 i dettagli relativi al computer a cui si sta eseguendo il ridimensionamento.
Verificare con
NetworkConnection.AdapterName
riferimento al computer secondario. Se è stato creato un commutatore esterno in Hyper-V nel computer secondario, è possibile scegliere di specificare i dettagli vswitch nel file ScaleConfig.json . Se non si crea un commutatore esterno nella console di gestione di Hyper-V e si esegue ilNew-AksEdgeDeployment
comando, AKS Edge Essentials crea automaticamente un commutatore esterno denominatoaksedgesw-ext
e lo usa per la distribuzione.Nota
In questa versione, c'è 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 di tutto il commutatore esterno usando la console di gestione di Hyper-V - Virtual Switch Manager ed 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 è l'interfaccia CNI predefinita per un cluster K3S. Per un cluster K8S, modificare inNetworkPlugin
calico
.Verificare la configurazione della risorsa 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 fornire 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
Dovrebbe essere possibile visualizzare tutti i nodi del cluster.
Passaggio 5: aggiungere altri nodi
È possibile generare un nuovo file ScaleConfig basato sul 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 che dispone già di 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 aggiungervi un nodo Windows:
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 nodo Linux con il ruolo ControlPlane .
È 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.