Freigeben über


Bereitstellung eines einzelnen Computers

Sie können AKS Edge Essentials entweder auf einem einzelnen Computer oder auf mehreren Computern bereitstellen. In einer Kubernetes-Bereitstellung mit einem einzelnen Computer werden sowohl der Kubernetes-Steuerelementknoten als auch der Workerknoten auf demselben Computer ausgeführt. In diesem Artikel wird beschrieben, wie Sie den Kubernetes-Steuerelementknoten auf Ihrem Computer in einem privaten Netzwerk erstellen.

Voraussetzungen

Richten Sie Ihren primären Computer wie im Artikel Einrichten des Computers beschrieben ein .

Schritt 1: Konfigurationsparameter für einen einzelnen Computer

Sie können die Parameter generieren, die Sie zum Erstellen eines einzelnen Computerclusters benötigen, indem Sie den folgenden Befehl verwenden:

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

Dieser Befehl erstellt eine Konfigurationsdatei namens aksedge-config.json , die die Konfiguration enthält, die zum Erstellen eines Einzelcomputerclusters mit einem Linux-Knoten erforderlich ist. Die Datei wird in Ihrem aktuellen Arbeitsverzeichnis erstellt. Weitere Optionen zum Erstellen der Konfigurationsdatei finden Sie in den folgenden Beispielen. Eine ausführliche Beschreibung der Konfigurationsparameter finden Sie hier.

Die wichtigsten Parameter für die Bereitstellung eines einzelnen Computers sind:

  • DeploymentType: Dieser Parameter definiert den Bereitstellungstyp und wird als SingleMachineClusterangegeben.
  • Standardmäßig Network.NetworkPlugin ist flannel. Dies ist die Standardeinstellung für einen K3S-Cluster. Wenn Sie einen K8S-Cluster verwenden, ändern Sie den CNI in calico.
  • Sie können die folgenden Parameter gemäß Ihrer Bereitstellungskonfiguration wie hier beschrieben festlegen: LinuxNode.CpuCount, , LinuxNode.DataSizeInGBLinuxNode.MemoryInMB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, Init.ServiceIPRangeSizeund Network.InternetDisabled.

Schritt 2: Erstellen eines einzelnen Computerclusters

  1. Sie können jetzt das New-AksEdgeDeployment Cmdlet ausführen, um einen AKS Edge-Cluster mit einem einzelnen Computer mit einem einzelnen Linux-Knoten auf Steuerungsebene bereitzustellen:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Schritt 3: Überprüfen Ihres Clusters

Vergewissern Sie sich, dass die Bereitstellung erfolgreich war, indem Sie Folgendes ausführen:

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

Die folgende Abbildung zeigt Pods in einem K3S-Cluster:

Screenshot: Alle ausgeführten Pods

Schritt 4: Hinzufügen eines Windows-Workerknotens (optional)

Achtung

Windows-Workerknoten sind ein experimentelles Feature in dieser Version. Wir arbeiten aktiv an diesem Feature.

Wenn Sie einen Windows-Knoten zu einem vorhandenen Cluster mit nur einem Linux-Computer hinzufügen möchten, erstellen Sie zunächst die Konfigurationsdatei mit dem folgenden Befehl:

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

Dadurch wird die Konfigurationsdatei ScaleConfig.json im aktuellen Arbeitsverzeichnis erstellt. Sie können auch die Windows-Knotenparameter in der Konfigurationsdatei ändern, um die Ressourcen anzugeben, die dem Windows-Knoten zugeordnet werden müssen. Mit der Konfigurationsdatei können Sie den folgenden Befehl ausführen, um den Knoten dem Cluster des einzelnen Computers hinzuzufügen:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Beispielbereitstellungsoptionen

Erstellen eines JSON-Objekts mit den Konfigurationsparametern

Sie können das JSON-Objekt programmgesteuert bearbeiten und als Zeichenfolge übergeben:

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

Erstellen eines einfachen Clusters mit dem NodePort-Dienst

Sie können einen einfachen Cluster ohne Dienst-IPs erstellen (ServiceIPRangeSize auf 0 festgelegt):

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

Zuweisen von Ressourcen zu Ihren Knoten

Um eine Verbindung mit Arc herzustellen und Ihre Apps mit GitOps bereitzustellen, weisen Sie vier ODER mehr CPUs für ( LinuxNode.CpuCount Verarbeitungsleistung), 4 GB oder mehr für LinuxNode.MemoryinMB (RAM) zu, und weisen Sie dem ServiceIpRangeSizeeine Zahl größer als 0 zu. Hier weisen wir 10 IP-Adressen für Ihre Kubernetes-Dienste zu:

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

Hinweis

AKS Edge Essentials weist IP-Adressen von Ihrem internen Switch zu, um Ihre Kubernetes-Dienste auszuführen, wenn Sie einen ServiceIPRangeSizeangegeben haben.

Sie können die Parameter auch als JSON-Zeichenfolge übergeben, wie zuvor beschrieben:

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

Erstellen eines gemischten Workloadclusters

Sie können einen Cluster mit Linux- und Windows-Knoten erstellen. Sie können die Konfigurationsdatei mit dem Folgenden Befehl erstellen:

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

Nachdem die Konfigurationsdatei erstellt wurde, können Sie Ihren Cluster mit dem folgenden Befehl bereitstellen:

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

Nächste Schritte