Compartir a través de


Preparación de Linux 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"

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 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
    
  1. Cree un archivo denominado config.json con el siguiente contenido:

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

    Nota:

    La ubicación o la ruta de acceso de este archivo se referencia más adelante, al instalar la extensión de volúmenes de caché de Arc.

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.

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

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
    

Pasos siguientes

Instalación de Almacenamiento de contenedores de Azure habilitado por Azure Arc