Compartir a través de


Preparación de Linux para volúmenes perimetrales mediante un clúster de varios nodos

En este artículo se describe cómo preparar Linux mediante un clúster de varios nodos y se supone que cumple los requisitos previos.

Preparación de Linux con AKS habilitado por Azure Arc

Instale y configure Open Service Mesh (OSM) mediante los siguientes 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"

Preparación de Linux con AKS Edge Essentials

En esta sección se describe cómo preparar Linux con AKS Edge Essentials si ejecuta un clúster de varios nodos.

  1. En cada nodo del clúster, establezca el número de HugePages en 512 con el siguiente 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. En cada nodo del clúster, instale el NVME necesario a través del módulo TCP para el kernel mediante:

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

    Nota:

    La versión mínima admitida es 5.1. En este momento, hay problemas conocidos con la versión 6.4 y 6.2.

  3. En cada nodo del clúster, aumente el número máximo de archivos mediante el siguiente comando:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  4. Instale y configure Open Service Mesh (OSM) mediante los siguientes 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
    

Preparación de Linux con Ubuntu

En esta sección se describe cómo preparar Linux con Ubuntu si ejecuta un clúster de varios nodos.

Primero, instale y configure Open Service Mesh (OSM) mediante el siguiente 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"

A continuación, realice los siguientes pasos en el clúster de Kubernetes:

Importante

Debe completar los siguientes pasos para cada nodo del clúster de Kubernetes.

  1. Ejecute el siguiente comando para determinar si establece fs.inotify.max_user_instances en 1024:

    sysctl fs.inotify.max_user_instances
    

    Después de ejecutar este comando, si genera menos de 1024, ejecute el siguiente comando para aumentar el número máximo de archivos y volver a cargar la configuración de sysctl :

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  2. Instale el NVME necesario a través del módulo TCP para el kernel mediante:

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

    Nota:

    La versión mínima admitida es 5.1. En este momento, hay problemas conocidos con la versión 6.4 y 6.2.

  3. Establezca el número de HugePages en 512 con el siguiente 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 K3s con el siguiente comando:

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

Preparación de Linux con otras plataformas

Las opciones de plataforma disponibles son entornos similares a producción que Microsoft validó. Estas plataformas no son necesariamente los únicos entornos en los que se puede ejecutar el Almacenamiento de contenedores de Azure habilitado por Azure Arc. El Almacenamiento de contenedores de Azure habilitado por Azure Arc puede ejecutarse en cualquier clúster de Kubernetes habilitado para Arc que cumpla los requisitos del sistema de Kubernetes habilitado para Azure Arc. Si se ejecuta en un entorno que no aparece, estas son algunas sugerencias para aumentar la probabilidad de una instalación correcta:

  1. Ejecute los siguientes comandos para aumentar los límites de instancias y inspección de usuario:

    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. Ejecute los comandos siguientes para aumentar el límite del descriptor de archivo para mejorar el rendimiento:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Ejecute el comando siguiente para instalar el módulo NVME sobre TCP necesario para el kernel:

    sudo apt install linux-modules-extra-`uname -r`
    
  4. Ejecute el siguiente comando para establecer el número de HugePages en 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
    

Pasos siguientes

Instalación de la extensión