Delen via


Linux voorbereiden op cachevolumes 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 door Azure Arc is ingeschakeld als u een cluster met één knooppunt of twee knooppunten uitvoert.

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

    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. Schakel ACStor uit door een bestand met de naam config.json te maken met de volgende inhoud:

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

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"
    
  1. Schakel ACStor uit door een bestand met de naam config.json te maken met de volgende inhoud:

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

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
    
  1. Schakel ACStor uit door een bestand met de naam config.json te maken met de volgende inhoud:

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

Volgende stappen

Azure Container Storage installeren waarvoor Azure Arc is ingeschakeld