Distribuzione di un singolo computer
È possibile distribuire AKS Edge Essentials in un singolo computer o in più computer. In una distribuzione Kubernetes a computer singolo, sia il nodo di controllo Kubernetes che il nodo di lavoro vengono eseguiti nello stesso computer. Questo articolo descrive come creare il nodo di controllo Kubernetes nel computer in una rete privata.
Prerequisiti
Configurare il computer primario come descritto in Configurare il computer.
Passaggio 1: parametri di configurazione di un singolo computer
È possibile generare i parametri necessari per creare un singolo cluster di computer usando il comando seguente:
New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null
Questo comando crea un file di configurazione denominato aksedge-config.json che include la configurazione necessaria per creare un cluster a computer singolo con un nodo Linux. Il file viene creato nella directory di lavoro corrente. Per altre opzioni per la creazione del file di configurazione, vedere gli esempi seguenti.
Per una descrizione dettagliata dei parametri di configurazione, vedere Configurazione JSON della distribuzione.
I parametri chiave per la distribuzione di un singolo computer sono:
DeploymentType
: questo parametro definisce il tipo di distribuzione e viene specificato comeSingleMachineCluster
.- Per
Network.NetworkPlugin
impostazione predefinita, èflannel
. Si tratta dell'impostazione predefinita per un cluster K3S. Se si usa un cluster K8S, impostare CNI sucalico
. - È possibile impostare i parametri seguenti in base alla configurazione di distribuzione come descritto di seguito:
LinuxNode.CpuCount
,LinuxNode.DataSizeInGB
LinuxNode.MemoryInMB
WindowsNode.MemoryInMB
WindowsNode.CpuCount
,Init.ServiceIPRangeSize
, e .Network.InternetDisabled
Passaggio 2: Creare un singolo cluster di computer
- È ora possibile eseguire il
New-AksEdgeDeployment
cmdlet per distribuire un cluster edge del servizio Azure Kubernetes con un singolo nodo del piano di controllo Linux:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json
Importante
Kubernetes pod cidr
è 10.42.0.0/16
per K3s e 10.244.0.0/24
per K8s. Kubernetes service cidr
è 10.43.0.0/16
per K3s e 10.96.0.0/12
per K8s.
Passaggio 3: convalidare il cluster
Verificare che la distribuzione sia stata eseguita correttamente eseguendo:
kubectl get nodes -o wide
kubectl get pods -A -o wide
L'immagine seguente mostra i pod in un cluster K3S:
Passaggio 4: Aggiungere un nodo di lavoro Windows (facoltativo)
Attenzione
I nodi di lavoro di Windows sono una funzionalità sperimentale in questa versione. Stiamo lavorando attivamente a questa funzionalità.
Se si vuole aggiungere un nodo Windows a un cluster Linux solo singolo computer esistente, creare prima di tutto il file di configurazione usando il comando seguente:
New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -outFile .\ScaleConfig.json | Out-Null
Verrà creato il file di configurazione ScaleConfig.json nella directory di lavoro corrente. È anche possibile modificare i parametri del nodo Windows nel file di configurazione per specificare le risorse da allocare al nodo Windows. Con il file di configurazione è possibile eseguire il comando seguente per aggiungere il nodo del cluster a computer singolo:
Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json
Opzioni di distribuzione di esempio
Creare un oggetto JSON con i parametri di configurazione
È possibile modificare l'oggetto JSON a livello di codice e passarlo come stringa:
$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096
New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)
Suggerimento
Vedere Configurazione JSON della distribuzione per tutte le opzioni disponibili, incluse le impostazioni di rete, ad esempio le impostazioni proxy.
Creare un cluster semplice con il servizio NodePort
È possibile creare un cluster semplice senza indirizzi IP di servizio (ServiceIPRangeSize
impostato su 0):
New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)
Allocare risorse ai nodi
Per connettersi ad Arc e distribuire le app con GitOps, allocare quattro CPU o più per ( LinuxNode.CpuCount
potenza di elaborazione), 4 GB o più per LinuxNode.MemoryinMB
(RAM) e assegnare un numero maggiore di 0 a ServiceIpRangeSize
. In questo caso vengono allocati 10 indirizzi IP per i servizi Kubernetes:
{
"SchemaVersion": "1.5",
"Version": "1.0",
"DeploymentType": "SingleMachineCluster",
"Init": {
"ServiceIPRangeSize": 10
},
"Network": {
"NetworkPlugin": "flannel"
},
"User": {
"AcceptEula": true,
"AcceptOptionalTelemetry": true
},
"Machines": [
{
"LinuxNode": {
"CpuCount": 4,
"MemoryInMB": 4096
}
}
]
}
Nota
AKS Edge Essentials alloca gli indirizzi IP dal commutatore interno per eseguire i servizi Kubernetes se è stato specificato un .ServiceIPRangeSize
È anche possibile scegliere di passare i parametri come stringa JSON, come descritto in precedenza:
$jsonObj = New-AksEdgeConfig -DeploymentType SingleMachineCluster
$jsonObj.User.AcceptEula = $true
$jsonObj.User.AcceptOptionalTelemetry = $true
$jsonObj.Init.ServiceIpRangeSize = 10
$machine = $jsonObj.Machines[0]
$machine.LinuxNode.CpuCount = 4
$machine.LinuxNode.MemoryInMB = 4096
New-AksEdgeDeployment -JsonConfigString ($jsonObj | ConvertTo-Json -Depth 4)
Creare un cluster di carico di lavoro misto
È possibile creare un cluster con nodi Linux e Windows. È possibile creare il file di configurazione usando il comando :
New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null
Dopo aver creato il file di configurazione, è possibile distribuire il cluster usando il comando seguente:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json