다음을 통해 공유


AKS(Azure Kubernetes Service)의 Windows 컨테이너에 대한 모범 사례

AKS에서는 Linux 또는 Windows Server를 노드의 OS(운영 체제)로 실행하는 노드 풀을 만들 수 있습니다. Windows Server 노드는 .NET Framework와 같은 네이티브 Windows 컨테이너 애플리케이션을 실행할 수 있습니다. Linux OS와 Windows OS는 컨테이너 지원 및 구성 고려 사항이 다릅니다. 자세한 내용은 Kubernetes의 Windows 컨테이너 고려 사항을 참조하세요. 다양한 업계에서 AKS에서 Windows 컨테이너를 어떻게 사용하고 있는지 자세히 알아보려면 Windows AKS 고객 사례를 참조하세요.

이 문서에서는 AKS에서 Windows 컨테이너를 실행하기 위한 모범 사례를 간략하게 설명합니다.

Linux 및 Windows 노드 풀을 사용하여 AKS 클러스터 만들기

새 AKS 클러스터를 만들면 Azure 플랫폼은 기본적으로 Linux 노드 풀을 만듭니다. 이 노드 풀에는 클러스터가 작동하는 데 필요한 시스템 서비스가 포함되어 있습니다. 또한 Azure는 사용자로부터 추상화된 컨트롤 플레인을 만들고 관리합니다. 즉, 기본 컨트롤 플레인 구성 요소를 호스팅하는 노드의 기본 OS에 노출되지 않습니다. 클러스터의 안정성과 성능을 보장하려면 기본 Linux 노드 풀에서 최소 2개의 노드를 실행하는 것이 좋습니다. 전체 클러스터를 삭제하지 않으면 기본 Linux 노드 풀을 삭제할 수 없습니다.

AKS 클러스터에서 Windows 기반 워크로드를 실행하려고 계획할 때 다음과 같이 Linux 노드 풀 배포를 고려해야 하는 경우가 있습니다.

  • Linux 및 Windows 워크로드를 실행하려는 경우 동일한 클러스터에 Linux 노드 풀과 Windows 노드 풀을 배포할 수 있습니다.
  • NGINX와 같은 Linux 기반 인프라 관련 구성 요소를 배포하려면 Windows 노드 풀과 함께 Linux 노드 풀이 필요합니다. 개발 및 테스트 시나리오에 컨트롤 플레인 노드를 사용할 수 있습니다. 프로덕션 워크로드의 경우 안정성과 성능을 보장하기 위해 별도의 Linux 노드 풀을 배포하는 것이 좋습니다.

AKS에서 Windows를 사용하여 기존 애플리케이션 현대화

기존 애플리케이션을 컨테이너화하고 AKS에서 Windows를 사용하여 실행할 수 있습니다. 컨테이너화 프로세스를 시작하기 전에 애플리케이션 아키텍처와 종속성을 이해해야 합니다. 자세한 내용은 Windows 컨테이너를 사용하여 기존 애플리케이션 컨테이너화를 참조하세요.

Windows 운영 체제 버전

모범 사례 지침

Windows Server 2022는 개선된 보안과 성능을 제공하며 AKS의 Windows 노드 풀에 권장되는 OS입니다. AKS는 Windows Server 2022를 컨테이너 호스트 OS 버전으로 사용하고 프로세스 격리만 지원합니다.

AKS는 Windows Server 운영 체제에 대해 LTSC(장기 서비스 채널 릴리스)와 컨테이너용 Windows Server 연간 채널이라는 두 가지 옵션을 지원합니다.

  1. AKS는 Windows Server 2022 및 Windows Server 2019를 포함하여 장기 서비스 채널 릴리스를 지원합니다. 이 채널은 3년마다 릴리스되며 5년 동안 지원됩니다. LTS(장기 지원)를 사용하는 고객은 Windows Server 2022를 사용해야 합니다.

    AKS는 Windows Server 2019 및 Windows Server 2022를 컨테이너 호스트 OS 버전으로 사용하고 프로세스 격리만 지원합니다. AKS는 다른 버전의 Windows Server에서 빌드된 컨테이너 이미지를 지원하지 않습니다. 자세한 정보는 Windows 컨테이너 버전 호환성을 참조하세요.

    Windows Server 2022는 Kubernetes 버전 1.25 이상의 기본 OS입니다. Kubernetes 버전 1.32의 수명이 종료되면 Windows Server 2019가 사용 중지됩니다. Windows Server 2022는 Kubernetes 버전 1.34의 수명이 종료된 후 사용 중지됩니다. 자세한 내용은 AKS 릴리스 정보를 참조하세요. 최신 Windows Server OS 버전에 대한 최신 정보를 얻고 AKS 지원 계획에 대한 로드맵에 대해 자세히 알아보려면 AKS 공용 로드맵을 참조하세요.

  2. AKS는 컨테이너용 Windows Server 연간 채널(미리 보기)을 지원합니다. 이 채널은 매년 릴리스되며 2년간 지원됩니다. 이 채널은 향상된 혁신 주기와 이식성을 요구하는 고객에게 유용합니다. 이식성 기능을 통해 Windows Server 2022 기반 컨테이너 이미지 OS는 새로운 연간 채널 릴리스와 같은 최신 버전의 Windows Server 호스트 OS에서 실행될 수 있습니다.

    Windows 연간 채널 버전은 노드 풀의 Kubernetes 버전을 기반으로 합니다. 하나의 연간 채널 버전에서 다음 버전으로 업그레이드하려면 다음 연간 채널 버전을 지원하는 Kubernetes 버전으로 업그레이드합니다. 자세한 내용은 AKS 컨테이너용 Windows Server 연간 채널을 참조하세요.

