다중 노드 클러스터를 사용하여 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를 준비하는 방법을 설명합니다.
클러스터의 각 노드에서 다음 명령을 사용하여 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'
클러스터의 각 노드에서 다음을 사용하여 커널에 필요한 NVME over TCP 모듈을 설치합니다.
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'sudo apt install linux-modules-extra-`uname -r`'
참고 항목
지원되는 최소 버전은 5.1입니다. 현재 6.4 및 6.2에는 알려진 문제가 있습니다.
클러스터의 각 노드에서 다음 명령을 사용하여 최대 파일 수를 512로 늘립니다.
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command 'echo -e "LimitNOFILE=1048576" | sudo tee -a /etc/systemd/system/containerd.service.d/override.conf'
다음 명령을 사용하여 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 클러스터의 각 노드에 대해 다음 단계를 완료해야 합니다.
다음 명령을 실행하여
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
다음을 사용하여 커널에 필요한 NVME over TCP 모듈을 설치합니다.
sudo apt install linux-modules-extra-`uname -r`
참고 항목
지원되는 최소 버전은 5.1입니다. 현재 6.4 및 6.2에는 알려진 문제가 있습니다.
다음 명령을 사용하여 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
다음 명령을 사용하여 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 클러스터에서 실행할 수 있습니다. 나열되지 않은 환경에서 실행하는 경우 설치 성공 가능성을 높이기 위한 몇 가지 제안 사항은 다음과 같습니다.
다음 명령을 실행하여 사용자 감시 및 인스턴스 제한을 늘입니다.
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
성능 향상을 위해 파일 설명자 제한을 늘리려면 다음 명령을 실행합니다.
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
다음 명령을 실행하여 커널에 필요한 NVME over TCP 모듈을 설치합니다.
sudo apt install linux-modules-extra-`uname -r`
다음 명령을 실행하여 수를
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