Compartilhar via


Preparar o Linux para Volumes de Borda usando um cluster multinós

Este artigo descreve como preparar o Linux usando um cluster de vários nós e pressupõe que você atendeu os pré-requisitos.

Preparar o Linux com o AKS habilitado pelo Azure Arc

Instale e configure o OSM (Open Service Mesh) usando os seguintes comandos:

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"

Preparar o Linux com o AKS Edge Essentials

Esta seção descreve como preparar o Linux com o AKS Edge Essentials se você executar um cluster de vários nós.

  1. Em cada nó do cluster, defina o número de HugePages como 512 usando o seguinte comando:

    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. Em cada nó do seu cluster, instale o módulo NVME sobre TCP necessário para o seu kernel usando:

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

    Observação

    A versão mínima com suporte é 5.1. No momento, temos problemas conhecidos com as versões 6.4 e 6.2.

  3. Em cada nó em seu cluster, aumente o número máximo de arquivos usando o seguinte comando:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  4. Instale e configure o OSM (Open Service Mesh) usando os seguintes comandos:

    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
    

Preparar o Linux com o Ubuntu

Esta seção descreve como preparar o Linux com o Ubuntu se você executar um cluster de vários nós.

Primeiro, instale e configure o Open Service Mesh (OSM) usando o seguinte comando:

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"

Em seguida, execute as seguintes etapas no seu cluster do Kubernetes:

Importante

Você precisa executar as etapas a seguir para cada nó no cluster do Kubernetes.

  1. Execute o seguinte comando para determinar se você definiu fs.inotify.max_user_instances como 1024:

    sysctl fs.inotify.max_user_instances
    

    Depois de executar esse comando, se ele gerar menos de 1024, execute o seguinte comando para aumentar o número máximo de arquivos e recarregar as configurações de sysctl:

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  2. Instale o módulo NVME sobre TCP necessário para o seu kernel usando:

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

    Observação

    A versão mínima com suporte é 5.1. No momento, temos problemas conhecidos com as versões 6.4 e 6.2.

  3. Defina o número de HugePages como 512 usando o seguinte comando:

    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. Reinicie o K3s usando o seguinte comando:

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

Preparar o Linux com outras plataformas

As opções de plataforma disponíveis são ambientes semelhantes à produção validados pela Microsoft. Essas plataformas não são necessariamente os únicos ambientes nos quais o Armazenamento de Contêineres do Azure habilitado pelo Azure Arc pode ser executado. O Armazenamento de contêineres do Azure habilitado pelo Azure Arc pode ser executado em qualquer cluster Kubernetes habilitado para Arc que atenda aos Requisitos do sistema Kubernetes habilitado para Azure Arc. Se você estiver executando em um ambiente não listado, aqui estão algumas sugestões para aumentar a probabilidade de uma instalação bem-sucedida:

  1. Execute os comandos a seguir para aumentar os limites de inspeção e instância do usuário:

    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. Execute os seguintes comandos para aumentar o limite do descritor de arquivo para melhorar o desempenho:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Execute o seguinte comando para instalar o módulo NVME necessário no TCP para o kernel:

    sudo apt install linux-modules-extra-`uname -r`
    
  4. Execute o seguinte comando para definir o número de HugePages a 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
    

Próximas etapas

Instalar a extensão