Dela via


Förbereda Linux med 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"

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 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
    
  1. Skapa en fil med namnet config.json med följande innehåll:

    {
        "acstor.capacityProvisioner.tempDiskMountPoint": /var
    }
    

    Kommentar

    Platsen/sökvägen till den här filen refereras senare när du installerar Cache Volumes Arc-tillägget.

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.

Installera och konfigurera 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
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

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
    

Nästa steg

Installera Azure Container Storage aktiverat av Azure Arc