ついにKubernetesからDockershimが正式に削除、Docker Engineのサポートが終了。今年最初のKuberenetes 1.24正式版がリリース
オープンソースとして開発されているコンテナオーケストレーションツール「Kubernetes」の開発チームは、Kubernetes 1.24正式版のリリースを発表しました。今年最初のKubernetesのリリースとなります。
Happy release day and congratulations to all the Kubernetes contributors who worked hard on the 1.24 “Stargazer” release! Kubernetes users and contributors alike should check out the release blog for a quick look at what’s new in Kubernetes v1.24! https://t.co/0b8v4YfCax
— K8sContributors (@K8sContributors) May 3, 2022
Kubernetes 1.24の最大の変更点は、「Dockershim」が正式に削除されたことでしょう。Dockershimは2020年12月にリリースされたKubernetes 1.20から非推奨となっており、そこから約1年半が経過した本バージョンのリリースで正式に削除となりました。
参考:Dockershimを非推奨とした「Kubernetes 1.20」が正式リリース。Graceful node Shutdown機能がアルファ版で登場など
今後さまざまなKubernetes関連の実装やサービスでKubernetes 1.24へのアップデートが行われると見込まれます。Dockershimが非推奨になってから十分な時間が経過しているため多くのユーザーはすでにcontainerdやcri-oなどDocker Engine以外のコンテナランタイムに移行したと思われますが、もしもまだKubernetesでDocker Engineを使っている場合には、早急な見直しが必要でしょう。
Dockershimが削除されるまでの経緯
DockershimはKubernetesでコンテナランタイムとしてDocker Engineを利用するためのブリッジの役割をしていたインターフェイスでした。
もともとKubernetesはコンテナランタイムとしてDocker Engineをサポートしていました。というのも、Kubernetesが登場したときにはコンテナランタイムは事実上Docker Engineしか選択肢がなかったためです。
しかしその後、CoreOSのrktを始めとするDocker Engine以外のコンテナランタイムが登場したことで、Kubernetesは複数のコンテナランタイムをサポートするべく、コンテナランタイムとのインターフェイスとして「Container Runtime Interface」(CRI)というAPIを新たに定義します。
このCRIをサポートするコンテナランタイムであれば、Kubernetes上で利用できることになるのですが、Docker EngineはCRI以前から存在していたこともあり、CRIをサポートしていませんでした。
そこでKubernetesはCRIとDocker EngineのブリッジとしてDockershimを同梱し、CRI策定後も継続してDocker Engineをコンテナランタイムとしてサポートしてきました。
しかしすでにcontainerd、cri-o、gVisor、Firecrackerなど、さまざまなコンテナランタイムの選択肢が登場したことで、KubernetesとしてはDockershimの役割を終えるタイミングが来たと判断したわけです。
あわせて読みたい
Visual Studio CodeがMarkdownのサポートを強化。ファイルのドロップでリンクを自動作成、見出しへの参照一覧など。Visual Studio Code 1.67(April 2022)
≪前の記事
「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開