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.
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.
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 yDataSizeInGB
a 40 G. EstableceServiceIPRangeSize
en 15. Si tiene previsto ejecutar muchos POD, también puede aumentar el valor deCpuCount
. 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.
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
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"
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.
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"
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:
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
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
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