Azure Kubernetes Service를 사용한 Windows 컨테이너 네트워킹

완료됨

AKS(Azure Kubernetes Service)는 호스트된 Kubernetes 환경을 관리하므로 Azure에서 컨테이너화된 애플리케이션을 쉽게 배포하고 관리할 수 있습니다. AKS 환경에는 자동화된 업데이트, 자동 복구 및 빠른 크기 조정과 같은 기능이 있습니다. 클러스터에서 에이전트 노드를 관리하고 노드를 실행하는 가상 머신에 대해서만 비용을 지불합니다.

다음은 Windows 컨테이너 네트워킹에 AKS를 사용할 때의 몇 가지 이점입니다.

  • AKS는 Docker 이미지 파일 형식을 구현합니다. 모든 개발 환경을 사용하여 워크로드를 만들고, 워크로드를 컨테이너로 패키지하고, 컨테이너를 Kubernetes Pod로 배포할 수 있습니다.
  • AKS는 Helm, Draft, Visual Studio Code용 Kubernetes 확장 및 Visual Studio Kubernetes Tools와 같은 일반적인 개발 및 관리 도구에서 작동합니다.
  • AKS는 애플리케이션에 대한 DevOps 파이프라인 설정을 간소화하기 위해 Azure DevOps Projects와의 통합을 지원합니다.

AKS 및 Windows 컨테이너

단일 호스트 또는 개발 환경에서 표준 컨테이너 관리 런타임은 개별 컨테이너를 관리하는 데 중점을 줍니다. 경우에 따라 구성의 크기를 조정하고 함께 작동하는 여러 컨테이너를 만들어야 합니다. 컨테이너 관리 측면에서는 여러 컨테이너의 크기를 조정하는 것이 더 어렵습니다. 부하 분산, 보안, 네트워크 연결 및 배포를 해결해야 합니다. 이 프로세스를 보다 쉽게 수행할 수 있도록 Kubernetes와 같은 컨테이너 관리 플랫폼을 사용하는 것이 일반적입니다.

AKS는 컨테이너화된 애플리케이션을 간단하게 개발, 배포 및 관리할 수 있는 컨테이너 오케스트레이션 플랫폼입니다. AKS를 사용하여 Azure에서 호스트된 Kubernetes 환경을 관리할 수 있습니다. AKS는 설치 프로세스를 간소화하고 대부분의 기본 클러스터 관리 작업을 처리합니다. AKS는 Azure의 일부이며 다른 Azure 서비스와 통합되어 제품을 확장하거나 다른 서비스와 데이터를 교환할 수 있습니다.

Important

AKS에 Windows Server 컨테이너를 배포하려면 구성이 다음 요구 사항을 충족해야 합니다.

  • Kubernetes 클러스터에 Azure CNI 네트워크 플러그 인을 사용합니다.
  • Windows 노드에 Windows Server 2019 이상을 사용합니다. 이전 버전의 Windows Server는 Azure CNI에 필요한 오버레이 네트워크를 지원하지 않습니다.
  • Kubernetes 버전 1.14 이상을 사용합니다. 이전 버전의 Kubernetes는 Windows 노드 또는 Pod를 지원하지 않습니다.

AKS 및 네트워킹

AKS에서 Azure CNI(Azure Container Networking Interface) 네트워킹을 사용하는 Windows 컨테이너 클러스터를 배포할 수 있습니다. 이 모델에서 Pod는 Pod에서 Pod로, 가상 머신에 Pod로, 동일한 가상 네트워크 또는 피어된 가상 네트워크에서 전체 가상 네트워크 연결을 받습니다. Pod는 연결된 네트워크의 개인 IP 주소를 통해 액세스할 수 있습니다.

Azure CNI는 Windows 노드 풀을 지원합니다. 클러스터는 기존 또는 새 가상 네트워크에 배포할 수 있습니다. 온-프레미스 액세스는 VPN 또는 Azure Express Route를 사용하여 지원됩니다. 부하 분산 장치 서비스, Azure 앱 게이트웨이 또는 수신 컨트롤러를 통해 Kubernetes 서비스를 노출할 수 있습니다.

