Udostępnij za pośrednictwem


Przygotowywanie woluminów usługi Microsoft Edge dla systemu Linux przy użyciu klastra z wieloma węzłami

W tym artykule opisano sposób przygotowywania systemu Linux przy użyciu klastra z wieloma węzłami i przyjęto założenie, że spełniono wymagania wstępne.

Przygotowywanie systemu Linux z usługą AKS włączoną przez usługę Azure Arc

Zainstaluj i skonfiguruj usługę Open Service Mesh (OSM) przy użyciu następujących poleceń:

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"

Przygotowywanie systemu Linux za pomocą usługi AKS Edge Essentials

W tej sekcji opisano sposób przygotowywania systemu Linux za pomocą usługi AKS Edge Essentials w przypadku uruchamiania klastra z wieloma węzłami.

  1. W każdym węźle w klastrze ustaw liczbę plików HugePages na 512 przy użyciu następującego polecenia:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo 512 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages'
    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo "vm.nr_hugepages=512" | sudo tee /etc/sysctl.d/99-hugepages.conf'
    
  2. Na każdym węźle w klastrze zainstaluj wymagany moduł NVME za pośrednictwem protokołu TCP dla jądra przy użyciu:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
    

    Uwaga

    Minimalna obsługiwana wersja to 5.1. Obecnie istnieją znane problemy z wersjami 6.4 i 6.2.

  3. W każdym węźle w klastrze zwiększ maksymalną liczbę plików przy użyciu następującego polecenia:

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  4. Zainstaluj i skonfiguruj usługę Open Service Mesh (OSM) przy użyciu następujących poleceń:

    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"
    
    kubectl patch meshconfig osm-mesh-config -n "arc-osm-system" -p '{"spec":{"featureFlags":{"enableWASMStats": false }, "traffic":{"outboundPortExclusionList":[443,2379,2380], "inboundPortExclusionList":[443,2379,2380]}}}' --type=merge
    

Przygotowywanie systemu Linux z systemem Ubuntu

W tej sekcji opisano sposób przygotowywania systemu Linux z systemem Ubuntu w przypadku uruchamiania klastra z wieloma węzłami.

Najpierw zainstaluj i skonfiguruj usługę Open Service Mesh (OSM) przy użyciu następującego polecenia:

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"

Następnie wykonaj następujące kroki w klastrze Kubernetes:

Ważne

Należy wykonać następujące kroki dla każdego węzła w klastrze Kubernetes.

  1. Uruchom następujące polecenie, aby określić, czy ustawiono wartość fs.inotify.max_user_instances 1024:

    sysctl fs.inotify.max_user_instances
    

    Po uruchomieniu tego polecenia, jeśli zwraca mniej niż 1024, uruchom następujące polecenie, aby zwiększyć maksymalną liczbę plików i ponownie załadować ustawienia sysctl :

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  2. Zainstaluj wymagany moduł NVME za pośrednictwem protokołu TCP dla jądra przy użyciu:

    sudo apt install linux-modules-extra-`uname -r`
    

    Uwaga

    Minimalna obsługiwana wersja to 5.1. Obecnie istnieją znane problemy z wersjami 6.4 i 6.2.

  3. Ustaw liczbę aplikacji HugePages na 512 przy użyciu następującego polecenia:

    HUGEPAGES_NR=512
    echo $HUGEPAGES_NR | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
    echo "vm.nr_hugepages=$HUGEPAGES_NR" | sudo tee /etc/sysctl.d/99-hugepages.conf
    
  4. Uruchom ponownie K3s przy użyciu następującego polecenia:

    sudo systemctl restart k3s || sudo systemctl restart k3s-agent
    

Przygotowywanie systemu Linux z innymi platformami

Dostępne opcje platformy to środowiska przypominające środowisko produkcyjne zweryfikowane przez firmę Microsoft. Te platformy nie muszą być jedynymi środowiskami, w których usługa Azure Container Storage włączona przez usługę Azure Arc może działać. Usługa Azure Container Storage włączona przez usługę Azure Arc może działać w dowolnym klastrze Kubernetes z obsługą usługi Arc, który spełnia wymagania systemowe platformy Kubernetes z obsługą usługi Azure Arc. Jeśli używasz środowiska, którego nie ma na liście, poniżej przedstawiono kilka sugestii, aby zwiększyć prawdopodobieństwo pomyślnej instalacji:

  1. Uruchom następujące polecenia, aby zwiększyć limity obserwowanych użytkowników i wystąpień:

    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. Uruchom następujące polecenia, aby zwiększyć limit deskryptora plików w celu uzyskania lepszej wydajności:

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. Uruchom następujące polecenie, aby zainstalować wymagany moduł NVME za pośrednictwem protokołu TCP dla jądra:

    sudo apt install linux-modules-extra-`uname -r`
    
  4. Uruchom następujące polecenie, aby ustawić liczbę HugePages na 512:

    HUGEPAGES_NR=512
    echo $HUGEPAGES_NR | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
    echo "vm.nr_hugepages=$HUGEPAGES_NR" | sudo tee /etc/sysctl.d/99-hugepages.conf
    

Następne kroki

Instalowanie rozszerzenia