Condividi tramite


Preparare Linux 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"

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 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
    
  1. Creare un file denominato config.json con il contenuto seguente:

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

    Nota

    La posizione/il percorso di questo file vengono indicati in seguito, durante l’installazione dell'estensione Arc di Volumi Cache.

Preparare Linux con Ubuntu

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

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

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
    

Passaggi successivi

Installare Archiviazione di Container Azure abilitata da Azure Arc