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 jakoSingleMachineCluster
.- Wartość domyślna
Network.NetworkPlugin
toflannel
. Jest to ustawienie domyślne dla klastra K3S. Jeśli używasz klastra K8S, zmień nazwę CNI nacalico
. - Następujące parametry można ustawić zgodnie z konfiguracją wdrożenia zgodnie z opisem w tym miejscu:
LinuxNode.CpuCount
, ,LinuxNode.MemoryInMB
,LinuxNode.DataSizeInGB
WindowsNode.CpuCount
,WindowsNode.MemoryInMB
Init.ServiceIPRangeSize
iNetwork.InternetDisabled
.
Krok 2. Tworzenie klastra pojedynczej maszyny
- 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:
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