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.
Richten Sie Ihren primären Computer ein, wie unter "Computer einrichten" beschrieben.
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
.
- 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.
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:
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
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.
Sie können einen einfachen Cluster ohne Dienst-IPs erstellen (ServiceIPRangeSize
als 0 festgelegt):
New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)
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)
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