Příprava Linuxu na svazky Edge pomocí clusteru s více uzly
Tento článek popisuje, jak připravit Linux pomocí clusteru s více uzly a předpokládá, že splňujete požadavky.
Příprava Linuxu s podporou AKS službou Azure Arc
Pomocí následujících příkazů nainstalujte a nakonfigurujte Open Service Mesh (OSM):
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"
Příprava Linuxu pomocí AKS Edge Essentials
Tato část popisuje, jak připravit Linux pomocí AKS Edge Essentials, pokud spouštíte cluster s více uzly.
Na každém uzlu v clusteru nastavte počet obrovských stránek na 512 pomocí následujícího příkazu:
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'
Na každém uzlu v clusteru nainstalujte požadované NVME přes modul TCP pro jádro pomocí:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
Poznámka:
Minimální podporovaná verze je 5.1. V tuto chvíli existují známé problémy s verzemi 6.4 a 6.2.
Na každém uzlu v clusteru zvyšte maximální počet souborů pomocí následujícího příkazu:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
Pomocí následujících příkazů nainstalujte a nakonfigurujte Open Service Mesh (OSM):
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
Příprava Linuxu s Ubuntu
Tato část popisuje, jak připravit Linux s Ubuntu, pokud spustíte cluster s více uzly.
Nejprve nainstalujte a nakonfigurujte Open Service Mesh (OSM) pomocí následujícího příkazu:
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"
Pak v clusteru Kubernetes proveďte následující kroky:
Důležité
Pro každý uzel v clusteru Kubernetes musíte provést následující kroky.
Spuštěním následujícího příkazu určete, jestli je nastavená hodnota
fs.inotify.max_user_instances
1024:sysctl fs.inotify.max_user_instances
Po spuštění tohoto příkazu, pokud výstup menší než 1024, spuštěním následujícího příkazu zvyšte maximální počet souborů a znovu načtěte nastavení sysctl :
echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Nainstalujte požadovaný modul NVME přes protokol TCP pro jádro pomocí:
sudo apt install linux-modules-extra-`uname -r`
Poznámka:
Minimální podporovaná verze je 5.1. V tuto chvíli existují známé problémy s verzemi 6.4 a 6.2.
Pomocí následujícího příkazu nastavte počet HugePages na 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
Restartujte K3s pomocí následujícího příkazu:
sudo systemctl restart k3s || sudo systemctl restart k3s-agent
Příprava Linuxu s jinými platformami
Dostupné možnosti platformy jsou produkční prostředí, která Společnost Microsoft ověřila. Tyto platformy nemusí být nutně jedinými prostředími, na kterých může azure Container Storage povolené službou Azure Arc běžet. Služba Azure Container Storage povolená službou Azure Arc může běžet na libovolném clusteru Kubernetes s podporou Arc, který splňuje požadavky na systém Kubernetes s podporou Azure Arc. Pokud používáte prostředí, které tu není uvedené, tady je několik návrhů, jak zvýšit pravděpodobnost úspěšné instalace:
Spuštěním následujících příkazů zvyšte limity sledování uživatelů a instancí:
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
Spuštěním následujících příkazů zvyšte limit popisovače souborů, aby se zlepšil výkon:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Spuštěním následujícího příkazu nainstalujte požadované NVME přes modul TCP pro jádro:
sudo apt install linux-modules-extra-`uname -r`
Spuštěním následujícího příkazu nastavte číslo
HugePages
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