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

Generieren Sie die Parameter, die Sie zum Erstellen eines einzelnen Computerclusters benötigen, indem Sie den folgenden Befehl ausführen:

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. Geben Sie SingleMachineCluster an.

  • Arc: Dieser Abschnitt ist erforderlich. Während der AKS Edge Essentials-Bereitstellung werden die Arc-Parameter verwendet, um den AKS Edge Essentials-Cluster mit Azure Arc zu verbinden. Weitere Informationen zu den erforderlichen Arc-Parametern finden Sie in der Dokumentation zum Herstellen einer Verbindung mit Arc.

  • Der Network.NetworkPlugin Standardwert ist flannel. Dieses Plug-In ist die Standardeinstellung für einen K3S-Cluster. Wenn Sie einen K8S-Cluster verwenden, ändern Sie den CNI in calico.

  • Legen Sie die folgenden Parameter gemäß ihrer Bereitstellungskonfiguration wie hier beschrieben fest: LinuxNode.CpuCount, , LinuxNode.MemoryInMB, , LinuxNode.DataSizeInGB, WindowsNode.CpuCountWindowsNode.MemoryInMB, , Init.ServiceIPRangeSizeund Network.InternetDisabled.

  • Um den geheimen Kubernetes-Speicher zu verschlüsseln, aktivieren Sie das KMS-Plug-In (Key Management Service) (Vorschau), indem Sie den Init.KmsPlugin enable Wert auf "true" festlegen. Weitere Informationen finden Sie unter Aktivieren der geheimen Verschlüsselung auf einem Cluster.

Wichtig

Ab der Version AKS Edge Essentials 1.10.868.0 ist der Arc Abschnitt der Konfigurationsdatei erforderlich. Die Azure Arc-Verbindung erfolgt während der AKS Edge Essentials-Bereitstellung automatisch.

Schritt 2: Erstellen eines einzelnen Computerclusters

Führen Sie das New-AksEdgeDeployment Cmdlet aus, 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

Mit diesem Befehl 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 Sie dem Windows-Knoten zuordnen müssen. Führen Sie mit der Konfigurationsdatei den folgenden Befehl aus, 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, indem Sie auf 0 festlegen ServiceIPRangeSize :

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 Im folgenden Beispiel weisen Sie 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, zum Ausführen Ihrer Kubernetes-Dienste, wenn Sie eine ServiceIPRangeSize angeben.

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. Verwenden Sie den folgenden Befehl, um die Konfigurationsdatei zu erstellen:

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

Nachdem Sie die Konfigurationsdatei erstellt haben, verwenden Sie den folgenden Befehl, um Ihren Cluster bereitzustellen:

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

Nächste Schritte