다음을 통해 공유


다중 노드 클러스터를 사용하여 Edge 볼륨용 Linux 준비

이 문서에서는 다중 노드 클러스터를 사용하여 Linux를 준비하는 방법을 설명하고 필수 구성 요소를 충족했다고 가정합니다.

Azure Arc에서 사용하도록 설정된 AKS를 사용하여 Linux 준비

다음 명령을 사용하여 OSM(Open Service Mesh)을 설치 및 구성합니다.

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"

AKS 엣지에센셜을 사용하여 Linux 준비

이 섹션에서는 다중 노드 클러스터를 실행하는 경우 AKS 엣지에센셜을 통해 Linux를 준비하는 방법을 설명합니다.

  1. 클러스터의 각 노드에서 다음 명령을 사용하여 HugePages 수를 512로 설정합니다.

    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. 클러스터의 각 노드에서 다음을 사용하여 커널에 필요한 NVME over TCP 모듈을 설치합니다.

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

    참고 항목

    지원되는 최소 버전은 5.1입니다. 현재 6.4 및 6.2에는 알려진 문제가 있습니다.

  3. 클러스터의 각 노드에서 다음 명령을 사용하여 최대 파일 수를 512로 늘립니다.

    Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
    
  4. 다음 명령을 사용하여 OSM(Open Service Mesh)을 설치 및 구성합니다.

    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
    

Ubuntu를 사용하여 Linux 준비

이 섹션에서는 다중 노드 클러스터를 실행하는 경우 Ubuntu를 통해 Linux를 준비하는 방법을 설명합니다.

먼저, 다음 명령을 사용하여 OSM(Open Service Mesh)을 설치 및 구성합니다.

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"

그런 다음, Kubernetes 클러스터에서 다음 단계를 수행합니다.

Important

Kubernetes 클러스터의 각 노드에 대해 다음 단계를 완료해야 합니다.

  1. 다음 명령을 실행하여 fs.inotify.max_user_instances를 1024로 설정했는지 확인합니다.

    sysctl fs.inotify.max_user_instances
    

    이 명령을 실행한 후 출력이 1024보다 작은 경우 다음 명령을 실행하여 최대 파일 수를 늘리고 sysctl 설정을 다시 로드합니다.

    echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  2. 다음을 사용하여 커널에 필요한 NVME over TCP 모듈을 설치합니다.

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

    참고 항목

    지원되는 최소 버전은 5.1입니다. 현재 6.4 및 6.2에는 알려진 문제가 있습니다.

  3. 다음 명령을 사용하여 HugePages 수를 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
    
  4. 다음 명령을 사용하여 K3s를 다시 시작합니다.

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

다른 플랫폼을 사용하여 Linux 준비

사용 가능한 플랫폼 옵션은 Microsoft에서 유효성을 검사한 프로덕션과 유사한 환경입니다. 이러한 플랫폼이 반드시 Azure Arc에서 사용하도록 설정된 Azure Container Storage를 실행할 수 있는 유일한 환경은 아닙니다. Azure Arc에서 사용하도록 설정된 Azure Container Storage는 Azure Arc 지원 Kubernetes 시스템 요구 사항을 충족하는 Arc 지원 Kubernetes 클러스터에서 실행할 수 있습니다. 나열되지 않은 환경에서 실행하는 경우 설치 성공 가능성을 높이기 위한 몇 가지 제안 사항은 다음과 같습니다.

  1. 다음 명령을 실행하여 사용자 감시 및 인스턴스 제한을 늘입니다.

    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. 성능 향상을 위해 파일 설명자 제한을 늘리려면 다음 명령을 실행합니다.

    echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p
    
  3. 다음 명령을 실행하여 커널에 필요한 NVME over TCP 모듈을 설치합니다.

    sudo apt install linux-modules-extra-`uname -r`
    
  4. 다음 명령을 실행하여 수를 HugePages 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
    

다음 단계

확장 설치