다음을 통해 공유


컨테이너의 이식성

적용 대상: Windows Server 버전 23H2

이식성은 컨테이너용 Windows Server 연간 채널의 기능입니다. 이식성은 업그레이드 프로세스를 간소화하여 컨테이너가 제공하는 향상된 유연성과 호환성을 최대한 활용하는 데 도움이 됩니다. 이 문서에서는 컨테이너 이미지 이식성을 연간 채널 컨테이너 호스트에 최적화하는 방법에 대한 자세한 설명을 제공합니다.

컨테이너용 Windows Server 연간 채널은 효율성을 개선하고 Windows 및 Linux 컨테이너 모두에 최적화된 이식성을 제공하기 위해 Azure Kubernetes Service 및 컨테이너 중심 Windows Server 배포용으로 설계된 Windows Server 버전입니다. Windows Server의 컨테이너에 대한 연간 채널에 대한 자세한 내용은 TechCommunity 공지참조하세요.

이식성은 어떻게 작동하는가

Windows는 구성 요소가 사용자 모드와 커널 모드간에 긴밀하게 바인딩되는 모듈식 커널을 사용합니다. 긴밀하게 바인딩된 구성 요소는 커널 모드 드라이버 위에 있는 유용한 그래픽 인터페이스이거나 커널 모드를 사용자 모드 컨텍스트 스위치로 줄여 성능을 최적화합니다. 그러나 컨테이너에는 문제가 있습니다. 이식성을 사용하면 사용자 모드에서 실행되는 컨테이너가 호스트 운영 체제 버전과 다른 컨테이너 이미지 버전으로 워크로드를 실행할 수 있습니다.

이식성이 없으면 사용자는 이미지 및 호스트 버전이 일치하는 워크로드만 실행할 수 있습니다. 예를 들어 Windows Server 2022 호스트를 실행하는 사용자가 Windows Server 2019 프로세스 격리 컨테이너를 실행할 수 없습니다. 호스트 이미지와 컨테이너 이미지 간의 버전 관리가 Windows 컨테이너화의 상당한 고통을 나타내므로 최신 버전의 컨테이너 호스트로의 이동이 어렵습니다. 예를 들어 Windows Server 2022 LTSC에는 호스트가 업데이트된 것과 동시에 모든 인프라 및 애플리케이션 이미지가 최신 버전으로 업데이트되었습니다.

애플리케이션 바이너리 인터페이스

애플리케이션 이진 인터페이스 또는 ABI를 사용하면 다양한 프로그래밍 언어가 사용자 및 커널 모드 인터페이스와 상호 작용할 수 있습니다. 런타임 개체와의 클라이언트 코드 상호 작용은 클라이언트 언어 구문이 개체의 ABI 호출로 변환되는 가장 낮은 수준에서 발생합니다. Windows 컨테이너의 이식성은 사용자 및 커널 상호 작용을 위한 안정적인 ABI를 도입합니다. 이 안정적인 ABI는 시스템의 사용자 및 커널 구성 요소를 분리하고 시스템의 커널 및 사용자 요소를 별도로 업데이트하는 기능을 제공합니다.

컨테이너는 ABI 계층을 제외한 기본 계층에서 모든 사용자 모드 이진 파일을 실행할 수 있습니다.

다음 다이어그램에서는 사용자 모드와 커널 모드 구성 요소 간의 통신을 보여 줍니다.

안정화 ABI 경계를 보여 주는 다이어그램입니다. 컨테이너 프로세스 및 서비스뿐만 아니라 호스트 프로세스 및 서비스는 이 추상화된 계층을 사용하여 기본 공유 커널과 통신합니다.

어떤 버전을 사용할 수 있나요?

Nano Server, Server Core 및 Windows Server 컨테이너 이미지는 Windows Server 2019 이상을 실행하는 컨테이너에 대한 Long-Term 서비스 채널을 통해서만 사용할 수 있습니다. 지원되는 Windows Server 컨테이너 이미지에 대한 자세한 내용은 기본 이미지 서비스 수명 주기참조하세요.

Windows Server 버전 23H2 컨테이너 호스트는 Windows Server 2022 LTSC(장기 서비스 채널) 컨테이너 이미지만 지원합니다.

Azure Kubernetes Service는 현재 Windows Server 2019 이상 호스트를 지원합니다. 컨테이너용 Windows Server 연간 채널은 Microsoft가 Kubernetes 1.28과 함께 제공하는 또 다른 컨테이너 OS 옵션입니다. 연간 채널을 기반으로 새 노드 풀을 만들고 해당 노드에 Windows Server 2022 컨테이너 이미지를 계속 배포할 수 있습니다. Microsoft는 연간 채널 버전 및 모든 새 Kubernetes 릴리스를 매년 자동으로 업데이트합니다. 그러나 최신 LTSC 릴리스에 따라 컨테이너가 최신 상태인지 확인하는 것도 좋습니다.

메모

이전 컨테이너 이미지 릴리스는 최신 호스트 OS에서 실행할 수 있지만 이전 호스트 운영 체제에서는 최신 컨테이너 이미지 운영 체제를 실행할 수 없습니다.