クラスタではコンテナ ランタイムを使用して、Kubernetes Pod の作成と実行を行います。GDCV for Bare Metal のバージョン 1.13 より前のバージョンでは、コンテナ ランタイムは Docker Engine
または containerd
のいずれかでした。ただし、コンテナ ランタイムとして使用できるのは、GKE on Bare Metal のバージョン 1.13 以降の containerd
のみです。
GKE on Bare Metal のバージョン 1.13 より前のバージョンでは、クラスタ構成ファイルの spec.nodeConfig.containerRuntime
フィールドに値を指定して、コンテナ ランタイムを選択しました。GKE on Bare Metal のバージョン 1.13 以降では、containerRuntime
フィールドは bmctl
によって生成されたクラスタ構成ファイルに含まれなくなりました。
Kubernetes 1.24 では Docker Engine のサポートが終了
Kubernetes の dockershim
コンポーネントによって、クラスタノードで Docker Engine コンテナ ランタイムを使用できます。ただし、Kubernetes 1.24 では dockershim
コンポーネントが削除されました。GKE on Bare Meta バージョン 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