Condividi tramite


Preparare Linux per i volumi Perimetrali usando un cluster multinodo

Questo articolo descrive come preparare Linux usando un cluster multinodo e presuppone che siano stati soddisfatti i prerequisiti.

Preparare Linux con il servizio Azure Kubernetes abilitato da Azure Arc

Installare e configurare Open Service Mesh (OSM) usando i comandi seguenti:

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"

Preparare Linux con AKS Edge Essentials

Questa sezione descrive come preparare Linux con AKS Edge Essentials se si esegue un cluster multinodo.

  1. In ogni nodo del cluster, impostare il numero di HugePages a 512 tramite il comando seguente:

    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. In ogni nodo del cluster, installare il modulo NVME su TCP richiesto per il kernel attenendosi alla procedura seguente:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
    

    Nota

    La versione minima supportata è la 5.1. Attualmente, esistono problemi noti con le versioni 6.4 e 6.2.

  3. In ogni nodo del cluster, aumentare il numero massimo di file tramite il comando seguente:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  4. Installare e configurare Open Service Mesh (OSM) usando i comandi seguenti:

    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
    

Preparare Linux con Ubuntu

Questa sezione descrive come preparare Linux con Ubuntu se si esegue un cluster multinodo.

Prima di tutto, installare e configurare Open Service Mesh (OSM) usando il comando seguente:

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"

Quindi, eseguire la procedura seguente nel cluster Kubernetes:

Importante

È necessario completare la procedura seguente per ogni nodo del cluster Kubernetes.

  1. Eseguire il comando seguente per determinare se fs.inotify.max_user_instances sia impostato su 1024:

    sysctl fs.inotify.max_user_instances
    

    Se dopo aver eseguito questo comando viene restituito meno di 1024, eseguire il comando seguente per aumentare il numero massimo di file e ricaricare le impostazioni sysctl:

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  2. Installare il modulo NVME su TCP richiesto per il kernel attenendosi alla procedura seguente:

    sudo apt install linux-modules-extra-`uname -r`
    

    Nota

    La versione minima supportata è la 5.1. Attualmente, esistono problemi noti con le versioni 6.4 e 6.2.

  3. Impostare il numero di HugePages a 512 tramite il comando seguente:

    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. Riavviare K3s usando il comando seguente:

    sudo systemctl restart k3s || sudo systemctl restart k3s-agent
    

Preparare Linux con altre piattaforme

Le opzioni della piattaforma disponibili sono ambienti simili alla produzione convalidati da Microsoft. Queste piattaforme non sono necessariamente gli unici ambienti in cui è possibile eseguire Archiviazione Azure Container abilitata da Azure Arc. Archiviazione di Azure Container abilitata da Azure Arc può essere eseguita in qualsiasi cluster Kubernetes abilitato per Arc che soddisfi i requisiti di sistema kubernetes abilitati per Azure Arc. Se si esegue in un ambiente non elencato, ecco alcuni suggerimenti per aumentare la probabilità di un'installazione riuscita:

  1. Eseguire i comandi seguenti per aumentare i limiti di controllo e istanza dell'utente:

    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. Eseguire i comandi seguenti per aumentare il limite del descrittore di file per ottenere prestazioni migliori:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Eseguire il comando seguente per installare il modulo NVME su TCP necessario per il kernel:

    sudo apt install linux-modules-extra-`uname -r`
    
  4. Eseguire il comando seguente per impostare il numero di HugePages su 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
    

Passaggi successivi

Installare l'estensione