Przygotowywanie systemu Linux do obsługi woluminów pamięci podręcznej przy użyciu klastra z jednym węzłem lub 2 węzłem
W tym artykule opisano sposób przygotowania systemu Linux przy użyciu klastra z jednym węzłem lub 2 węzłem i przyjęto założenie , że spełniono wymagania wstępne.
Przygotowywanie systemu Linux z usługą AKS włączoną przez usługę Azure Arc
W tej sekcji opisano sposób przygotowania systemu Linux z usługą AKS włączoną przez usługę Azure Arc w przypadku uruchamiania klastra z jednym węzłem lub 2 węzłem.
Zainstaluj usługę Open Service Mesh (OSM) przy użyciu następujących poleceń:
az k8s-extension create --resource-group "YOUR_RESOURCE_GROUP_NAME" --cluster-name "YOUR_CLUSTER_NAME" --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm \ --config "osm.osm.featureFlags.enableWASMStats=false" \ --config "osm.osm.enablePermissiveTrafficPolicy=false" \ --config "osm.osm.configResyncInterval=10s" \ --config "osm.osm.osmController.resource.requests.cpu=100m" \ --config "osm.osm.osmBootstrap.resource.requests.cpu=100m" \ --config "osm.osm.injector.resource.requests.cpu=100m"
Wyłącz usługę ACStor , tworząc plik o nazwie config.json o następującej zawartości:
{ "feature.diskStorageClass": "default", "acstorController.enabled": false }
Przygotowywanie systemu Linux za pomocą usługi AKS Edge Essentials
W tej sekcji opisano sposób przygotowywania systemu Linux za pomocą usługi AKS Edge Essentials w przypadku uruchamiania klastra z jednym węzłem lub dwoma węzłami.
Aby usługa Edge Essentials obsługiwała operacje usługi Azure IoT i usługę Azure Container Storage włączoną przez usługę Azure Arc, hosty Kubernetes muszą zostać zmodyfikowane w celu obsługi większej ilości pamięci. Możesz również zwiększyć alokację procesorów wirtualnych i dysków w tej chwili, jeśli przewidujesz, że wymagane są dodatkowe zasoby dla użycia platformy Kubernetes.
Zacznij od przewodnika z instrukcjami tutaj. W przewodniku Szybki start jest używana konfiguracja domyślna i należy go unikać.
Krok 1. Parametry konfiguracji pojedynczej maszyny zawierają plik w katalogu roboczym o nazwie aksedge-config.json. Otwórz ten plik w Notatniku lub innym edytorze tekstów:
"SchemaVersion": "1.11", "Version": "1.0", "DeploymentType": "SingleMachineCluster", "Init": { "ServiceIPRangeSize": 0 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 4096, "DataSizeInGB": 10, } } ]
Zwiększ
MemoryInMB
się do co najmniej 16384 iDataSizeInGB
do 40G. UstawServiceIPRangeSize
wartość 15. Jeśli zamierzasz uruchomić wiele identyfikatorów POD, możesz również zwiększyćCpuCount
liczbę. Na przykład:"Init": { "ServiceIPRangeSize": 15 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 16384, "DataSizeInGB": 40, } } ]
Przejdź do pozostałych kroków, zaczynając od utworzenia pojedynczego klastra maszynowego. Następnie połącz klaster AKS Edge Essentials z usługą Arc.
Sprawdź i zainstaluj magazyn aprowizatora ścieżek lokalnych, jeśli nie został jeszcze zainstalowany. Sprawdź, czy klasa magazynu ścieżki lokalnej jest już dostępna w węźle, uruchamiając następujące polecenie cmdlet:
kubectl get StorageClass
Jeśli klasa magazynu ścieżki lokalnej jest niedostępna, uruchom następujące polecenie:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Uwaga
Obrazy Local-Path-Provisioner i Busybox nie są obsługiwane przez firmę Microsoft i są pobierane z repozytorium Rancher Labs. Local-Path-Provisioner i BusyBox są dostępne tylko jako obraz kontenera systemu Linux.
Jeśli wszystko jest poprawnie skonfigurowane, powinny zostać wyświetlone następujące dane wyjściowe:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 21h
Jeśli masz wiele dysków i chcesz przekierować ścieżkę, użyj:
kubectl edit configmap -n kube-system local-path-config
Uruchom następujące polecenie, aby określić, czy ustawiono wartość
fs.inotify.max_user_instances
1024:Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "sysctl fs.inotify.max_user_instances
Po uruchomieniu tego polecenia, jeśli zwraca mniej niż 1024, uruchom następujące polecenie, aby zwiększyć maksymalną liczbę plików:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
Zainstaluj usługę Open Service Mesh (OSM) przy użyciu następującego polecenia:
az k8s-extension create --resource-group "YOUR_RESOURCE_GROUP_NAME" --cluster-name "YOUR_CLUSTER_NAME" --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm \ --config "osm.osm.featureFlags.enableWASMStats=false" \ --config "osm.osm.enablePermissiveTrafficPolicy=false" \ --config "osm.osm.configResyncInterval=10s" \ --config "osm.osm.osmController.resource.requests.cpu=100m" \ --config "osm.osm.osmBootstrap.resource.requests.cpu=100m" \ --config "osm.osm.injector.resource.requests.cpu=100m"
Wyłącz usługę ACStor , tworząc plik o nazwie config.json o następującej zawartości:
{ "acstorController.enabled": false, "feature.diskStorageClass": "local-path" }
Przygotowywanie systemu Linux z systemem Ubuntu
W tej sekcji opisano sposób przygotowywania systemu Linux z systemem Ubuntu w przypadku uruchamiania klastra z jednym węzłem lub dwoma węzłami.
Zainstaluj usługę Open Service Mesh (OSM) przy użyciu następującego polecenia:
az k8s-extension create --resource-group "YOUR_RESOURCE_GROUP_NAME" --cluster-name "YOUR_CLUSTER_NAME" --cluster-type connectedClusters --extension-type Microsoft.openservicemesh --scope cluster --name osm \ --config "osm.osm.featureFlags.enableWASMStats=false" \ --config "osm.osm.enablePermissiveTrafficPolicy=false" \ --config "osm.osm.configResyncInterval=10s" \ --config "osm.osm.osmController.resource.requests.cpu=100m" \ --config "osm.osm.osmBootstrap.resource.requests.cpu=100m" \ --config "osm.osm.injector.resource.requests.cpu=100m"
Uruchom następujące polecenie, aby określić, czy ustawiono wartość
fs.inotify.max_user_instances
1024:sysctl fs.inotify.max_user_instances
Po uruchomieniu tego polecenia, jeśli zwraca mniej niż 1024, uruchom następujące polecenie, aby zwiększyć maksymalną liczbę plików i ponownie załadować ustawienia sysctl :
echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Wyłącz usługę ACStor , tworząc plik o nazwie config.json o następującej zawartości:
{ "acstorController.enabled": false, "feature.diskStorageClass": "local-path" }
Następne kroki
Instalowanie usługi Azure Container Storage włączonej przez usługę Azure Arc