Freigeben über


Bereitstellung einzelner Computer

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

Voraussetzungen

Richten Sie Ihren primären Computer ein, wie unter "Computer einrichten" beschrieben.

Schritt 1: Konfigurationsparameter für einzelne 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

Mit diesem Befehl wird eine Konfigurationsdatei namens aksedge-config.json erstellt, 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 detaillierte Beschreibung der Konfigurationsparameter finden Sie in der JSON-Bereitstellungskonfiguration .

Die wichtigsten Parameter für die Bereitstellung einzelner Computer sind:

  • DeploymentType: Dieser Parameter definiert den Bereitstellungstyp und wird als SingleMachineClusterangegeben.
  • Der Network.NetworkPlugin Standardwert 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 nun das New-AksEdgeDeployment Cmdlet ausführen, um einen AKS-Edgecluster mit einem einzigen Linux-Steuerungsebenenknoten bereitzustellen:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Wichtig

Die Kubernetes pod cidr ist 10.42.0.0/16 für K3s und 10.244.0.0/24 für K8s vorgesehen. Die Kubernetes service cidr ist 10.43.0.0/16 für K3s und 10.96.0.0/12 für K8s vorgesehen.

Schritt 3: Überprüfen des 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 auf einem K3S-Cluster:

Screenshot, der alle ausgeführten Pods zeigt.

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 einem vorhandenen Nur-Linux-Computercluster einen Windows-Knoten hinzufügen möchten, erstellen Sie zuerst 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 zum 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)

Tipp

Weitere Informationen finden Sie unter "JSON-Konfiguration der Bereitstellung" für alle verfügbaren Optionen, einschließlich Netzwerkeinstellungen wie Proxyeinstellungen.

Erstellen eines einfachen Clusters mit NodePort-Dienst

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

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

Zuordnen von Ressourcen zu Ihren Knoten

Um eine Verbindung mit Arc herzustellen und Ihre Apps mit GitOps bereitzustellen, weisen Sie vier CPUs oder mehr für die LinuxNode.CpuCount (Verarbeitungsleistung), 4 GB oder mehr für LinuxNode.MemoryinMB (RAM) zu, und weisen Sie eine Zahl zu, die größer als 0 ist ServiceIpRangeSize. 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 eine ServiceIPRangeSize.

Sie können auch die Parameter wie zuvor beschrieben als JSON-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 gemischten Workloadclusters

Sie können einen Cluster mit Linux- und Windows-Knoten erstellen. Sie können die Konfigurationsdatei mit dem 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