Preparar o Linux para Volumes de Borda usando um cluster de vários nós (visualização)
Este artigo descreve como preparar o Linux usando um cluster de vários nós e pressupõe que você cumpriu os pré-requisitos.
Preparar Linux com AKS habilitado pelo Azure Arc
Instale e configure o Open Service Mesh (OSM) usando os seguintes 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
Prepare o Linux com o AKS Edge Essentials
Esta seção descreve como preparar o Linux com o AKS Edge Essentials se você executar um cluster de vários nós.
Em cada nó do cluster, defina o número de HugePages como 512 usando o seguinte 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'
Em cada nó do cluster, instale o módulo NVME sobre TCP necessário para o kernel usando:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
Nota
A versão mínima suportada é 5.1. Neste momento, existem problemas conhecidos com a versão 6.4 e 6.2.
Em cada nó do cluster, aumente o número máximo de arquivos usando o seguinte comando:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
Instale e configure o Open Service Mesh (OSM) usando os seguintes 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
Prepare o Linux com o Ubuntu
Esta seção descreve como preparar o Linux com o Ubuntu se você executar um cluster de vários nós.
Primeiro, instale e configure o Open Service Mesh (OSM) usando o seguinte 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
Em seguida, execute as seguintes etapas no cluster do Kubernetes:
Importante
Você deve concluir as etapas a seguir para cada nó no cluster do Kubernetes.
Execute o seguinte comando para determinar se você define
fs.inotify.max_user_instances
como 1024:sysctl fs.inotify.max_user_instances
Depois de executar esse comando, se ele tiver saídas inferiores a 1024, execute o seguinte comando para aumentar o número máximo de arquivos e recarregar as configurações do sysctl :
echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Instale o módulo NVME sobre TCP necessário para o seu kernel usando:
sudo apt install linux-modules-extra-`uname -r`
Nota
A versão mínima suportada é 5.1. Neste momento, existem problemas conhecidos com a versão 6.4 e 6.2.
Defina o número de HugePages como 512 usando o seguinte 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 o K3s usando o seguinte comando:
sudo systemctl restart k3s || sudo systemctl restart k3s-agent
Prepare o Linux com outras plataformas
As opções de plataforma disponíveis são ambientes de produção que a Microsoft validou. Essas plataformas não são necessariamente os únicos ambientes nos quais o Armazenamento de Contêiner do Azure habilitado pelo Azure Arc pode ser executado. O Armazenamento de Contêiner do Azure habilitado pelo Azure Arc pode ser executado em qualquer cluster Kubernetes habilitado para Arc que atenda aos requisitos de sistema do Kubernetes habilitado para Azure Arc. Se você estiver executando em um ambiente não listado, aqui estão algumas sugestões para aumentar a probabilidade de uma instalação bem-sucedida:
Execute os seguintes comandos para aumentar a observação do usuário e os limites de instância:
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
Execute os seguintes comandos para aumentar o limite do descritor de arquivo para um melhor desempenho:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Execute o seguinte comando para instalar o módulo NVME sobre TCP necessário para o kernel:
sudo apt install linux-modules-extra-`uname -r`
Execute o seguinte comando para definir o número de
HugePages
como 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