Preparar o Linux para Volumes de Borda usando um cluster de nó único ou de dois nós
Este artigo descreve como preparar o Linux usando um cluster de nó único ou dois nós e pressupõe que você atendeu aos pré-requisitos.
Preparar Linux com AKS habilitado pelo Azure Arc
Esta seção descreve como preparar o Linux com o AKS habilitado pelo Azure Arc se você executar um cluster de nó único ou de dois nós.
Instale 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"
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 nó único ou de dois nós.
Para que o Edge Essentials ofereça suporte às Operações do Azure IoT e ao Armazenamento de Contêiner do Azure habilitado pelo Azure Arc, os hosts do Kubernetes devem ser modificados para oferecer suporte a mais memória. Você também pode aumentar as alocações de vCPU e disco neste momento, se você prevê a necessidade de recursos adicionais para seus usos do Kubernetes.
Comece por seguir o guia de instruções aqui. O QuickStart usa a configuração padrão e deve ser evitado.
Após a Etapa 1: parâmetros de configuração de máquina única, você tem um arquivo em seu diretório de trabalho chamado aksedge-config.json. Abra este ficheiro no Bloco de Notas ou noutro editor de texto:
"SchemaVersion": "1.11", "Version": "1.0", "DeploymentType": "SingleMachineCluster", "Init": { "ServiceIPRangeSize": 0 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 4096, "DataSizeInGB": 10, } } ]
Aumentar
MemoryInMB
para pelo menos 16384 eDataSizeInGB
para 40G. DefinidoServiceIPRangeSize
como 15. Se você pretende executar muitos PODs, você pode aumentar oCpuCount
também. Por exemplo:"Init": { "ServiceIPRangeSize": 15 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 16384, "DataSizeInGB": 40, } } ]
Continue com as etapas restantes começando com a criação de um cluster de máquina única. Em seguida, conecte seu cluster do AKS Edge Essentials ao Arc.
Verifique e instale o armazenamento do Provisionador de Caminho Local se ainda não estiver instalado. Verifique se a classe de armazenamento de caminho local já está disponível no nó executando o seguinte cmdlet:
kubectl get StorageClass
Se a classe de armazenamento de caminho local não estiver disponível, execute o seguinte comando:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Nota
As imagens Local-Path-Provisioner e Busybox não são mantidas pela Microsoft e são extraídas do repositório do Rancher Labs. Local-Path-Provisioner e BusyBox só estão disponíveis como uma imagem de contêiner Linux.
Se tudo estiver configurado corretamente, você verá a seguinte saída:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 21h
Se você tiver vários discos e quiser redirecionar o caminho, use:
kubectl edit configmap -n kube-system local-path-config
Execute o seguinte comando para determinar se você define
fs.inotify.max_user_instances
como 1024:Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "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:
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
Instale 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"
Prepare o Linux com o Ubuntu
Esta seção descreve como preparar o Linux com o Ubuntu se você executar um cluster de nó único ou dois nós.
Instale 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"
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
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 provisionador de caminho local:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Próximos passos
Instalar o Armazenamento de Contêiner do Azure habilitado pelo Azure Arc