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.
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'
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.
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'
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.
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
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.
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
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:
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
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
Eseguire il comando seguente per installare il modulo NVME su TCP necessario per il kernel:
sudo apt install linux-modules-extra-`uname -r`
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