Поделиться через


Подготовка Linux для томов Edge с помощью кластера с несколькими узлами

В этой статье описывается подготовка Linux с помощью кластера с несколькими узлами и предполагается, что выполнены предварительные требования.

Подготовка Linux с поддержкой AKS с помощью Azure Arc

Установите и настройте Сетку Open Service (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"

Подготовка Linux с помощью AKS Edge Essentials

В этом разделе описывается подготовка Linux с помощью AKS Edge Essentials при запуске кластера с несколькими узлами.

  1. На каждом узле в кластере задайте для числа ОгромныхPage значение 512, используя следующую команду:

    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. На каждом узле в кластере установите необходимый NVME через tcp-модуль для ядра, используя следующее:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
    

    Примечание.

    Минимальная поддерживаемая версия — 5.1. В настоящее время существуют известные проблемы с 6.4 и 6.2.

  3. На каждом узле в кластере увеличьте максимальное количество файлов с помощью следующей команды:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  4. Установите и настройте Сетку Open Service (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
    

Подготовка Linux с помощью Ubuntu

В этом разделе описывается, как подготовить Linux с Ubuntu при запуске кластера с несколькими узлами.

Сначала установите и настройте сетку Open Service (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"

Затем выполните следующие действия в кластере Kubernetes:

Внимание

Для каждого узла в кластере Kubernetes необходимо выполнить следующие действия.

  1. Выполните следующую команду, чтобы определить, задано ли значение fs.inotify.max_user_instances 1024:

    sysctl fs.inotify.max_user_instances
    

    После выполнения этой команды, если она выводит менее 1024, выполните следующую команду, чтобы увеличить максимальное количество файлов и перезагрузить параметры sysctl :

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  2. Установите необходимый NVME через tcp-модуль для ядра с помощью:

    sudo apt install linux-modules-extra-`uname -r`
    

    Примечание.

    Минимальная поддерживаемая версия — 5.1. В настоящее время существуют известные проблемы с 6.4 и 6.2.

  3. Задайте для числа 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
    
  4. Перезапустите K3s с помощью следующей команды:

    sudo systemctl restart k3s || sudo systemctl restart k3s-agent
    

Подготовка Linux с другими платформами

Доступные варианты платформы — это рабочие среды, проверенные корпорацией Майкрософт. Эти платформы не обязательно являются единственными средами, в которых служба хранилища контейнеров Azure включена Azure Arc. Хранилище контейнеров Azure, включенное Azure Arc, может выполняться в любом кластере Kubernetes с поддержкой Arc, который соответствует требованиям к системе Kubernetes с поддержкой Azure Arc. Если вы работаете в среде, не указанной в списке, ниже приведены некоторые рекомендации по повышению вероятности успешной установки:

  1. Выполните следующие команды, чтобы увеличить ограничения часов и экземпляров пользователей:

    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. Выполните следующие команды, чтобы увеличить ограничение дескриптора файла для повышения производительности:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Выполните следующую команду, чтобы установить необходимый NVME через TCP-модуль для ядра:

    sudo apt install linux-modules-extra-`uname -r`
    
  4. Выполните следующую команду, чтобы задать число 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
    

Следующие шаги

Установка расширения