Udostępnij za pośrednictwem


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

Parametry potrzebne do utworzenia pojedynczego klastra maszynowego można wygenerować przy użyciu następującego polecenia:

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 Konfiguracja 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 i jest określony jako SingleMachineCluster.
  • Wartość domyślna Network.NetworkPlugin to flannel. Jest to ustawienie domyślne dla klastra K3S. Jeśli używasz klastra K8S, zmień nazwę CNI na calico.
  • Następujące parametry można ustawić zgodnie z konfiguracją wdrożenia zgodnie z opisem w tym miejscu: LinuxNode.CpuCount, , LinuxNode.MemoryInMB, LinuxNode.DataSizeInGBWindowsNode.CpuCount, WindowsNode.MemoryInMBInit.ServiceIPRangeSizei Network.InternetDisabled.

Krok 2. Tworzenie klastra pojedynczej maszyny

  1. Teraz możesz uruchomić polecenie cmdlet w New-AksEdgeDeployment celu wdrożenia klastra usługi AKS Edge z jednym węzłem płaszczyzny sterowania systemu Linux:
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Ważne

Platforma Kubernetes pod cidr jest 10.42.0.0/16 dla K3s i 10.244.0.0/24 K8s. Platforma Kubernetes service cidr jest 10.43.0.0/16 dla K3s i 10.96.0.0/12 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 procesu roboczego systemu Windows to funkcja eksperymentalna w tej wersji. Aktywnie pracujemy nad tą funkcją.

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

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

Spowoduje to utworzenie pliku 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 należy przydzielić do węzła systemu Windows. Za pomocą pliku konfiguracji można uruchomić następujące polecenie, aby dodać węzeł klastra pojedynczej maszyny:

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 Konfiguracja JSON wdrożenia, aby zapoznać się ze wszystkimi dostępnymi opcjami, w tym ustawieniami sieci, takimi jak ustawienia serwera proxy.

Tworzenie prostego klastra za pomocą usługi NodePort

Możesz utworzyć prosty klaster bez adresów IP usługi (ServiceIPRangeSize ustawiony jako 0):

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

Przydzielanie zasobów do 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 (mocy obliczeniowej LinuxNode.CpuCount ), 4 GB lub więcej dla LinuxNode.MemoryinMB (pamięci RAM) i przypisz liczbę większą niż 0 do .ServiceIpRangeSize W tym miejscu przydzielamy 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ślono 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. Plik konfiguracji można utworzyć za pomocą polecenia :

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

Po utworzeniu pliku konfiguracji można wdrożyć klaster przy użyciu następującego polecenia:

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

Następne kroki