Vorbereiten von Linux mithilfe eines Multiknoten-Clusters (Vorschau)
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
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 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
Erstellen Sie eine Datei mit dem Namen config.json mit dem folgenden Inhalt:
{ "acstor.capacityProvisioner.tempDiskMountPoint": /var }
Hinweis
Auf den Speicherort/Pfad dieser Datei wird später verwiesen, wenn Sie die Arc-Erweiterung für Cachevolumes installieren.
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 Open Service Mesh (OSM) 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 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ü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
Nächste Schritte
Installieren von Azure Container Storage, aktiviert durch Azure Arc