Vorbereiten von Linux für Edgevolumes mithilfe eines Clusters mit mehreren Knoten
In diesem Artikel wird beschrieben, wie Sie Linux mithilfe eines Multiknotenclusters vorbereiten und davon ausgehen, dass Sie die Voraussetzungen erfüllt.
Vorbereiten von Linux mit AKS, aktiviert durch Azure Arc
Installieren und konfigurieren Sie Open Service Mesh (OSM) mit den folgenden Befehlen:
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"
Vorbereiten von Linux mit AKS Edge Essentials
In diesem Abschnitt wird beschrieben, wie Sie Linux mit AKS Edge Essentials vorbereiten, wenn Sie einen Multiknotencluster ausführen.
Legen Sie auf jedem Knoten in Ihrem Cluster die Anzahl der HugePages auf 512 fest, indem Sie den folgenden Befehl verwenden:
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'
Installieren Sie auf jedem Knoten in Ihrem Cluster das erforderliche NVMe-over-TCP-Modul für Ihren Kernel wie folgt:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
Hinweis
Die unterstützte Mindestversion ist 5.1. Derzeit gibt es bekannte Probleme mit 6.4 und 6.2.
Erhöhen Sie auf jedem Knoten in Ihrem Cluster die maximale Anzahl von Dateien mithilfe des folgenden Befehls:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
Installieren und konfigurieren Sie Open Service Mesh (OSM) mit den folgenden Befehlen:
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
Vorbereiten von Linux mit Ubuntu
In diesem Abschnitt wird beschrieben, wie Sie Linux mit Ubuntu vorbereiten, wenn Sie einen Multiknotencluster ausführen.
Installieren und konfigurieren Sie zunächst OSM (Open Service Mesh) mit dem folgenden Befehl:
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ühren Sie dann die folgenden Schritte in Ihrem Kubernetes-Cluster aus:
Wichtig
Sie müssen die folgenden Schritte für jeden Knoten in Ihrem Kubernetes-Cluster ausführen.
Führen Sie den folgenden Befehl aus, um zu ermitteln, ob Sie
fs.inotify.max_user_instances
auf 1024 festlegen:sysctl fs.inotify.max_user_instances
Wenn nach der Ausführung des Befehls weniger als 1024 angezeigt wird, führen Sie den folgenden Befehl aus, um die maximale Anzahl von Dateien zu erhöhen und die sysctl-Einstellungen erneut zu laden:
echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Installieren Sie das erforderliche NVMe-over-TCP-Modul für Ihren Kernel wie folgt:
sudo apt install linux-modules-extra-`uname -r`
Hinweis
Die unterstützte Mindestversion ist 5.1. Derzeit gibt es bekannte Probleme mit 6.4 und 6.2.
Legen Sie die Anzahl der HugePages mit dem folgenden Befehl auf 512 fest:
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
Starten Sie K3s mit dem folgenden Befehl neu:
sudo systemctl restart k3s || sudo systemctl restart k3s-agent
Vorbereiten von Linux mit anderen Plattformen
Die verfügbaren Plattformoptionen sind ähneln Produktionsumgebungen, die von Microsoft überprüft wurden. Diese Plattformen sind nicht die einzigen Umgebungen, in denen Azure Container Storage mit Azure Arc ausgeführt werden kann. Azure Container Storage mit Azure Arc kann auf allen Arc-fähigen Kubernetes-Clustern ausgeführt werden, die die Azure Arc-fähige Kubernetes-Systemanforderungen erfüllen. Wenn Sie eine nicht aufgeführte Umgebung zum Ausführen verwenden, finden Sie hier einige Vorschläge, um die Wahrscheinlichkeit einer erfolgreichen Installation zu erhöhen:
Führen Sie die folgenden Befehle aus, um die Benutzerüberwachungs- und Instanzgrenzwerte zu erhöhen:
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
Führen Sie die folgenden Befehle aus, um die Dateideskriptorengrenze für eine bessere Leistung zu erhöhen:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Führen Sie den folgenden Befehl aus, um das erforderliche NVME über TCP-Modul für Ihren Kernel zu installieren:
sudo apt install linux-modules-extra-`uname -r`
Führen Sie den folgenden Befehl aus, um die Anzahl von
HugePages
auf 512 festzulegen: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