Condividi tramite


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 come SingleMachineCluster.
  • Per Network.NetworkPlugin impostazione predefinita, è flannel. Si tratta dell'impostazione predefinita per un cluster K3S. Se si usa un cluster K8S, impostare CNI su calico.
  • È possibile impostare i parametri seguenti in base alla configurazione di distribuzione come descritto di seguito: LinuxNode.CpuCount, LinuxNode.DataSizeInGBLinuxNode.MemoryInMBWindowsNode.MemoryInMBWindowsNode.CpuCount, Init.ServiceIPRangeSize, e .Network.InternetDisabled

Passaggio 2: Creare un singolo cluster di computer

  1. È 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:

Screenshot che mostra tutti i pod in esecuzione.

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

Passaggi successivi