Úplná nasazení Kubernetes v AKS Edge Essentials
Upozornění
Úplné nasazení na více počítačích je v současné době experimentální funkcí. Na této funkci aktivně pracujeme.
Cluster AKS Edge Essentials můžete nakonfigurovat tak, aby běžel na více počítačích, aby podporoval architekturu distribuovaných mikroslužeb. AKS Edge Essentials je určená pro statické konfigurace a neumožňuje dynamické vytváření nebo odstraňování virtuálních počítačů ani správu životního cyklu clusteru, na rozdíl od AKS v cloudu nebo AKS HCI. AKS Edge Essentials má na každém počítači jenom jeden virtuální počítač s Linuxem a v případě potřeby také virtuální počítač s Windows. Každý virtuální počítač má přiřazené statické přidělení paměti RAM, úložiště a fyzických jader procesoru v době instalace. V nasazení s více uzly je jeden z počítačů primárním počítačem s řídicím uzlem Kubernetes a ostatní počítače budou sekundárními počítači s pracovními uzly. V tomto scénáři nasazení nakonfigurujeme cluster K8S pomocí externího přepínače. S touto konfigurací můžete běžet kubectl
z jiného počítače v síti, vyhodnotit výkon úloh na externím přepínači atd.
Požadavky
Nastavte počítač podle popisu v článku Nastavení počítače .
Krok 1: Úplné parametry konfigurace nasazení Kubernetes
Pomocí následujícího příkazu můžete vygenerovat parametry potřebné k vytvoření škálovatelného clusteru:
New-AksEdgeConfig -DeploymentType ScalableCluster -outFile .\aksedge-config.json | Out-Null
Tento příkaz vytvoří konfigurační soubor s názvem aksedge-config.json, který zahrnuje konfiguraci potřebnou k vytvoření škálovatelného clusteru s linuxovým uzlem. Soubor se vytvoří v aktuálním pracovním adresáři. Podrobné popisy parametrů konfigurace (například nastavení proxy serveru) najdete v části Konfigurace JSON nasazení.
Další možnosti vytvoření konfiguračního souboru najdete v následujících příkladech.
Klíčové parametry, které je potřeba poznamenat pro škálovatelné nasazení Kubernetes, jsou:
Informace o externím přepínači: Úplné nasazení používá externí přepínač k povolení komunikace mezi uzly. Parametr musíte zadat
MachineConfigType.NetworkConnection.AdapterName
buď, neboWi-Fi
taktoEthernet
:# get the list of available adapters in the machine Get-NetAdapter -Physical | Where-Object { $_.Status -eq 'Up' }
Pokud jste na hyper-V vytvořili externí přepínač, můžete v konfiguračním souboru zadat podrobnosti o vswitchi. Pokud ve správci Technologie Hyper-V nevytvoříte externí přepínač a spustíte
New-AksEdgeDeployment
příkaz, AKS Edge Essentials automaticky vytvoří externí přepínač s názvemaksedgesw-ext
a použije ho pro vaše nasazení.Poznámka:
V této verzi je známý problém s automatickým vytvořením externího přepínače pomocí
New-AksEdgeDeployment
příkazu, pokud pro přepínač používáte adaptér Wi-Fi . V tomto případě nejprve pomocí správce virtuálního přepínače Hyper-V vytvořte externí přepínač, namapujte přepínač na adaptér Wi-Fi a pak zadejte podrobnosti o přepínači ve vašem konfiguračním kódu JSON, jak je popsáno níže.IP adresy: Pro řídicí rovinu, služby Kubernetes a uzly (virtuální počítače) musíte přidělit z vaší sítě bezplatné IP adresy. Další podrobnosti najdete v přehledu sítí AKS Edge Essentials. Například v místní síti s rozsahem IP adres 192.168.1.0/24 můžete mít mimo obor DHCP 1.151 a vyšší, a proto bude pravděpodobně volný. AKS Edge Essentials aktuálně podporuje jenom adresy IPv4. V ideálním případě budete vědět, jaké bezplatné IP adresy můžete použít; Pomocí skriptu AksEdge-ListUsedIPv4s z úložiště GitHub však můžete zobrazit IP adresy, které se aktuálně používají, abyste se vyhnuli použití těchto IP adres ve vaší konfiguraci. V části konfiguračního souboru je třeba zadat
Network
následující parametry:ControlPlaneEndpointIp
,Ip4GatewayAddress
,Ip4PrefixLength
,ServiceIPRangeSize
,ServiceIPRangeStart
, aDnsServers
.
Důležité
Kubernetes pod cidr
je 10.42.0.0/16
určený pro K3s a 10.244.0.0/24
K8s. Kubernetes service cidr
je 10.43.0.0/16
určený pro K3s a 10.96.0.0/12
K8s.
- Výchozí
Network.NetworkPlugin
hodnota jeflannel
. Flannel je výchozí CNI pro cluster K3S. V clusteru K8S změňteNetworkPlugin
nacalico
. - Kromě předchozích parametrů můžete nastavit následující parametry podle konfigurace nasazení, jak je popsáno zde:
LinuxNode.CpuCount
,LinuxNode.MemoryInMB
, ,LinuxNode.Ip4Address
LinuxNode.DataSizeInGB
,WindowsNode.CpuCount
,WindowsNode.MemoryInMB
, ,WindowsNode.Ip4Address
Init.ServiceIPRangeSize
aNetwork.InternetDisabled
.
Krok 2: Ověření konfiguračního souboru
Po aktualizaci souboru aksedge-config.json spusťte nástroj AksEdgePrompt. Tento nástroj otevře okno PowerShellu se zvýšenými oprávněními s načtenými moduly. Potom spuštěním následujícího příkazu pomocí rutiny Test-AksEdgeNetworkParameters
ověřte parametry sítě:
Test-AksEdgeNetworkParameters -JsonConfigFilePath .\aksedge-config.json
Krok 3: Vytvoření clusteru s úplným nasazením
Pokud Test-AksEdgeNetworkParameters
se vrátí true
, jste připraveni k vytvoření nasazení. Nasazení můžete vytvořit pomocí rutiny New-AksEdgeDeployment
:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json
Rutina New-AksEdgeDeployment
automaticky načte soubor kubeconfig.
Krok 4: Ověření nasazení
kubectl get nodes -o wide
kubectl get pods --all-namespaces -o wide
Snímek obrazovky clusteru Kubernetes je znázorněný níže:
Krok 5: Přidání pracovního uzlu Windows (volitelné)
Upozornění
Pracovní uzly Windows jsou experimentální funkcí v této verzi. Na této funkci aktivně pracujeme.
Pokud chcete přidat uzel Windows do existujícího počítače pouze s Linuxem, můžete spustit:
New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -WindowsNodeIp "xxx" -outFile .\ScaleConfig.json | Out-Null
Tady můžete také zadat parametry, například CpuCount
nebo MemoryInMB
pro virtuální počítač s Windows.
Můžete použít vygenerovaný konfigurační soubor a spuštěním následujícího příkazu přidat uzel Windows.
Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json
Příklad konfigurace pro různé možnosti nasazení
Přidělení prostředků uzlům
Pokud se chcete připojit k Arc a nasadit aplikace pomocí GitOps, přidělte čtyři procesory nebo více pro LinuxNode.CpuCount
(výpočetní výkon), 4 GB nebo více pro LinuxNode.MemoryinMB
(RAM) a přiřaďte k němu číslo větší než 0 ServiceIpRangeSize
. Tady přidělíme 10 IP adres pro vaše služby Kubernetes:
{
"Init": {
"ServiceIpRangeSize": 10,
"ServiceIPRangeStart": "192.168.1.151"
},
"Network": {
"ControlPlaneEndpointIp": "192.168.1.191",
"NetworkPlugin": "calico",
"Ip4GatewayAddress": "192.168.1.1",
"Ip4PrefixLength": 24,
"DnsServers": ["192.168.1.1"]
},
"Machines": [
{
"NetworkConnection": {
"AdapterName": "Ethernet"
},
"LinuxNode": {
"CpuCount": 4,
"MemoryInMB": 4096,
"DataSizeInGB": 20,
"Ip4Address": "192.168.1.171"
}
}
]
}
Vytváření uzlů Linuxu a Windows
Pokud chcete na počítači spustit řídicí rovinu Linuxu i pracovní uzel Windows, vytvořte konfigurační soubor pomocí následujícího příkazu:
New-AksEdgeConfig -DeploymentType ScalableCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null
Pomocí příkazu vytvořte nasazení:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json
{
"Machines": [
{
"NetworkConnection": {
"AdapterName": "Ethernet"
},
"LinuxNode": {
"CpuCount": 4,
"MemoryInMB": 4096,
"DataSizeInGB": 20,
"Ip4Address": "192.168.1.171"
},
"WindowsNode": {
"CpuCount": 2,
"MemoryInMB": 4096,
"Ip4Address": "192.168.1.172"
}
}
]
}