Sdílet prostřednictvím


Ú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ď, nebo Wi-FitaktoEthernet:

    # 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ázvem aksedgesw-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.

    Snímek obrazovky se správcem přepínačů Hyper-V

  • 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, a DnsServers.

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 je flannel. Flannel je výchozí CNI pro cluster K3S. V clusteru K8S změňte NetworkPlugin na calico.
  • 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.Ip4AddressLinuxNode.DataSizeInGB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, , WindowsNode.Ip4AddressInit.ServiceIPRangeSizea Network.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:

Diagram znázorňující všechny spuštěné pody

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"
          }
      }
  ]
}

Další kroky