단일 노드 또는 2노드 클러스터를 사용하여 Edge 볼륨용 Linux 준비
이 문서에서는 단일 노드 또는 2노드 클러스터를 사용하여 Linux를 준비하는 방법을 설명하고 필수 구성 요소를 충족했다고 가정합니다.
Azure Arc에서 사용하도록 설정된 AKS를 사용하여 Linux 준비
이 섹션에서는 단일 노드 또는 2노드 클러스터를 실행하는 경우 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 준비
이 섹션에서는 단일 노드 또는 2노드 클러스터를 실행하는 경우 AKS 엣지에센셜을 통해 Linux를 준비하는 방법을 설명합니다.
엣지에센셜이 Azure Arc에서 지원하는 Azure IoT 작업 및 Azure 컨테이너 스토리지를 지원하려면 Kubernetes 호스트를 수정하여 더 많은 메모리를 지원해야 합니다. Kubernetes 사용 시 추가 리소스가 필요한 경우 현재 vCPU 및 디스크 할당을 늘릴 수도 있습니다.
여기에서 방법 가이드를 따라 시작합니다. 빠른 시작은 기본 구성을 사용하므로 피해야 합니다.
1단계: 단일 컴퓨터 구성 매개 변수에 따라 작업 디렉터리에 aksedge-config.json이라는 파일이 있습니다. 메모장 또는 다른 텍스트 편집기에서 이 파일을 엽니다.
"SchemaVersion": "1.11", "Version": "1.0", "DeploymentType": "SingleMachineCluster", "Init": { "ServiceIPRangeSize": 0 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 4096, "DataSizeInGB": 10, } } ]
MemoryInMB
를 최소 16384로 늘리고DataSizeInGB
를 40G로 늘립니다.ServiceIPRangeSize
를 15로 설정합니다. 많은 POD를 실행하려는 경우CpuCount
를 늘릴 수도 있습니다. 예시:"Init": { "ServiceIPRangeSize": 15 }, "Machines": [ { "LinuxNode": { "CpuCount": 4, "MemoryInMB": 16384, "DataSizeInGB": 40, } } ]
단일 컴퓨터 클러스터 만들기로 시작하는 나머지 단계를 계속합니다. 다음으로 AKS 엣지에센셜 클러스터를 Arc에 연결합니다.
아직 설치되지 않은 경우 로컬 경로 프로비전 프로그램 스토리지를 확인하고 설치합니다. 다음 cmdlet을 실행하여 노드에서 로컬 경로 스토리지 클래스를 사용할 수 있는지 확인합니다.
kubectl get StorageClass
로컬 경로 스토리지 클래스를 사용할 수 없는 경우 다음 명령을 실행합니다.
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
참고 항목
Local-Path-Provisioner 및 Busybox 이미지는 Microsoft에서 유지 관리되지 않으며 Rancher Labs 리포지토리에서 가져옵니다. Local-Path-Provisioner 및 BusyBox는 Linux 컨테이너 이미지로만 사용할 수 있습니다.
모든 것이 올바르게 구성되면 다음 출력이 확인됩니다.
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 21h
디스크가 여러 개 있고 경로를 리디렉션하려는 경우 다음을 사용합니다.
kubectl edit configmap -n kube-system local-path-config
다음 명령을 실행하여
fs.inotify.max_user_instances
를 1024로 설정했는지 확인합니다.Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "sysctl fs.inotify.max_user_instances
이 명령을 실행한 후 출력이 1024보다 작은 경우 다음 명령을 실행하여 최대 파일 수를 늘립니다.
Invoke-AksEdgeNodeCommand -NodeType "Linux" -Command "echo 'fs.inotify.max_user_instances = 1024' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
다음 명령을 사용하여 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"
Ubuntu를 사용하여 Linux 준비
이 섹션에서는 단일 노드 또는 2노드 클러스터를 실행하는 경우 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"
다음 명령을 실행하여
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
다른 플랫폼을 사용하여 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
다음 명령을 실행하여 로컬 경로 프로비저닝자를 설치합니다.
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml