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.
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
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.
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
Passaggi successivi
Installare Archiviazione di Container Azure abilitata da Azure Arc