Wdrażanie pojedynczej maszyny

Usługę AKS Edge Essentials można wdrożyć na jednej maszynie lub na wielu maszynach. W jednym wdrożeniu platformy Kubernetes zarówno węzeł kontrolny Kubernetes, jak i węzeł procesu roboczego działają 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 artykule Konfigurowanie maszyny .

Krok 1. Parametry konfiguracji pojedynczej maszyny

Możesz wygenerować parametry potrzebne do utworzenia klastra pojedynczej maszyny 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 pojedynczego komputera z węzłem systemu Linux. Plik zostanie utworzony w bieżącym katalogu roboczym. Zapoznaj się z poniższymi przykładami, aby uzyskać więcej opcji tworzenia pliku konfiguracji. Szczegółowy opis parametrów konfiguracji jest dostępny tutaj.

Kluczowe parametry wdrożenia pojedynczej maszyny to:

  • DeploymentType: ten parametr definiuje typ wdrożenia i jest określony jako SingleMachineCluster.
  • Domyślnie Network.NetworkPlugin wartość 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, jak opisano tutaj: LinuxNode.CpuCount, , LinuxNode.MemoryInMB, LinuxNode.DataSizeInGBWindowsNode.CpuCount, WindowsNode.MemoryInMB, Init.ServiceIPRangeSize, i 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

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)

Przestroga

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 pojedynczego 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żesz 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)

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 (LinuxNode.CpuCountmoc obliczeniową), 4 GB lub więcej dla LinuxNode.MemoryinMB (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

AKS Edge Essentials przydziela adresy IP z wewnętrznego przełącznika do uruchamiania usług Kubernetes, jeśli określono .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ć przy użyciu 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