Dela via


Förbereda Linux för Edge-volymer med hjälp av ett kluster med en nod eller två noder

Den här artikeln beskriver hur du förbereder Linux med hjälp av ett kluster med en nod eller två noder och förutsätter att du uppfyller kraven.

Förbered Linux med AKS aktiverat av Azure Arc.

Om du kör ett kluster med en nod eller två noder i Linux med AKS aktiverat av Azure Arc behöver du inte utföra några ytterligare steg.

Förbereda Linux med AKS Edge Essentials

I det här avsnittet beskrivs hur du förbereder Linux med AKS Edge Essentials om du kör ett kluster med en nod eller två noder.

  1. För att Edge Essentials ska stödja Azure IoT Operations och Azure Container Storage, som aktiveras via Azure Arc, måste Kubernetes-värdarna anpassas för att hantera mer minne. Du kan också öka vCPU- och diskallokeringarna just nu om du förväntar dig att det krävs ytterligare resurser för dina Kubernetes-användningar.

    Börja med att följa How-To guide här. Snabbstarten använder standardkonfigurationen och bör undvikas.

    Följande steg 1: Konfigurationsparametrar för en enskild dator har du en fil i arbetskatalogen som heteraksedge-config.json. Öppna den här filen i Anteckningar eller i en annan textredigerare:

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

    Öka MemoryInMB till minst 16384 och DataSizeInGB till 40G. Ange ServiceIPRangeSize till 15. Om du tänker köra många POD:er kan du också öka CpuCount . Till exempel:

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

    Fortsätt med de återstående stegen som börjar med att skapa ett enda datorkluster. Anslut sedan AKS Edge Essentials-klustret till Arc.

  2. Sök efter och installera Local Path Provisioner Storage om det inte redan är installerat. Kontrollera om lagringsklassen lokal sökväg redan är tillgänglig på noden genom att köra följande cmdlet:

    kubectl get StorageClass
    

    Om lagringsklassen lokal sökväg inte är tillgänglig kör du följande kommando:

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

    Anmärkning

    Local-Path-Provisioner- och Busybox-avbildningar underhålls inte av Microsoft och hämtas från Rancher Labs-lagringsplatsen. LokalPath-Provisioner och BusyBox är endast tillgängliga som en Linux-containeravbildning.

    Om allt är korrekt konfigurerat bör du se följande utdata:

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

    Om du har flera diskar och vill omdirigera sökvägen använder du:

    kubectl edit configmap -n kube-system local-path-config
    
  3. Kör följande kommando för att avgöra om du anger fs.inotify.max_user_instances 1024:

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

    När du har kört det här kommandot kör du följande kommando för att öka det maximala antalet filer om det ger mindre än 1024:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
    

Förbereda Linux med Ubuntu

I det här avsnittet beskrivs hur du förbereder Linux med Ubuntu om du kör ett kluster med en nod eller två noder.

  1. Kör följande kommando för att avgöra om du anger fs.inotify.max_user_instances 1024:

    sysctl fs.inotify.max_user_instances
    

    Om resultatet efter att du har kört det här kommandot är mindre än 1024, kör följande kommando för att öka det maximala antalet filer och ladda om sysctl-inställningarna igen.

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    

Förbered Linux för integration med andra plattformar

Tillgängliga plattformsalternativ är produktionsliknande miljöer som Microsoft har verifierat. Dessa plattformar är inte nödvändigtvis de enda miljöer där Azure Container Storage som aktiveras av Azure Arc kan köras. Azure Container Storage kan köras på alla Azure Arc-aktiverade Kubernetes-kluster som uppfyller systemkraven för Azure Arc-aktiverade Kubernetes. Om du kör i en miljö som inte visas här är några förslag för att öka sannolikheten för en lyckad installation:

  1. Kör följande kommandon för att öka användarbevaknings- och instansgränserna:

    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
    
  2. Kör följande kommandon för att öka filbeskrivningsgränsen för bättre prestanda:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Kör följande kommando för att installera den lokala sökvägsetableren:

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

Nästa steg

Installera Azure Container Storage med stöd av Azure Arc Edge-volymer