네트워킹

네트워킹 모드

모범 사례 지침

Windows 노드 풀이 포함된 AKS 클러스터는 Azure CNI(Azure Container Networking Interface)만 지원하며 기본적으로 사용합니다.

Windows는 kubenet 네트워킹을 지원하지 않습니다. Windows 노드 풀이 포함된 AKS 클러스터는 Azure CNI를 사용해야 합니다. 자세한 내용은 애플리케이션에 대한 AKS의 네트워크 개념을 참조하세요.

Azure CNI는 워크로드 요구 사항에 따라 두 가지 네트워킹 모드를 제공합니다.

  • Azure CNI 오버레이는 kubenet과 유사한 오버레이 네트워크입니다. 오버레이 네트워크를 사용하면 노드에 VNet(가상 네트워크) IP를 사용하고 클러스터 전체에서 재사용할 수 있는 노드 내의 Pod에 프라이빗 주소 공간을 사용할 수 있습니다. Azure CNI 오버레이는 권장 네트워킹 모드입니다. AKS 네트워킹에서 간소화된 네트워크 구성 및 관리와 최고의 확장성을 제공합니다.
  • 동적 IP 할당을 사용하는 Azure CNI에는 IP 주소 관리에 대한 추가 계획과 고려가 필요합니다. 이 모드는 노드 Pod에 대한 VNet IP를 제공합니다. 이 구성을 사용하면 Pod IP에 직접 액세스할 수 있습니다. 그러나 복잡성이 증가하고 확장성이 감소합니다.

사용할 네트워킹 모드를 결정하는 데 도움이 필요하면 네트워크 모델 선택을 참조하세요.

네트워크 정책

모범 사례 지침

네트워크 정책을 사용하여 Pod 간 트래픽을 보호합니다. Windows는 Azure 네트워크 정책 관리자 및 Calico 네트워크 정책을 지원합니다. 자세한 내용은 네트워크 정책 엔진 간의 차이점: Cilium, Azure NPM 및 Calico를 참조하세요.

Pod 간 트래픽을 관리할 때는 최소 권한 원칙을 적용해야 합니다. Kubernetes의 네트워크 정책 기능을 사용하면 클러스터의 Pod 간에 수신 및 송신 트래픽 규칙을 정의하고 적용할 수 있습니다. 자세한 내용은 AKS에서 네트워크 정책을 사용하여 Pod 간 트래픽 보호를 참조하세요.

Calico 네트워크 정책을 사용하는 AKS 클러스터의 Windows Pod는 기본적으로 부동 IP를 사용하도록 설정합니다.

업그레이드 및 업데이트

시스템에 최신 보안 업데이트, 기능 집합 및 규정 준수 요구 사항이 적용되도록 Windows 환경을 최신 상태로 유지해야 합니다. AKS와 같은 Kubernetes 환경에서는 Kubernetes 버전, Windows 노드, Windows 컨테이너 이미지 및 Pod를 유지 관리해야 합니다.

Kubernetes 버전 업그레이드

관리되는 Kubernetes Service인 AKS는 클러스터를 최신 Kubernetes 버전으로 업그레이드하는 데 필요한 도구를 제공합니다. 자세한 내용은 AKS 클러스터 업그레이드를 참조하세요.

Windows 노드 월별 업데이트

AKS의 Windows 노드는 월별 업데이트 일정을 따릅니다. 매달 AKS는 Windows 노드 풀에 사용 가능한 최신 업데이트가 포함된 새 VHD를 만듭니다. VHD에는 호스트 이미지, 최신 Nano Server 이미지, 최신 Server Core 이미지 및 컨테이너가 포함됩니다. 노드에 최신 보안 패치가 적용되도록 Windows 노드 풀을 매월 업데이트하는 것이 좋습니다. 자세한 내용은 AKS 노드 이미지 업그레이드를 참조하세요.

참고 항목

Windows 시스템의 업그레이드에는 OS 버전 업그레이드와 월별 노드 OS 업데이트가 모두 포함됩니다.

AKS 릴리스 추적기AKS 릴리스 정보를 사용하여 새로운 월간 릴리스의 가용성에 대한 최신 정보를 얻을 수 있습니다.

Windows 노드 OS 버전 업그레이드

Windows에는 Windows Server 2019 및 Windows Server 2022를 포함한 새로운 버전의 OS에 대한 릴리스 흐름이 있습니다. Windows 노드 OS 버전을 업그레이드할 때 Windows 컨테이너 이미지 버전이 Windows 컨테이너 호스트 버전과 일치하고 노드 풀에 Windows Server 버전이 하나만 있는지 확인합니다.

Windows 노드 OS 버전을 업그레이드하려면 다음 단계를 완료해야 합니다.

  1. 새 Windows Server 버전으로 새 노드 풀을 만듭니다.
  2. 새 Windows 컨테이너 이미지가 포함된 워크로드를 새 노드 풀에 배포합니다.
  3. 이전 노드 풀을 사용 중지합니다.

자세한 내용은 AKS에서 Windows Server 워크로드 업그레이드를 참조하세요.

참고 항목

Windows는 Windows 노드와 컨테이너의 혼합 버전과 이식성을 지원하는 새로운 컨테이너용 Windows Server 연간 채널을 공지했습니다. 이 기능은 AKS에서 아직 지원되지 않습니다.

AKS 기능 계획을 추적하려면 공용 AKS 로드맵을 참조하세요.

다음 단계

AKS의 Windows 컨테이너에 대한 자세한 내용은 다음 리소스를 참조하세요.