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 alsSingleMachineCluster
angegeben.- Der
Network.NetworkPlugin
Standardwert istflannel
. Dies ist die Standardeinstellung für einen K3S-Cluster. Wenn Sie einen K8S-Cluster verwenden, ändern Sie den CNI incalico
. - Sie können die folgenden Parameter gemäß Ihrer Bereitstellungskonfiguration wie hier beschrieben festlegen:
LinuxNode.CpuCount
, ,LinuxNode.DataSizeInGB
LinuxNode.MemoryInMB
,WindowsNode.CpuCount
,WindowsNode.MemoryInMB
, , ,Init.ServiceIPRangeSize
undNetwork.InternetDisabled
.
Schritt 2: Erstellen eines einzelnen Computerclusters
- 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:
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