Delen via


Linux voorbereiden voor Edge-volumes met behulp van een cluster met één knooppunt of twee knooppunten

In dit artikel wordt beschreven hoe u Linux voorbereidt met behulp van een cluster met één knooppunt of twee knooppunten en ervan uitgaat dat u aan de vereisten voldoet.

Linux voorbereiden met AKS ingeschakeld door Azure Arc

In deze sectie wordt beschreven hoe u Linux voorbereidt met AKS die is ingeschakeld door Azure Arc als u een cluster met één of twee knooppunten uitvoert.

  1. Installeer Open Service Mesh (OSM) met behulp van de volgende opdracht:

    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"
    

Linux voorbereiden met AKS Edge Essentials

In deze sectie wordt beschreven hoe u Linux voorbereidt met AKS Edge Essentials als u een cluster met één of twee knooppunten uitvoert.

  1. Voor Edge Essentials ter ondersteuning van Azure IoT Operations en Azure Container Storage die door Azure Arc zijn ingeschakeld, moeten de Kubernetes-hosts worden gewijzigd om meer geheugen te ondersteunen. U kunt op dit moment ook vCPU- en schijftoewijzingen verhogen als u verwacht dat er extra resources nodig zijn voor uw Kubernetes-gebruik.

    Volg eerst de instructiegids hier. De quickstart maakt gebruik van de standaardconfiguratie en moet worden vermeden.

    Volg stap 1: parameters voor configuratie van één computer. U hebt een bestand in uw werkmap met de naam aksedge-config.json. Open dit bestand in Kladblok of een andere teksteditor:

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

    Verhoog MemoryInMB tot ten minste 16384 en DataSizeInGB tot 40G. Ingesteld ServiceIPRangeSize op 15. Als u van plan bent om veel POD's uit te voeren, kunt u het CpuCount ook verhogen. Voorbeeld:

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

    Ga verder met de resterende stappen die beginnen met het maken van één computercluster. Verbind vervolgens uw AKS Edge Essentials-cluster met Arc.

  2. Controleer en installeer lokale padinrichtingsopslag als deze nog niet is geïnstalleerd. Controleer of de opslagklasse lokaal pad al beschikbaar is op uw knooppunt door de volgende cmdlet uit te voeren:

    kubectl get StorageClass
    

    Als de opslagklasse lokaal pad niet beschikbaar is, voert u de volgende opdracht uit:

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

    Notitie

    Local-Path-Provisioner - en Busybox-installatiekopieën worden niet onderhouden door Microsoft en worden opgehaald uit de Rancher Labs-opslagplaats. Local-Path-Provisioner en BusyBox zijn alleen beschikbaar als een Linux-containerinstallatiekopieën.

    Als alles correct is geconfigureerd, ziet u de volgende uitvoer:

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

    Als u meerdere schijven hebt en het pad wilt omleiden, gebruikt u:

    kubectl edit configmap -n kube-system local-path-config
    
  3. Voer de volgende opdracht uit om te bepalen of u instelt fs.inotify.max_user_instances op 1024:

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

    Nadat u deze opdracht hebt uitgevoerd en deze minder dan 1024 uitvoert, voert u de volgende opdracht uit om het maximum aantal bestanden te verhogen:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
    
  4. Installeer Open Service Mesh (OSM) met behulp van de volgende opdracht:

    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"
    

Linux voorbereiden met Ubuntu

In deze sectie wordt beschreven hoe u Linux voorbereidt met Ubuntu als u een cluster met één of twee knooppunten uitvoert.

  1. Installeer Open Service Mesh (OSM) met behulp van de volgende opdracht:

    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. Voer de volgende opdracht uit om te bepalen of u instelt fs.inotify.max_user_instances op 1024:

    sysctl fs.inotify.max_user_instances
    

    Nadat u deze opdracht hebt uitgevoerd en deze minder dan 1024 uitvoert, voert u de volgende opdracht uit om het maximum aantal bestanden te verhogen en de sysctl-instellingen opnieuw te laden:

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

Linux voorbereiden met andere platforms

De beschikbare platformopties zijn productieachtige omgevingen die door Microsoft zijn gevalideerd. Deze platforms zijn niet noodzakelijkerwijs de enige omgevingen waarop Azure Container Storage is ingeschakeld door Azure Arc. Azure Container Storage waarvoor Azure Arc is ingeschakeld, kan worden uitgevoerd op elk Kubernetes-cluster met Arc dat voldoet aan de systeemvereisten voor Kubernetes met Azure Arc. Als u een omgeving uitvoert die niet wordt vermeld, kunt u een aantal suggesties doen om de kans op een geslaagde installatie te vergroten:

  1. Voer de volgende opdrachten uit om de limieten voor gebruikershorloge en exemplaren te verhogen:

    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. Voer de volgende opdrachten uit om de limiet voor bestandsdescriptor te verhogen voor betere prestaties:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Voer de volgende opdracht uit om de inrichting van het lokale pad te installeren:

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

Volgende stappen

Azure Container Storage installeren waarvoor Azure Arc is ingeschakeld