Freigeben über


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.

  1. 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'
    
  2. 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.

  3. 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'
    
  4. 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
    
  1. 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.

  1. 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.

  1. 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
    
  2. 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.

  3. 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
    
  4. 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