コンテナ ランタイムについて

クラスタではコンテナ ランタイムを使用して、Kubernetes Pod の作成と実行を行います。Anthos clusters on bare metal のバージョン 1.13 より前のバージョンでは、コンテナ ランタイムは Docker Engine または containerd のいずれかでした。ただし、コンテナ ランタイムとして使用できるのは、Anthos clusters on bare metal バージョン 1.13 以降の containerd のみです。

Anthos clusters on bare metal のバージョン 1.13 より前のバージョンでは、クラスタ構成ファイルの spec.nodeConfig.containerRuntime フィールドに値を指定して、コンテナ ランタイムを選択しました。Anthos clusters on bare metal のバージョン 1.13 以降では、containerRuntime フィールドは bmctl によって生成されたクラスタ構成ファイルに含まれなくなりました。

Kubernetes 1.24 では Docker Engine のサポートが終了

Kubernetes の dockershim コンポーネントによって、クラスタノードで Docker Engine コンテナ ランタイムを使用できます。ただし、Kubernetes 1.24 では dockershim コンポーネントが削除されました。Anthos clusters on bare metal バージョン 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