클러스터는 컨테이너 런타임을 사용하여 Kubernetes 포드를 만들고 실행합니다. 베어메탈용 GKE 버전 1.13 이전에서는 컨테이너 런타임이 Docker Engine
또는 containerd
일 수 있었습니다. 그러나 컨테이너 런타임은 베어메탈용 GKE 버전 1.13부터 containerd
입니다.
베어메탈용 GKE 버전 1.13 이전에서는 클러스터 구성 파일의 spec.nodeConfig.containerRuntime
필드에 값을 지정하여 컨테이너 런타임을 선택했습니다. 베어메탈용 GKE 버전 1.13부터는 containerRuntime
필드가 더 이상 bmctl
에서 생성된 클러스터 구성 파일에 포함되지 않습니다.
Kubernetes 1.24에서 Docker Engine 지원 종료
Kubernetes의 dockershim
구성요소를 사용하면 클러스터 노드가 Docker Engine 컨테이너 런타임을 사용할 수 있습니다. 그러나 Kubernetes 1.24는 dockershim
구성요소를 삭제했습니다. 베어메탈용 GKE 버전 1.13은 Kubernetes 1.24에서 실행되므로 버전 1.13 이상의 클러스터에서는 더 이상 Docker Engine을 사용할 수 없습니다.
버전 1.13 클러스터를 만들거나 버전 1.12 클러스터를 버전 1.13으로 업그레이드하는 경우 containerd
가 기본값이며 이는 유일하게 지원되는 컨테이너 런타임입니다. 클러스터 구성 파일에서 컨테이너 런타임을 지정할 필요가 없습니다. 컨테이너 런타임에 containerd
이외의 값을 지정하려고 하면 클러스터 업그레이드 또는 생성 작업이 실패합니다.
이미지를 만들기 위해 개발에서 사용하는 Docker 설치는 Kubernetes 클러스터 내의 Docker Engine 컨테이너 런타임과 관련이 없습니다. 여전히 Docker를 사용하여 이미지를 만들고 애플리케이션 컨테이너를 빌드할 수 있습니다. 이러한 컨테이너는 클러스터 내에서 계속 작동합니다.
bmctl
명령어에는 클러스터 만들기와 같은 작업에 사용되는 Docker가 필요하므로 관리자 워크스테이션에 Docker를 계속 설치해야 합니다. 이 Docker 사용은 dockershim
지원 중단의 영향을 받지 않습니다.
컨테이너 런타임 상태 확인
컨테이너 런타임 상태를 확인하려면 다음 명령어를 실행합니다.
systemctl status containerd