Condividi tramite


Preparare Linux per i volumi della cache usando un cluster a nodo singolo o a 2 nodi

Questo articolo descrive come preparare Linux usando un cluster a nodo singolo o a 2 nodi e presuppone che siano stati soddisfatti i prerequisiti.

Preparare Linux con il servizio Azure Kubernetes abilitato da Azure Arc

Questa sezione descrive come preparare Linux con il servizio Azure Kubernetes abilitato da Azure Arc se si esegue un cluster a nodo singolo o a 2 nodi.

  1. Installare Open Service Mesh (OSM) usando i comandi seguenti:

    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. Disabilitare ACStor creando un file denominato config.json con il contenuto seguente:

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

Preparare Linux con Azure Kubernetes Edge Essentials

Questa sezione descrive come preparare Linux con AKS Edge Essentials se si esegue un cluster a nodo singolo o a due nodi.

  1. Perché Edge Essentials possa supportare le operazioni IoT di Azure e l’Archiviazione contenitori di Azure abilitata da Azure Arc, gli host Kubernetes devono essere modificati in modo da supportare una quantità maggiore di memoria. A questo stadio è anche possibile aumentare le allocazioni di vCPU e disco se si prevede di richiedere risorse aggiuntive per i propri utilizzi di Kubernetes.

    Per iniziare, seguire la guida pratica fornita qui. La guida di avvio rapido usa la configurazione predefinita, che è consigliabile evitare.

    Seguendo il Passaggio 1: parametri di configurazione di un singolo computer, si dispone di un file nella directory di lavoro denominata aksedge-config.json. Aprire il file nel Blocco note o in un altro editor di testo:

    "SchemaVersion": "1.11",
    "Version": "1.0",
    "DeploymentType": "SingleMachineCluster",
    "Init": {
        "ServiceIPRangeSize": 0
    },
    "Machines": [
    {
        "LinuxNode": {
            "CpuCount": 4,
            "MemoryInMB": 4096,
            "DataSizeInGB": 10,
        }
    }
    ]
    

    Aumentare MemoryInMB ad almeno 16384 e DataSizeInGB a 40G. Impostare ServiceIPRangeSize su 15. Se si prevede di eseguire molti POD, è possibile aumentare anche il CpuCount. Ad esempio:

    "Init": {
        "ServiceIPRangeSize": 15
       },
    "Machines": [
    {
        "LinuxNode": {
            "CpuCount": 4,
            "MemoryInMB": 16384,
            "DataSizeInGB": 40,
        }
    }
    ]
    

    Continuare con i passaggi rimanenti, a partire dalla creazione di un singolo cluster di computer. Quindi, connettere il cluster Edge Essentials del servizio Azure Kubernetes ad Arc.

  2. Verificare la presenza dell'archiviazione del provisioner di percorso locale e installarla se non è già presente. Controllare se la classe di archiviazione local-path è già disponibile nel nodo eseguendo il cmdlet seguente:

    kubectl get StorageClass
    

    Se la classe di archiviazione local-path non è disponibile, eseguire il comando seguente:

    kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
    

    Nota

    Le immagini Local-Path-Provisioner e Busybox non sono gestite da Microsoft e vengono estratte dal repository Rancher Labs. Local-Path-Provisioner e BusyBox sono disponibili solo come immagine del contenitore Linux.

    Se tutto è configurato correttamente, verrà visualizzato l'output seguente:

    NAME                   PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    local-path (default)   rancher.io/local-path   Delete          WaitForFirstConsumer   false                  21h
    

    Se si dispone di più dischi e si desidera reindirizzare il percorso, usare:

    kubectl edit configmap -n kube-system local-path-config
    
  3. Eseguire il comando seguente per determinare se fs.inotify.max_user_instances sia impostato su 1024:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "sysctl fs.inotify.max_user_instances
    

    Se dopo aver eseguito questo comando viene restituito meno di 1024, eseguire il comando seguente per aumentare il numero massimo di file:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
    
  4. Installare Open Service Mesh (OSM) usando il comando seguente:

    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. Disabilitare ACStor creando un file denominato config.json con il contenuto seguente:

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

Preparare Linux con Ubuntu

Questa sezione descrive come preparare Linux con Ubuntu se si esegue un cluster a nodo singolo o a due nodi.

  1. Installare Open Service Mesh (OSM) usando il comando seguente:

    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. Eseguire il comando seguente per determinare se fs.inotify.max_user_instances sia impostato su 1024:

    sysctl fs.inotify.max_user_instances
    

    Se dopo aver eseguito questo comando viene restituito meno di 1024, eseguire il comando seguente per aumentare il numero massimo di file e ricaricare le impostazioni sysctl:

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  1. Disabilitare ACStor creando un file denominato config.json con il contenuto seguente:

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

Passaggi successivi

Installare Archiviazione di Container Azure abilitata da Azure Arc