네트워크 정책을 사용하여 트래픽 제어

AKS를 사용하는 Windows 컨테이너의 모범 사례는 네트워크 정책을 사용하여 Pod에 대한 트래픽을 허용하거나 거부하는 것입니다. 기본적으로 클러스터 내의 Pod 간에 모든 트래픽이 허용됩니다. 보안 향상을 위해 Pod 통신을 제한하는 규칙을 정의할 수 있습니다.

네트워크 정책은 Pod 간의 트래픽 흐름을 제어할 수 있는 AKS에서 사용할 수 있는 Kubernetes 기능입니다. 할당된 레이블, 네임스페이스 또는 트래픽 포트와 같은 설정에 따라 Pod에 대한 트래픽을 허용하거나 거부합니다. 네트워크 정책은 Pod에 대한 트래픽 흐름을 제어하는 클라우드 네이티브 방법입니다. Pod는 AKS 클러스터에서 동적으로 생성되므로 필요한 네트워크 정책을 자동으로 적용할 수 있습니다.

AKS 고려 사항

AKS는 Pod to Pod 네트워크 통신 또는 Windows 클러스터의 온-프레미스 네트워크에 대한 액세스가 필요한 가상 네트워크 구성을 지원합니다. Windows AKS 클러스터를 기존 가상 네트워크에 쉽게 배포할 수 있습니다.

Windows 컨테이너 네트워킹을 계획할 때 고려해야 할 AKS의 몇 가지 기능은 다음과 같습니다.

기능 고려 사항 솔루션
Docker 이미지 지원 컨테이너에 Docker 이미지 사용 기본적으로 AKS는 Docker 파일 이미지 형식을 지원합니다.
가상 네트워크 지원 Pod 간 네트워크 통신 지원, AKS 클러스터에서 온-프레미스 네트워크에 액세스 AKS 클러스터는 기존 가상 네트워크로 쉽게 배포될 수 있습니다.
HTTP 애플리케이션 라우팅 지원을 사용하여 수신 배포된 애플리케이션을 공개적으로 사용할 수 있도록 만들기 HTTP 애플리케이션 라우팅 추가 기능을 사용하면 AKS 클러스터 배포된 애플리케이션에 쉽게 액세스할 수 있습니다.
자동 클러스터 노드 및 Pod 크기 조정 대규모 컨테이너화 환경에서 리소스 확장 또는 축소, 크기 조정 AKS는 클러스터에 대한 간편한 크기 조정을 지원하고 대규모 환경에 대해 두 가지 자동 클러스터 크기 조정 옵션을 제공합니다.
- 수평 Pod 자동 크기 조정기는 Pod의 리소스 수요를 감시하고 수요를 충족하기 위해 Pod를 증가합니다.
- 클러스터 자동 크기 조정기 구성 요소는 노드 제약 조건으로 인해 예약할 수 없는 Pod를 감시합니다. 예약된 Pod를 배포하기 위해 클러스터 노드를 자동으로 크기 조정합니다.
통합된 로깅 및 모니터링 컨테이너, Pod 및 클러스터 모니터링 AKS에는 클러스터의 성능 가시성을 제공하는 컨테이너용 Azure Monitor가 포함되어 있습니다. 사용자 지정 Kubernetes 설치를 사용하여 Azure Monitor를 사용하거나 Azure Log Analytics 또는 Azure 애플리케이션 Insights를 설치 및 구성합니다.
고가용성 고가용성 및 내결함성 보장 AKS를 사용하면 가용성 영역 및 지역에 노드를 분산하여 Windows 클러스터에 대한 고가용성 및 내결함성을 달성할 수 있습니다.
보안 통합 Windows 클러스터 및 애플리케이션 보호 AKS는 Microsoft Entra ID(이전 의 Azure Active Directory), Azure Key Vault, Azure Policy 및 Azure Security Center와 통합됩니다.