Partilhar via


Preparar o Linux usando um cluster de vários nós

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

Preparar Linux com AKS habilitado pelo Azure Arc

Instale e configure o Open Service Mesh (OSM) 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

Prepare 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 cluster, instale o módulo NVME sobre TCP necessário para o kernel usando:

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

    Nota

    A versão mínima suportada é 5.1. Neste momento, existem problemas conhecidos com a versão 6.4 e 6.2.

  3. Em cada nó do 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 Open Service Mesh (OSM) 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
    
  1. Crie um arquivo chamado config.json com o seguinte conteúdo:

    {
        "acstor.capacityProvisioner.tempDiskMountPoint": /var
    }
    

    Nota

    O local/caminho desse arquivo é referenciado posteriormente, quando você instala a extensão Cache Volumes Arc.

Prepare 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.

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
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

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

Importante

Você deve concluir as etapas a seguir para cada nó no cluster do Kubernetes.

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

    sysctl fs.inotify.max_user_instances
    

    Depois de executar esse comando, se ele tiver saídas inferiores a 1024, execute o seguinte comando para aumentar o número máximo de arquivos e recarregar as configurações do 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`
    

    Nota

    A versão mínima suportada é 5.1. Neste momento, existem problemas conhecidos com a versão 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
    

Próximos passos

Instalar o Armazenamento de Contêiner do Azure habilitado pelo Azure Arc