Delen via


Implementatie van één machine

U kunt AKS Edge Essentials implementeren op één computer of op meerdere computers. In één kubernetes-implementatie worden zowel het Kubernetes-besturingsknooppunt als het werkknooppunt op dezelfde computer uitgevoerd. In dit artikel wordt beschreven hoe u het Kubernetes-besturingsknooppunt maakt op uw computer in een particulier netwerk.

Vereisten

Stel uw primaire machine in zoals beschreven in De computer instellen.

Stap 1: configuratieparameters voor één machine

U kunt de parameters genereren die u nodig hebt om één computercluster te maken met behulp van de volgende opdracht:

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

Met deze opdracht maakt u een configuratiebestand met de naam aksedge-config.json dat de configuratie bevat die nodig is voor het maken van een cluster met één computer met een Linux-knooppunt. Het bestand wordt gemaakt in uw huidige werkmap. Zie de volgende voorbeelden voor meer opties voor het maken van het configuratiebestand.

Zie JSON-implementatieconfiguratie voor een gedetailleerde beschrijving van de configuratieparameters.

De belangrijkste parameters voor implementatie van één machine zijn:

  • DeploymentType: Deze parameter definieert het implementatietype en wordt opgegeven als SingleMachineCluster.
  • De Network.NetworkPlugin standaardwaarde is flannel. Dit is de standaardwaarde voor een K3S-cluster. Als u een K8S-cluster gebruikt, wijzigt u de CNI in calico.
  • U kunt de volgende parameters instellen op basis van uw implementatieconfiguratie, zoals hier wordt beschreven: LinuxNode.CpuCount, , LinuxNode.DataSizeInGBLinuxNode.MemoryInMB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, en Init.ServiceIPRangeSizeNetwork.InternetDisabled.

Stap 2: één machinecluster maken

  1. U kunt nu de New-AksEdgeDeployment cmdlet uitvoeren om een AKS Edge-cluster met één machine te implementeren met één Linux-besturingsvlakknooppunt:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Belangrijk

De Kubernetes pod cidr is 10.42.0.0/16 voor K3's en 10.244.0.0/24 voor K8s. De Kubernetes service cidr is 10.43.0.0/16 voor K3's en 10.96.0.0/12 voor K8s.

Stap 3: uw cluster valideren

Controleer of de implementatie is geslaagd door het volgende uit te voeren:

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

In de volgende afbeelding ziet u pods in een K3S-cluster:

Schermopname van alle pods die worden uitgevoerd.

Stap 4: Een Windows-werkknooppunt toevoegen (optioneel)

Let op

Windows-werkknooppunten is een experimentele functie in deze release. We werken actief aan deze functie.

Als u een Windows-knooppunt wilt toevoegen aan een bestaand Linux-cluster met slechts één computer, maakt u eerst het configuratiebestand met behulp van de volgende opdracht:

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

Hiermee maakt u het configuratiebestand ScaleConfig.json in de huidige werkmap. U kunt ook de Windows-knooppuntparameters in het configuratiebestand wijzigen om de resources op te geven die moeten worden toegewezen aan het Windows-knooppunt. Met het configuratiebestand kunt u de volgende opdracht uitvoeren om het knooppunt toe te voegen aan het cluster met één computer:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Voorbeeldimplementatieopties

Een JSON-object maken met de configuratieparameters

U kunt het JSON-object programmatisch bewerken en doorgeven als een tekenreeks:

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

Tip

Zie JSON-implementatieconfiguratie voor alle beschikbare opties, inclusief netwerkinstellingen zoals proxyinstellingen.

Een eenvoudig cluster maken met NodePort-service

U kunt een eenvoudig cluster maken zonder service-IP-adressen (ServiceIPRangeSize ingesteld op 0):

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

Resources toewijzen aan uw knooppunten

Als u verbinding wilt maken met Arc en uw apps wilt implementeren met GitOps, wijst u vier CPU's of meer toe voor de LinuxNode.CpuCount (verwerkingskracht), 4 GB of meer voor LinuxNode.MemoryinMB (RAM) en wijst u een getal groter dan 0 toe aan de ServiceIpRangeSize. Hier wijzen we 10 IP-adressen toe voor uw Kubernetes-services:

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

Notitie

AKS Edge Essentials wijst IP-adressen van uw interne switch toe om uw Kubernetes-services uit te voeren als u een ServiceIPRangeSize.

U kunt er ook voor kiezen om de parameters als een JSON-tekenreeks door te geven, zoals eerder is beschreven:

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

Een cluster met gemengde werkbelasting maken

U kunt een cluster maken met linux- en Windows-knooppunten. U kunt het configuratiebestand maken met behulp van de opdracht:

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

Zodra het configuratiebestand is gemaakt, kunt u uw cluster implementeren met behulp van de volgende opdracht:

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

Volgende stappen