Edge 볼륨용 Linux 준비
이 문서에서는 Azure Arc, Edge Essentials 또는 Ubuntu에서 사용 가능한 AKS를 통해 Linux를 준비하는 방법을 알아봅니다.
참고 항목
지원되는 최소 Linux 커널 버전은 5.1입니다. 현재 6.4 및 6.2에는 알려진 문제가 있습니다.
필수 조건
참고 항목
Azure Arc에서 사용 가능한 Azure 컨테이너 스토리지는 미국 동부, 미국 동부 2, 미국 서부, 미국 서부 2, 미국 서부 3, 북유럽, 서유럽 지역에서만 이용할 수 있습니다.
Azure Arc 확장에서 사용 가능한 Azure 컨테이너 스토리지의 이전 인스턴스 제거
2.1.0 미리 보기 이전 버전의 Azure Arc에서 사용 가능한 Azure 컨테이너 스토리지 버전을 설치한 경우 최신 버전을 설치하려면 이전 인스턴스를 제거해야 합니다. 1.2.0 미리 보기 릴리스 이전 버전을 설치한 경우 다음 지침을 따릅니다. 2.1.0 미리 보기 이후 버전은 업그레이드할 수 있으며 이 지침을 따라 제거하지 않아도 됩니다.
이전 확장 버전을 삭제하려면 이전 확장 버전에 대한 참조를 포함하는 Kubernetes 리소스를 정리해야 합니다. 보류 중인 리소스가 있다면 확장 정리가 지연될 수 있습니다. 이러한 리소스를 정리하는 방법에는 적어도 두 가지가 있습니다. 첫째는
kubectl delete <resource_type> <resource_name>
을 사용하는 것이고, 둘째는 리소스를 만드는 데 사용된 YAML 파일을 "적용 취소"하는 것입니다. 삭제해야 하는 리소스는 일반적으로 Pod, 참조된 PVC 및 하위 볼륨 CRD(Cloud Ingest Edge 볼륨이 구성된 경우)입니다. 또는 다음 4개의 YAML 파일을 지정된 순서로 다음 명령을 사용하여kubectl delete -f
로 전달할 수 있습니다. 이러한 변수는 사용자의 정보로 업데이트해야 합니다.YOUR_DEPLOYMENT_FILE_NAME_HERE
: 배포 파일 이름을 추가합니다. 이 문서의 예제에서 사용된 파일 이름은deploymentExample.yaml
입니다. 여러 배포를 만든 경우 각 배포를 별도의 줄에서 삭제해야 합니다.YOUR_PVC_FILE_NAME_HERE
: 영구 볼륨 클레임 파일 이름을 추가합니다. Cloud Ingest Edge 볼륨을 사용한 경우, 이 문서의 예제에서 사용된 파일 이름은cloudIngestPVC.yaml
입니다. 로컬 공유 Edge 볼륨을 사용한 경우, 사용된 파일 이름은localSharedPVC.yaml
입니다. 여러 PVC를 만든 경우 각 PVC를 별도의 줄에서 삭제해야 합니다.YOUR_EDGE_SUBVOLUME_FILE_NAME_HERE
: Edge 하위 볼륨 파일 이름을 추가합니다. 이 문서의 예제에서 사용된 파일 이름은edgeSubvolume.yaml
입니다. 여러 하위 볼륨을 만든 경우 각 볼륨을 별도의 줄에서 삭제해야 합니다.YOUR_EDGE_STORAGE_CONFIGURATION_FILE_NAME_HERE
: 여기에 Edge 스토리지 구성 파일 이름을 추가합니다. 이 문서의 예제에서 사용된 파일 이름은edgeConfig.yaml
입니다.
kubectl delete -f "<YOUR_DEPLOYMENT_FILE_NAME_HERE.yaml>" kubectl delete -f "<YOUR_PVC_FILE_NAME_HERE.yaml>" kubectl delete -f "<YOUR_EDGE_SUBVOLUME_FILE_NAME_HERE.yaml>" kubectl delete -f "<YOUR_EDGE_STORAGE_CONFIGURATION_FILE_NAME_HERE.yaml>"
이전 단계에서 배포, PVC, Edge 하위 볼륨 및 Edge 스토리지 구성에 대한 파일을 삭제했다면 다음 명령을 사용하여 확장을 제거할 수 있습니다.
YOUR_RESOURCE_GROUP_NAME_HERE
,YOUR_CLUSTER_NAME_HERE
및YOUR_EXTENSION_NAME_HERE
을 해당 정보로 바꿉니다.az k8s-extension delete --resource-group YOUR_RESOURCE_GROUP_NAME_HERE --cluster-name YOUR_CLUSTER_NAME_HERE --cluster-type connectedClusters --name YOUR_EXTENSION_NAME_HERE
Arc 연결 Kubernetes 클러스터
이러한 지침에서는 Arc 연결 Kubernetes 클러스터가 이미 있다고 가정합니다. 기존 Kubernetes 클러스터를 Azure Arc에 연결하려면 관련 지침을 참조하세요.
Azure IoT 작업에서 Azure Arc에서 사용 가능한 Azure 컨테이너 스토리지를 이용하려면 지침을 따라 Azure IoT 작업용 클러스터를 만듭니다.
단일 노드 및 다중 노드 클러스터
단일 노드 클러스터는 설정의 단순성과 최소한의 리소스 요구 사항으로 인해 대개 개발 또는 테스트 목적으로 사용됩니다. 이러한 클러스터는 개발자가 다중 노드를 설정하는 복잡성 없이 Kubernetes를 실험할 수 있는 간단하고 간단한 환경을 제공합니다. 또한 CPU, 메모리 및 스토리지와 같은 리소스가 제한된 경우에는 단일 노드 클러스터가 더 실용적입니다. 설정이 간편하고 리소스 요구 사항이 최소화되어 리소스가 제한된 환경에서 적합합니다.
그러나 단일 노드 클러스터에는 고가용성, 내결함성, 확장성 및 성능 부족 등 대부분 기능이 누락되는 형태의 한계가 있습니다.
다중 노드 Kubernetes 구성은 일반적으로 고가용성, 내결함성, 확장성, 성능을 비롯한 기능 덕분에 프로덕션, 스테이징 또는 대규모 시나리오에 사용됩니다. 또한 다중 노드 클러스터는 복잡성, 오버헤드, 비용, 효율성 고려 사항 등 여러 가지 문제와 장단점을 안고 있습니다. 예를 들어 다중 노드 클러스터를 설정하고 유지 관리하려면 추가적인 지식, 기술, 도구 및 리소스(네트워크, 스토리지, 컴퓨팅)가 필요합니다. 클러스터는 노드 간의 조정 및 통신을 처리해야 하므로 잠재적인 대기 시간 및 오류가 발생합니다. 또한 다중 노드 클러스터를 실행하는 것은 단일 노드 클러스터보다 리소스 집약적이며 비용도 더 많이 듭니다. 클러스터 및 애플리케이션의 효율성과 성능을 유지하려면 노드 간 리소스 사용량을 최적화하는 것이 중요합니다.
요약하자면 단일 노드 Kubernetes 클러스터는 개발, 테스트 및 리소스 제한 환경에 적합할 수 있습니다. 다중 노드 클러스터 는 프로덕션 배포, 고가용성, 확장성 및 분산 애플리케이션이 필요한 시나리오에 더 적합합니다. 이 선택은 궁극적으로 배포에 대한 특정 요구 사항 및 목표에 따라 달라집니다.
최소 하드웨어 요구 사항
단일 노드 또는 2노드 클러스터
- Standard_D8ds_v5 VM 권장
- 노드당 해당 사양:
- CPU 4개
- 16GB RAM
다중 노드 클러스터
- Standard_D8as_v5 VM 권장
- 노드당 해당 사양:
- CPU 8개
- 32GB RAM
32GB RAM은 버퍼 역할을 하지만, 16GB RAM으로도 충분합니다. 엣지에센셜 구성에는 노드당 10GB RAM이 있는 CPU 8개가 필요하므로 최소 요구 사항은 16GB RAM입니다.
최소 스토리지 요구 사항
Edge 볼륨 요구 사항
내결함성 스토리지 옵션을 사용하는 경우 Edge 볼륨은 클러스터의 각 노드에서 내보낸 스토리지로 구성된 내결함성 스토리지 풀에서 디스크 공간을 할당합니다.
스토리지 풀은 내결함성을 보장하기 위해 3방향 복제를 사용하도록 구성됩니다. Edge 볼륨이 프로비전되면 스토리지 풀에서 디스크 공간을 할당하고 3개의 복제본에 스토리지를 할당합니다.
예를 들어 노드당 디스크 공간이 20GB인 3노드 클러스터에는 60GB의 스토리지 풀이 있습니다. 그러나 복제로 인해 유효 스토리지 크기는 20GB입니다.
Edge 볼륨이 요청된 크기인 10GB로 프로비전되면 예약된 시스템 볼륨(크기가 정적으로 1GB로 조정됨)과 데이터 볼륨(요청된 볼륨 크기(예: 10GB)로 조정됨)을 할당합니다. 예약된 시스템 볼륨은 스토리지 풀에서 3GB(3 x 1GB)의 디스크 공간을 사용하고, 데이터 볼륨은 총 33GB의 스토리지 풀에 30GB(3 x 10GB)의 디스크 공간을 사용합니다.
캐시 볼륨 요구 사항
캐시 볼륨에는 스토리지 노드당 최소 4GB가 필요합니다. 예를 들어 3노드 클러스터가 있는 경우 최소 12GB의 스토리지가 필요합니다.