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.
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'
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.
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'
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.
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
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.
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
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:
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 comando siguiente para instalar el módulo NVME sobre TCP necesario para el kernel:
sudo apt install linux-modules-extra-`uname -r`
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