Sdílet prostřednictvím


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.

  1. 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'
    
  2. 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.

  3. 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'
    
  4. 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.

  1. 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
    
  2. 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.

  3. 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
    
  4. 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:

  1. 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
    
  2. 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
    
  3. 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`
    
  4. 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
    

Další kroky

Instalace rozšíření