Förbereda Linux för Edge-volymer med hjälp av ett kluster med flera noder
Den här artikeln beskriver hur du förbereder Linux med hjälp av ett kluster med flera noder och förutsätter att du uppfyller förutsättningarna.
Förbereda Linux med AKS aktiverat av Azure Arc
Installera och konfigurera Open Service Mesh (OSM) med följande kommandon:
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"
Förbereda Linux med AKS Edge Essentials
I det här avsnittet beskrivs hur du förbereder Linux med AKS Edge Essentials om du kör ett kluster med flera noder.
På varje nod i klustret anger du antalet HugePages till 512 med följande kommando:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo 512 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages' Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo "vm.nr_hugepages=512" | sudo tee /etc/sysctl.d/99-hugepages.conf'
Installera den NVME över TCP-modulen som krävs för din kernel på varje nod i klustret med hjälp av:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
Kommentar
Den lägsta version som stöds är 5.1. För närvarande finns det kända problem med 6.4 och 6.2.
Öka det maximala antalet filer med hjälp av följande kommando på varje nod i klustret:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
Installera och konfigurera Open Service Mesh (OSM) med följande kommandon:
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" kubectl patch meshconfig osm-mesh-config -n "arc-osm-system" -p '{"spec":{"featureFlags":{"enableWASMStats": false }, "traffic":{"outboundPortExclusionList":[443,2379,2380], "inboundPortExclusionList":[443,2379,2380]}}}' --type=merge
Förbereda Linux med Ubuntu
I det här avsnittet beskrivs hur du förbereder Linux med Ubuntu om du kör ett kluster med flera noder.
Först installerar och konfigurerar du Open Service Mesh (OSM) med följande kommando:
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"
Utför sedan följande steg i ditt Kubernetes-kluster:
Viktigt!
Du måste utföra följande steg för varje nod i kubernetes-klustret.
Kör följande kommando för att avgöra om du anger
fs.inotify.max_user_instances
1024:sysctl fs.inotify.max_user_instances
När du har kört det här kommandot kör du följande kommando för att öka det maximala antalet filer och läsa in sysctl-inställningarna på nytt om du har kört det här kommandot:
echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Installera den nvme-modul som krävs via TCP för kerneln med hjälp av:
sudo apt install linux-modules-extra-`uname -r`
Kommentar
Den lägsta version som stöds är 5.1. För närvarande finns det kända problem med 6.4 och 6.2.
Ange antalet HugePages till 512 med följande kommando:
HUGEPAGES_NR=512 echo $HUGEPAGES_NR | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages echo "vm.nr_hugepages=$HUGEPAGES_NR" | sudo tee /etc/sysctl.d/99-hugepages.conf
Starta om K3:ar med följande kommando:
sudo systemctl restart k3s || sudo systemctl restart k3s-agent
Förbereda Linux med andra plattformar
Tillgängliga plattformsalternativ är produktionsliknande miljöer som Microsoft har verifierat. Dessa plattformar är inte nödvändigtvis de enda miljöer där Azure Container Storage som aktiveras av Azure Arc kan köras. Azure Container Storage som aktiveras av Azure Arc kan köras på alla Arc-aktiverade Kubernetes-kluster som uppfyller azure Arc-aktiverade Kubernetes-systemkrav. Om du kör i en miljö som inte visas här är några förslag för att öka sannolikheten för en lyckad installation:
Kör följande kommandon för att öka användarbevaknings- och instansgränserna:
echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Kör följande kommandon för att öka filbeskrivningsgränsen för bättre prestanda:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Kör följande kommando för att installera nödvändig NVME över TCP-modulen för din kernel:
sudo apt install linux-modules-extra-`uname -r`
Kör följande kommando för att ange antalet
HugePages
till 512:HUGEPAGES_NR=512 echo $HUGEPAGES_NR | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages echo "vm.nr_hugepages=$HUGEPAGES_NR" | sudo tee /etc/sysctl.d/99-hugepages.conf