Dela via


Distribution av en enskild dator

Du kan distribuera AKS Edge Essentials på en enda dator eller på flera datorer. I en enskild dators Kubernetes-distribution körs både Kubernetes-kontrollnoden och arbetsnoden på samma dator. Den här artikeln beskriver hur du skapar Kubernetes-kontrollnoden på datorn i ett privat nätverk.

Förutsättningar

Konfigurera din primära dator enligt beskrivningen i artikeln Konfigurera dator .

Steg 1: Konfigurationsparametrar för en enskild dator

Du kan generera de parametrar som du behöver för att skapa ett enskilt datorkluster med följande kommando:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null

Det här kommandot skapar en konfigurationsfil med namnet aksedge-config.json som innehåller den konfiguration som krävs för att skapa ett kluster med en enda dator med en Linux-nod. Filen skapas i den aktuella arbetskatalogen. Se följande exempel för fler alternativ för att skapa konfigurationsfilen. En detaljerad beskrivning av konfigurationsparametrarna finns här.

Nyckelparametrarna för distribution av en enskild dator är:

  • DeploymentType: Den här parametern definierar distributionstypen och anges som SingleMachineCluster.
  • Som Network.NetworkPlugin standard är flannel. Detta är standardvärdet för ett K3S-kluster. Om du använder ett K8S-kluster ändrar du CNI till calico.
  • Du kan ange följande parametrar enligt distributionskonfigurationen enligt beskrivningen här: LinuxNode.CpuCount, LinuxNode.MemoryInMB, LinuxNode.DataSizeInGB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, Init.ServiceIPRangeSizeoch Network.InternetDisabled.

Steg 2: Skapa ett enskilt datorkluster

  1. Nu kan du köra cmdleten New-AksEdgeDeployment för att distribuera ett AKS Edge-kluster med en enda Linux-kontrollplansnod:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Steg 3: Verifiera klustret

Bekräfta att distributionen lyckades genom att köra:

kubectl get nodes -o wide
kubectl get pods -A -o wide

Följande bild visar poddar i ett K3S-kluster:

Skärmbild som visar alla poddar som körs.

Steg 4: Lägg till en Windows-arbetsnod (valfritt)

Varning

Windows-arbetsnoder är en experimentell funktion i den här versionen. Vi arbetar aktivt med den här funktionen.

Om du vill lägga till en Windows-nod i ett befintligt kluster med en enda Linux-dator skapar du först konfigurationsfilen med följande kommando:

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

Då skapas konfigurationsfilen ScaleConfig.json i den aktuella arbetskatalogen. Du kan också ändra Windows-nodparametrarna i konfigurationsfilen för att ange de resurser som behöver allokeras till Windows-noden. Med konfigurationsfilen kan du köra följande kommando för att lägga till noden i klustret för en enskild dator:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Exempel på distributionsalternativ

Skapa ett JSON-objekt med konfigurationsparametrarna

Du kan programmatiskt redigera JSON-objektet och skicka det som en sträng:

$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)

Skapa ett enkelt kluster med NodePort-tjänsten

Du kan skapa ett enkelt kluster utan tjänst-IP-adresser (ServiceIPRangeSize anges som 0):

New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)

Allokera resurser till dina noder

Om du vill ansluta till Arc och distribuera dina appar med GitOps allokerar du fyra processorer eller mer för LinuxNode.CpuCount (processorkraft), 4 GB eller mer för LinuxNode.MemoryinMB (RAM) och för att tilldela ett tal som är större än 0 till ServiceIpRangeSize. Här allokerar vi 10 IP-adresser för dina Kubernetes-tjänster:

{
  "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
          }
       }
   ]
}

Anteckning

AKS Edge Essentials allokerar IP-adresser från din interna växel för att köra kubernetes-tjänsterna om du har angett en ServiceIPRangeSize.

Du kan också välja att skicka parametrarna som en JSON-sträng enligt beskrivningen ovan:

$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)

Skapa ett blandat arbetsbelastningskluster

Du kan skapa ett kluster med både Linux- och Windows-noder. Du kan skapa konfigurationsfilen med kommandot :

New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null

När konfigurationsfilen har skapats kan du distribuera klustret med följande kommando:

New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Nästa steg