Partilhar via


Preparar o Linux para volumes de cache usando um cluster de nó único ou de 2 nós

Este artigo descreve como preparar o Linux usando um cluster de nó único ou de 2 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 2 nós.

  1. Instale 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"
    
  2. Desative o ACStor criando um arquivo chamado config.json com o seguinte conteúdo:

    {
      "feature.diskStorageClass": "default",
      "acstorController.enabled": false
    }
    

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.

  1. 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 e DataSizeInGB para 40G. Definido ServiceIPRangeSize como 15. Se você pretende executar muitos PODs, você pode aumentar o CpuCount 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.

  2. 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
    
  3. 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"
    
  4. 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"
    
  1. Desative o ACStor criando um arquivo chamado config.json com o seguinte conteúdo:

    {
      "acstorController.enabled": false,
      "feature.diskStorageClass": "local-path"
    }
    

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.

  1. 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"
    
  2. 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
    
  1. Desative o ACStor criando um arquivo chamado config.json com o seguinte conteúdo:

    {
      "acstorController.enabled": false,
      "feature.diskStorageClass": "local-path"
    }
    

Próximos passos

Instalar o Armazenamento de Contêiner do Azure habilitado pelo Azure Arc