Dela via


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.

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

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

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

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

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

Nästa steg

Installationstillägg