Compartir a través de


Preparación de Linux para volúmenes perimetrales mediante un clúster de un solo nodo o de dos nodos

En este artículo se describe cómo preparar Linux mediante un clúster de uno o dos nodos, suponiendo que cumple los requisitos previos.

Preparación de Linux con AKS habilitado por Azure Arc

En esta sección se describe cómo preparar Linux con AKS habilitado por Azure Arc si ejecuta un clúster de uno o dos nodos.

  1. Instale 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"
    

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 uno o dos nodos.

  1. Para que Edge Essentials admita Operaciones de Azure IoT y Almacenamiento de contenedores de Azure habilitados por Azure Arc, los hosts de Kubernetes deben modificarse para admitir más memoria. También puede aumentar las asignaciones de disco y vCPU en este momento si prevé necesitar recursos adicionales para su uso de Kubernetes.

    Para comenzar, siga la guía paso a paso aquí. El inicio rápido usa la configuración predeterminada y debe evitarse.

    Después del Paso 1: Parámetros de configuración de una sola máquina, tiene un archivo en el directorio de trabajo llamado aksedge-config.json. Abra este archivo en el Bloc de notas o en otro editor de texto:

    "SchemaVersion": "1.11",
    "Version": "1.0",
    "DeploymentType": "SingleMachineCluster",
    "Init": {
        "ServiceIPRangeSize": 0
    },
    "Machines": [
    {
        "LinuxNode": {
            "CpuCount": 4,
            "MemoryInMB": 4096,
            "DataSizeInGB": 10,
        }
    }
    ]
    

    Aumente MemoryInMB a al menos 16384 y DataSizeInGB a 40 G. Establece ServiceIPRangeSize en 15. Si tiene previsto ejecutar muchos POD, también puede aumentar el valor de CpuCount. Por ejemplo:

    "Init": {
        "ServiceIPRangeSize": 15
       },
    "Machines": [
    {
        "LinuxNode": {
            "CpuCount": 4,
            "MemoryInMB": 16384,
            "DataSizeInGB": 40,
        }
    }
    ]
    

    Continúe con el resto de pasos comenzado con la creación de un clúster de una sola máquina. A continuación, conecte el clúster de AKS Edge Essentials a Arc.

  2. Compruebe e instale el almacenamiento del aprovisionador de la ruta de acceso local si aún no está instalado. Compruebe si la clase de almacenamiento local-path ya está disponible en el nodo mediante la ejecución del siguiente cmdlet:

    kubectl get StorageClass
    

    Si la clase de almacenamiento local-path no está disponible, ejecute el siguiente comando:

    kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
    

    Nota:

    Microsoft no mantiene las imágenes Local-Path-Provisioner ni Busybox, se extraen del repositorio Rancher Labs. Local-Path-Provisioner y BusyBox solo están disponibles como imagen de contenedor de Linux.

    Si todo se ha configurado correctamente, debería ver la siguiente salida:

    NAME                   PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    local-path (default)   rancher.io/local-path   Delete          WaitForFirstConsumer   false                  21h
    

    Si tiene varios discos y desea redirigir la ruta de acceso, use:

    kubectl edit configmap -n kube-system local-path-config
    
  3. Ejecute el siguiente comando para determinar si ha establecido fs.inotify.max_user_instances en 1024:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "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:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
    
  4. Instale 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"
    

Preparación de Linux con Ubuntu

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

  1. Instale 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"
    
  2. Ejecute el siguiente comando para determinar si ha establecido 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
    

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 siguiente comando para instalar el aprovisionamiento de la ruta de acceso local:

    kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
    

Pasos siguientes

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