에지 컴퓨팅 옵션에서 Kubernetes 선택
이 아티클에서는 에지에서 컴퓨팅을 확장하는 데 사용할 수 있는 다양한 옵션의 장단점을 설명합니다. 각 Kubernetes 옵션에 대한 다음 고려 사항을 다룹니다.
운영 비용. Kubernetes 클러스터를 유지 관리하고 운영하는 데 필요한 예상 노동력입니다.
구성 용이성. Kubernetes 클러스터를 구성하고 배포하기 위한 난이도입니다.
유연성. 에지의 기존 인프라에 사용자 지정된 구성을 통합하기 위한 Kubernetes 옵션 적응성입니다.
혼합 노드. Linux 및 Windows 노드를 모두 사용하여 Kubernetes 클러스터를 실행하는 기능입니다.
가정
여러분은 에지에서 Kubernetes를 실행하고 Azure에서 클러스터를 관리하기 위한 다양한 옵션을 이해하려는 클러스터 운영자입니다.
스토리지 및 네트워킹 요구 사항을 포함하는 기존 인프라 및 기타 인프라 요구 사항을 잘 이해하고 있습니다.
이 문서를 읽은 후에는 시나리오 및 필요한 환경에 가장 적합한 옵션을 식별할 수 있게 될 것입니다.
Kubernetes 선택 사항 한눈에 보기
운영 비용 | 구성 용이성 | 유연성 | 혼합 노드 | 요약 | |
---|---|---|---|---|---|
운영 체제 미설치 Kubernetes | 높음** | 어려움** | 높음** | 예 | 추가된 Azure 기능에 Azure Arc를 사용하기 위한 옵션이 있는 모든 사용 가능한 현장 인프라에 대한 기본 구성입니다. |
Azure Stack Edge Pro 상의 K8s | 낮음 | 쉬움 | 낮음 | Linux만 | 현장에 배포된 Azure Stack Edge 어플라이언스에 배포된 Kubernetes입니다. |
AKS 하이브리드 | 낮음 | 쉬움 | 중간 | 예 | Azure Stack HCI 또는 Windows Server 2019에 배포된 AKS입니다. |
*다른 관리형 에지 플랫폼(OpenShift, Tanzu 등)은 이 문서에서 다루지 않습니다.
**이러한 값은 단순성을 위해 kubeadm 사용에 기반합니다. 에지에서 운영 체제 미설치 Kubernetes를 실행하기 위한 다양한 옵션은 이들 범주의 평가를 바꿔줍니다.
운영 체제 미설치 Kubernetes
모든 기본 인프라에서 kubeadm과 같은 도구를 사용한 Kubernetes의 기본 구성입니다.
운영 체제 미설치 Kubernetes의 가장 큰 제약 조건은 조직의 특정 필요 및 요구 사항에 관한 것입니다. 배포, 네트워킹 인터페이스 및 플러그인을 사용할 수 있는 기회는 복잡성과 운영 비용이 더 높다는 것을 의미합니다. 그러나 클러스터를 사용자 지정하기 위한 가장 유연한 옵션을 제공합니다.
시나리오
에지 위치에는 이 문서에 설명된 다른 Azure 솔루션과 부합하지 않는 Kubernetes 클러스터를 실행하기 위한 특정 요구 사항이 있는 경우가 많습니다. 이 옵션은 지원되지 않는 기존 인프라로 인해 관리되는 서비스를 사용할 수 없거나 클러스터를 최대한 제어하려는 사용자에게 일반적으로 가장 적합합니다.
이 옵션은 Kubernetes를 처음 접하는 사용자에게 특히 어려울 수 있습니다. 이는 에지 클러스터를 실행하려는 조직에서 드문 일이 아닙니다. MicroK8s 또는 k3s와 같은 옵션은 학습 곡선을 평면화하는 것을 목표로 합니다.
기본 인프라와 미리 수행될 것으로 예상되는 모든 통합을 이해하는 것이 중요합니다. 이러한 이해는 실행 가능한 옵션의 범위를 좁히고 오픈 소스 도구 및/또는 플러그인과의 격차를 식별하는 데 도움이 됩니다.
Azure Arc를 사용하여 클러스터를 사용하도록 설정하면 다른 리소스와 함께 Azure에서 클러스터를 관리하는 간단한 방법이 제공됩니다. 또한, Azure Policy, Azure Monitor, 클라우드용 Microsoft Defender 및 기타 서비스를 비롯한 다른 Azure 기능이 클러스터에 제공됩니다.
클러스터 구성은 간단하지 않으므로 CI/CD를 염두에 두는 것이 특히 중요합니다. 다양한 플러그인의 업스트림 변경 내용을 추적하고 조치를 수행하고 이러한 변경 내용이 클러스터의 상태에 영향을 주지 않도록 하는 것은 직접적인 책임이 됩니다. 강력한 CI/CD 솔루션, 엄격한 테스트 및 모니터링을 구현하는 것이 중요합니다.
도구 옵션
클러스터 부트스트랩
kubeadm: 기본 Kubernetes 클러스터를 만들기 위한 Kubernetes 도구입니다. 표준 컴퓨팅 리소스(Linux/Windows)에 적합합니다.
MicroK8s: Canonical이 제공하는 호환 Kubernetes로 단순한 관리 및 구성("LowOps")을 제공합니다.
k3s: IoT(사물 인터넷) 및 에지 컴퓨팅용으로 빌드된 인증된 Kubernetes 배포입니다.
스토리지:
- 사용 가능한 CSI 드라이버 살펴보기: 클라우드에서 로컬 파일 공유에 이르는 요구 사항에 맞는 다양한 옵션이 제공됩니다.
네트워킹:
- 사용 가능한 추가 항목의 전체 목록은 네트워킹 추가 항목에서 찾을 수 있습니다. 몇 가지 인기 있는 옵션으로는 단순한 오버레이 네트워크인 Flannel과 전체 네트워킹 스택을 제공하는 Calico가 있습니다.
고려 사항
운영 비용:
- 관리되는 서비스와 함께 제공되는 지원이 없으면 클러스터를 전체적으로 유지 관리하고 운영해야 합니다(스토리지, 네트워킹, 업그레이드, 가시성, 애플리케이션 관리). 운영 비용은 높은 것으로 간주됩니다.
구성 용이성:
- 네트워킹, 스토리지 또는 모니터링 옵션이 불가피하고 복잡해질 수 있는지에 관계없이 구성의 모든 단계에서 많은 오픈 소스 옵션을 평가합니다. 클러스터 구성을 위해 CI/CD를 구성하려면 더 많은 고려 사항이 필요합니다. 이러한 문제 때문에 구성 용이성이 어려운 것으로 간주됩니다.
유연성:
- 공급자 제한 없이 오픈 소스 도구 또는 플러그인을 사용할 수 있으므로 운영 체제 미설치 Kubernetes는 매우 유연합니다.
Azure Stack Edge의 Kubernetes
Azure Stack Edge Pro 디바이스에서 구성 및 배포된 Kubernetes 클러스터(마스터 VM 및 작업자 VM)입니다.
Azure Stack Edge Pro 디바이스는 컴퓨팅, 스토리지, 네트워킹 및 하드웨어 가속 기계 학습(ML) 등의 Azure 기능을 모든 에지 위치에 제공합니다. Pro-GPU, Pro-R 및 Mini-R 디바이스에서 컴퓨팅 역할을 사용하도록 설정하면 Kubernetes 클러스터를 만들 수 있습니다. 디바이스에 사용할 수 있는 표준 업데이트를 사용하여 Kubernetes 클러스터의 업그레이드를 관리할 수 있습니다.
시나리오
기존(Linux) IoT 워크로드를 사용하거나 에지에서 ML을 위한 컴퓨팅을 업그레이드하는 데 적합합니다. 클러스터를 더 세부적으로 컨트롤할 필요가 없는 경우에 좋은 옵션입니다.
관리 권한은 기본적으로 부여되지 않습니다. 제품 그룹과 협력하여 특정 예외를 만들 수 있지만 그러면 클러스터를 더 세밀하게 제어하기 어려워집니다.
Azure Stack Edge 디바이스가 아직 없는 경우 추가 비용이 발생합니다. Azure Stack Edge 디바이스를 살펴보고 컴퓨팅 요구 사항에 맞는 디바이스가 있는지 확인하세요.
현재는 Linux 워크로드만 지원됩니다.
Kubernetes 외에도 Azure Stack Edge에는 IoT 런타임이 함께 제공됩니다. 즉, 워크로드가 IoT Edge를 통해 Azure Stack Edge 클러스터에 배포될 수도 있습니다.
두 개의 노드 클러스터에 대한 지원은 현재 제공되지 않습니다. 이는 사실상 이 옵션이 고가용성(HA) 솔루션이 아님을 의미합니다.
고려 사항
운영 비용:
- 디바이스와 함께 제공되는 지원을 통해 운영 비용이 최소화되며 워크로드 관리로 범위가 지정됩니다.
구성 용이성:
- 미리 구성되고 잘 문서화된 Kubernetes 클러스터 배포는 운영 체제 미설치 Kubernetes에 비해 필요한 구성을 간소화합니다.
유연성:
- 구성이 이미 설정되어 있으며 관리 권한은 기본적으로 부여되지 않습니다. 기본 구성 외에 제품 그룹 참여가 필요할 수 있으며 기본 인프라가 Azure Stack Edge Pro 디바이스여야 하므로 덜 유연한 옵션입니다.
AKS 하이브리드
AKS 하이브리드는 Windows Server 또는 Azure Stack HCI 20H2 이상을 실행하는 다중 노드 클러스터에 하나 이상의 Kubernetes 클러스터(Windows Admin Center 또는 PowerShell 모듈 포함)를 배포하는 데 사용되는 미리 정의된 설정 및 구성의 집합입니다.
시나리오
호환되는 디바이스(Azure Stack HCI 또는 Windows Server)에서 Microsoft 지원 클러스터를 가져오는 단순화 및 간소화된 방법을 원하는 사용자에게 이상적입니다. 운영 체제 미설치 Kubernetes 옵션과 비교하면 유연성을 희생하는 대가로 운영 및 구성 복잡성이 감소합니다.
고려 사항
운영 비용:
- Microsoft 지원 클러스터는 운영 비용을 최소화합니다.
구성 용이성:
- 미리 구성되고 잘 문서화된 Kubernetes 클러스터 배포는 운영 체제 미설치 Kubernetes에 비해 필요한 구성을 간소화합니다.
유연성:
- 클러스터 구성 자체는 설정되지만 관리 권한이 부여됩니다. 기본 인프라는 Azure Stack HCI 또는 Windows Server여야 합니다. 2019. 이 옵션은 Azure Stack Edge 상의 Kubernetes보다는 유연하며 운영 체제 미설치 Kubernetes보다는 유연성이 떨어집니다.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Prabhjot Kaur | 수석 클라우드 솔루션 설계자
비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.
다음 단계
자세한 내용은 다음 문서를 참조하세요.
IoT Edge 모듈을 사용하여 Azure Stack Edge Pro GPU 디바이스에서 Kubernetes 상태 비저장 애플리케이션 실행
Azure Stack Edge Pro GPU 디바이스에서 kubectl을 통해 Kubernetes 상태 비저장 애플리케이션 배포
Kubernetes 대시보드를 사용하여 Azure Stack Edge Pro GPU 디바이스를 모니터링합니다.