Udostępnij przez


Wdrażanie pojedynczej maszyny

Usługi AKS Edge Essentials można wdrożyć na jednej maszynie lub na wielu maszynach. W jednym wdrożeniu platformy Kubernetes zarówno węzeł sterowania Kubernetes, jak i węzeł roboczy są uruchamiane na tej samej maszynie. W tym artykule opisano sposób tworzenia węzła sterowania Kubernetes na maszynie w sieci prywatnej.

Wymagania wstępne

Skonfiguruj maszynę podstawową zgodnie z opisem w temacie Konfigurowanie maszyny.

Krok 1. Parametry konfiguracji pojedynczej maszyny

Wygeneruj parametry potrzebne do utworzenia pojedynczego klastra maszynowego, uruchamiając następujące polecenie:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -outFile .\aksedge-config.json | Out-Null

To polecenie tworzy plik konfiguracji o nazwie aksedge-config.json , który zawiera konfigurację wymaganą do utworzenia klastra z jednym komputerem z węzłem systemu Linux. Plik zostanie utworzony w bieżącym katalogu roboczym. Więcej opcji tworzenia pliku konfiguracji można znaleźć w poniższych przykładach.

Zobacz konfigurację JSON wdrożenia, aby uzyskać szczegółowy opis parametrów konfiguracji.

Kluczowe parametry wdrożenia pojedynczej maszyny to:

  • DeploymentType: ten parametr definiuje typ wdrożenia. Podaj wartość SingleMachineCluster.

  • Arc: ta sekcja jest wymagana. Podczas wdrażania usługi AKS Edge Essentials parametry usługi Arc są używane do łączenia klastra AKS Edge Essentials z usługą Azure Arc. Aby uzyskać więcej informacji na temat wymaganych parametrów usługi Arc, zobacz nawiązywanie połączenia z dokumentacją usługi Arc.

  • Wartość domyślna Network.NetworkPlugin to flannel. Ta wtyczka jest domyślna dla klastra K3S. Jeśli używasz klastra K8S, zmień nazwę CNI na calico.

  • Ustaw następujące parametry zgodnie z konfiguracją wdrożenia opisane tutaj: LinuxNode.CpuCount, LinuxNode.MemoryInMB, LinuxNode.DataSizeInGB, WindowsNode.CpuCount, WindowsNode.MemoryInMB, Init.ServiceIPRangeSize i Network.InternetDisabled.

  • Aby zaszyfrować magazyn tajnych haseł Kubernetes, włącz wtyczkę usługi zarządzania kluczami (KMS) (wersja zapoznawcza), ustawiając wartość Init.KmsPlugin enabletrue. Aby uzyskać więcej informacji, zobacz Włączanie szyfrowania wpisów tajnych w klastrze.

Ważne

Począwszy od wersji AKS Edge Essentials 1.10.868.0, wymagana jest sekcja Arc pliku konfiguracji. Połączenie usługi Azure Arc odbywa się automatycznie podczas wdrażania usługi AKS Edge Essentials.

Krok 2. Tworzenie pojedynczego klastra maszyn

Uruchom cmdlet New-AksEdgeDeployment, aby wdrożyć jednomaszynowy klaster AKS Edge z jednym kontrolnym węzłem systemu Linux.

New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Ważne

Platforma Kubernetes pod cidr jest 10.42.0.0/16 dla K3s i jest 10.244.0.0/24 dla K8s. Platforma Kubernetes service cidr jest 10.43.0.0/16 dla K3s i jest 10.96.0.0/12 dla K8s.

Krok 3. Weryfikowanie klastra

Upewnij się, że wdrożenie zakończyło się pomyślnie, uruchamiając polecenie:

kubectl get nodes -o wide
kubectl get pods -A -o wide

Na poniższej ilustracji przedstawiono zasobniki w klastrze K3S:

Zrzut ekranu przedstawiający wszystkie uruchomione zasobniki.

Krok 4. Dodawanie węzła procesu roboczego systemu Windows (opcjonalnie)

Uwaga

Węzły robocze Windows to eksperymentalna funkcjonalność w tej wersji. Aktywnie pracujemy nad tą funkcją.

Jeśli chcesz dodać węzeł systemu Windows do istniejącego klastra maszynowego tylko dla systemu Linux, najpierw utwórz plik konfiguracji przy użyciu następującego polecenia:

New-AksEdgeScaleConfig -ScaleType AddNode -NodeType Windows -outFile .\ScaleConfig.json | Out-Null

To polecenie tworzy plik konfiguracji ScaleConfig.json w bieżącym katalogu roboczym. Parametry węzła systemu Windows można również zmodyfikować w pliku konfiguracji, aby określić zasoby, które mają być przydzielane do węzła systemu Windows. W pliku konfiguracji uruchom następujące polecenie, aby dodać węzeł do klastra pojedynczego komputera:

Add-AksEdgeNode -JsonConfigFilePath .\ScaleConfig.json

Przykładowe opcje wdrażania

Tworzenie obiektu JSON z parametrami konfiguracji

Możesz programowo edytować obiekt JSON i przekazać go jako ciąg:

$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)

Napiwek

Zobacz konfigurację JSON dla wdrożenia, aby poznać wszystkie dostępne opcje, w tym ustawienia sieciowe, takie jak konfiguracja serwera proxy.

Tworzenie prostego klastra za pomocą usługi NodePort

Możesz utworzyć prosty klaster bez adresów IP usługi, ustawiając wartość ServiceIPRangeSize 0:

New-AksEdgeDeployment -JsonConfigString (New-AksEdgeConfig | ConvertTo-Json -Depth 4)

Przydziel zasoby do twoich węzłów

Aby nawiązać połączenie z usługą Arc i wdrożyć aplikacje za pomocą metodyki GitOps, przydziel cztery procesory CPU lub więcej dla LinuxNode.CpuCount(mocy obliczeniowej), 4 GB lub więcej dla LinuxNode.MemoryinMB(pamięci RAM) i przypisz liczbę większą niż 0 do ServiceIpRangeSize. W poniższym przykładzie przydzielisz 10 adresów IP dla usług Kubernetes:

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

Uwaga

Usługa AKS Edge Essentials przydziela adresy IP z wewnętrznego przełącznika do uruchamiania usług Kubernetes, jeśli określisz wartość ServiceIPRangeSize.

Możesz również przekazać parametry jako ciąg JSON, jak opisano wcześniej:

$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)

Tworzenie mieszanego klastra obciążeń

Klaster można utworzyć z węzłami systemu Linux i Windows. Użyj następującego polecenia, aby utworzyć plik konfiguracji:

New-AksEdgeConfig -DeploymentType SingleMachineCluster -NodeType LinuxAndWindows -outFile .\aksedge-config.json | Out-Null

Po utworzeniu pliku konfiguracji użyj następującego polecenia, aby wdrożyć klaster:

New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Następne kroki