Distribution av en enskild dator
Du kan distribuera AKS Edge Essentials på en enskild dator eller på flera datorer. I en kubernetes-distribution med en dator körs både Kubernetes-kontrollnoden och arbetsnoden på samma dator. Den här artikeln beskriver hur du skapar Kubernetes-kontrollnoden på datorn i ett privat nätverk.
Förutsättningar
Konfigurera den primära datorn enligt beskrivningen i Konfigurera dator.
Steg 1: Konfigurationsparametrar för en enskild dator
Du kan generera de parametrar som du behöver för att skapa ett enda datorkluster med hjälp av följande kommando:
New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null
Det här kommandot skapar en konfigurationsfil med namnet aksedge-config.json som innehåller den konfiguration som krävs för att skapa ett kluster med en enda dator med en Linux-nod. Filen skapas i den aktuella arbetskatalogen. I följande exempel finns fler alternativ för att skapa konfigurationsfilen.
Se JSON-konfiguration för distribution för en detaljerad beskrivning av konfigurationsparametrarna.
Nyckelparametrarna för distribution av en enskild dator är:
DeploymentType
: Den här parametern definierar distributionstypen och anges somSingleMachineCluster
.- Som
Network.NetworkPlugin
standard ärflannel
. Detta är standardvärdet för ett K3S-kluster. Om du använder ett K8S-kluster ändrar du CNI tillcalico
. - Du kan ange följande parametrar enligt distributionskonfigurationen enligt beskrivningen här:
LinuxNode.CpuCount
,LinuxNode.MemoryInMB
,LinuxNode.DataSizeInGB
,WindowsNode.CpuCount
,WindowsNode.MemoryInMB
,Init.ServiceIPRangeSize
ochNetwork.InternetDisabled
.
Steg 2: Skapa ett kluster för en enskild dator
- Nu kan du köra cmdleten
New-AksEdgeDeployment
för att distribuera ett AKS Edge-kluster med en enda Linux-kontrollplansnod:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json
Viktigt!
Kubernetes pod cidr
är 10.42.0.0/16
för K3s och 10.244.0.0/24
för K8s. Kubernetes service cidr
är 10.43.0.0/16
för K3s och 10.96.0.0/12
för K8s.
Steg 3: Verifiera klustret
Bekräfta att distributionen lyckades genom att köra:
kubectl get nodes -o wide
kubectl get pods -A -o wide
Följande bild visar poddar i ett K3S-kluster:
Steg 4: Lägg till en Windows-arbetsnod (valfritt)
Varning
Windows-arbetsnoder är en experimentell funktion i den här versionen. Vi arbetar aktivt med den här funktionen.
Om du vill lägga till en Windows-nod i ett befintligt kluster med en enda Linux-dator skapar du först konfigurationsfilen med följande kommando:
New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -outFile .\ScaleConfig.json | Out-Null
Då skapas konfigurationsfilen ScaleConfig.json i den aktuella arbetskatalogen. Du kan också ändra Windows-nodparametrarna i konfigurationsfilen för att ange de resurser som måste allokeras till Windows-noden. Med konfigurationsfilen kan du köra följande kommando för att lägga till noden i klustret för en enskild dator:
Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json
Exempel på distributionsalternativ
Skapa ett JSON-objekt med konfigurationsparametrarna
Du kan programmatiskt redigera JSON-objektet och skicka det som en sträng:
$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)
Dricks
Se JSON-konfiguration för distribution för alla tillgängliga alternativ, inklusive nätverksinställningar som proxyinställningar.
Skapa ett enkelt kluster med NodePort-tjänsten
Du kan skapa ett enkelt kluster utan tjänst-IP-adresser (ServiceIPRangeSize
ange som 0):
New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)
Allokera resurser till dina noder
Om du vill ansluta till Arc och distribuera dina appar med GitOps allokerar du fyra processorer eller mer för (processorkraft), LinuxNode.CpuCount
4 GB eller mer för LinuxNode.MemoryinMB
(RAM) och tilldelar ett tal som är större än 0 till ServiceIpRangeSize
. Här allokerar vi 10 IP-adresser för dina Kubernetes-tjänster:
{
"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
}
}
]
}
Kommentar
AKS Edge Essentials allokerar IP-adresser från din interna växel för att köra Kubernetes-tjänsterna om du har angett en ServiceIPRangeSize
.
Du kan också välja att skicka parametrarna som en JSON-sträng enligt beskrivningen ovan:
$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)
Skapa ett blandat arbetsbelastningskluster
Du kan skapa ett kluster med både Linux- och Windows-noder. Du kan skapa konfigurationsfilen med kommandot :
New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null
När konfigurationsfilen har skapats kan du distribuera klustret med hjälp av följande kommando:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json