Kubernetes がどんどん遠ざかっていく中、Docker の将来はどうなるのでしょうか?

Kubernetes がどんどん遠ざかっていく中、Docker の将来はどうなるのでしょうか?

最近、Kubernetes が Docker を放棄するというニュースが業界で広く注目を集めています。 Kubernetes コミュニティからの指示によると、バージョン 1.20 以降、Kubernetes はコンテナ ランタイムとしての Docker の使用をサポートしなくなります。これを踏まえると、将来的にDockerが使えなくなるのではないかと心配する人が増えています。実際、これは Kubernetes が Docker を完全に放棄することを意味するものではありません。 CNCF もパニックにならないよう注意を促しています。 Docker によって生成されたイメージは、ユーザーのクラスター内のすべてのランタイムで引き続き動作します。しかし、この事件は依然として人々に疑問を抱かせます。Docker の将来はどうなるのでしょうか?長い間、コンテナといえばKubernetes + Dockerが標準と思われていましたが、今では必ずしもそうではないようです。

[[357045]]

Kubelet は Docker ランタイムをサポートしなくなりました

Docker の将来に対する人々の懸念は、Kubernetes バージョン 1.20 の ChangeLog に、kubelet の Docker サポート機能が非推奨となり、以降のバージョンで削除される予定であると記載されているという事実に起因しています。コミュニティは、これを行った理由について、Kubelet は以前、dockershim というモジュールを使用して Docker の CRI サポートを実装していたが、Kubernetes コミュニティがそのメンテナンスに問題を発見したため、CRI の完全な実装を含む利用可能なコンテナ ランタイムの使用を検討することを推奨していると説明しました。

まず最初に注意すべきことは、ここで言及されている Docker ランタイムは、私たちがよく話題にする Docker とは異なるということです。これが、Docker が Kubernetes によって放棄されたと人々が考える理由かもしれません。ランタイムは、アプリケーションの動作を保証する環境です。これは通常、実行中に任意のプログラムから接続または呼び出すことができる再利用可能なプログラム/ライブラリまたはインスタンスです。 Kubernetes クラスター内には、コンテナ ランタイムと呼ばれるコンポーネントもあり、コンテナ イメージの抽出と実行を担当します。 Docker は現在最も人気のあるコンテナ ランタイムです。さらに、Containerd や CRI-O もあります。

ランタイムとして位置付けられる Containerd や CRI-O とは異なり、Docker には、コンテナの作成など、ランタイムに必要のない機能も多数統合されています。さらに、Docker はもともと Kubernetes に組み込むように設計されていませんでした。

kubelet は Docker のランタイムの使用をサポートするために妥協したと言えるでしょう。 Containerd と CRI-O ランタイムが使用される場合、呼び出しプロセスは次のようになります。kubelet は CRI-Container プラグインに呼び出し要求を送信し、CRI-Container はコンテナ ランタイムと通信して、要求されたさまざまな操作を完了します。ただし、Docker ランタイムを使用する場合は、このプロセスを変更する必要があります。 Docker ランタイムは CRI と互換性がないため、バッファーとして新しいプラグイン Dockershimi を導入する必要があります。この時点で、プロセスは次のようになります。まず、kubelet が Dockershimi にリクエストを送信し、Dockershimi が Docker ランタイムを呼び出し、Docker ランタイムが Containerd を呼び出します。Containerd は、要求されたさまざまな操作を完了する役割を担います。このプロセスにおける Docker ランタイムは少し扱いに​​くいことがわかります。これを追加することで、プロセスに余分なリンクが追加されるだけでなく、Dockershimi も導入されます。 Dockershimi の介入により新たな問題が発生しており、追加でメンテナンスを行う必要があります。そうしないと、セキュリティ上の問題が発生する可能性があります。

今日、Kubernetes コミュニティがますます強力になるにつれて、Kubernetes が Docker に対して行った妥協は継続されなくなり、そのため kubelet は Docker ランタイムをサポートしなくなりました。現時点では、この事件の影響は大きくありません。 CNCF が言ったように、Docker は消滅しません。 Docker は今後も無数のコンテナを構築し続けるでしょう。開発者は引き続き Docker を採用し、開発ツールとして Docker を使い続けることができます。 Docker によって生成されたイメージは、Kubernetes クラスター内で引き続き正常に実行できます。

GKE や EKS などのマネージド Kubernetes サービスなどのクラウド コンテナ サービスを使用している場合は、将来の Kubernetes バージョンで Docker サポートが完全に削除される前に、サポートされているコンテナ ランタイムがワーカー ノードに導入されていることを確認する必要があります。独自のクラスターを管理する場合は、サービスの中断を避けるために、必ずランタイムを更新して調整してください。バージョン 1.20 では、Docker の非推奨警告が表示されます。 Kubernetes の将来のバージョン (2021 年後半にリリース予定のバージョン 1.23) では、Docker ランタイムは完全に削除され、サポートされなくなります。

しかし、長期的にはどうでしょうか?

Docker の将来はどうなるのでしょうか?

Docker がコンテナの普及に大きく貢献したことは間違いありません。コンテナは Docker が登場する何年も前から存在していましたが、Docker が登場するまでは普及していませんでした。 2013 年に Docker が登場し、コンテナの実行が初めて非常に簡単になりました。 Docker を使用すると、開発者はコンテナを簡単に起動、停止、取り消しすることができ、学習曲線が緩やかで使いやすいため、ソフトウェア開発プロセスの主流となっています。

Docker は、比較的マイナーな技術であるコンテナを独力でインターネットの有名人に変えたと言えるでしょう。 Docker の人気により、Docker エコシステムが強化されました。 Docker プロジェクトを中心に、ネットワーク、ストレージ、監視、CI/CD、さらには UI プロジェクトが多数立ち上げられており、Rancher などのオープンソース スタートアップも数多く登場しています。同時に、競争の種も蒔かれました。

Docker は当初開発に重点を置き、市場を独占していましたが、Docker が今後も成長を続け、特に商業的価値を獲得するには、アプリケーションの展開と運用に重点を置き、展開、監視、管理のためのツールを提供する必要があります。 Swarm もその 1 つです。 CoreOS、Red Hat、Google、Microsoft などのアプリケーション ランタイム プラットフォーム プロバイダーにとって、コンテナーのサポートは厳格な要件ですが、コンテナー ランタイムを標準化することで Docker の影響を最小限に抑えたいと考えています。明らかに、Docker はそうすることを望んでいませんでした。特に、当時 Docker が非常に人気があったためです。これが両者間の論争の焦点です。

OCI 仕様の開始は、競合する 2 つの当事者間の妥協の結果です。 2015年、Dockerが先頭に立ってCoreOS、Google、RedHatなどの企業と共同で、Dockerが独自のコンテナランタイムライブラリLibcontainerを寄贈し、RunCプロジェクトに改名すると発表しました。その後、RunC をベースに、コンテナとイメージの一連の標準と仕様を全員が共同で開発しました。これはOCI(Open Container Initiative)です。 OCI の目的は、コンテナ ランタイムとイメージの実装を Docker プロジェクトから完全に分離し、他のメーカーが Docker プロジェクトに依存せずに独自のプラットフォームを構築できるようにすることです。

OCI は実際には Docker にほとんど影響を与えていません。特に、同じ年に設立された CNCF (Cloud Native Computing Foundation) と比較するとその影響は顕著です。この財団は、GoogleやRedHatなどのオープンソースインフラプレイヤーが立ち上げたもので、Dockerを中心としたコンテナビジネスエコシステムに対抗すべく、オープンソースインフラベンダーが主導し、独立した財団として運営されるKubernetesプロジェクトをベースにしたプラットフォームレベルのコミュニティを設立する準備を進めています。

両者の競争とは異なり、今回の競争はDockerが得意とする開発分野から離れ、アプリケーションの導入と運用、つまりPaaSレベルに重点が置かれており、まさにRed HatやGoogleなどが得意としている分野です。 Kubernetes は、得意分野であるコンテナ オーケストレーションから始まり、Docker をコンポーネントの 1 つとして採用しました。最初から戦略的に優位な立場にあったと言える。 Google が Borg で蓄積した高度な技術と、Red Hat などのオープンソース ソフトウェアの運用経験の助けを借りて、Kubernetes はすぐに競争でリードし始めました。

もちろん、この競争は最初は穏やかなものでした。 Kubernetes が 2014 年に誕生したとき、当時最も人気のあるコンテナ ランタイムが Docker だったため、Kubernetes では Docker が使用されました。当時は、Docker + Kubernetes に加えて、Docker + Mesos や Docker + Swarm も選択できました。

Kubernetes と Docker は直接競合するわけではないと言えます。直接的な競合相手は Docker の Swarm です。 Swarm は、Kubernetes と同様に機能するクラスタリングおよびスケジューリング ツールです。しかし、Swarm と Kubernetes の競争は本質的にはコンテナに関する発言権をめぐる競争であり、したがって本質的には Docker と CNCF の競争です。

Docker は Kubernetes に対抗するために、2016 年に Swarm プロジェクトを放棄し、すべてのコンテナ オーケストレーションとクラスター管理機能を Docker プロジェクトに統合すると発表しました。 Docker は、現時点で Swarm プロジェクトの唯一の競争上の優位性は Docker プロジェクトとのシームレスな統合であることを認識しています。しかし、この動きはうまくいかなかったようで、Docker はすぐに CNCF との競争に負けました。 2017 年 10 月の DockerCon EU カンファレンスで、Docker は Kubernetes のサポートを正式に発表し、Kubernetes プロジェクトを主力製品である Docker Enterprise Edition に組み込むことを発表した。これは、コンテナ オーケストレーションの分野での競争が終了し、Kubernetes が認知されたことを意味します。

振り返ってみると、敗北した Docker は強力なコンテナ開発者エコシステムに依存することで依然として影響力を発揮することができ、それが kubelet による妥協と Dockershimi の導入につながりました。しかし、時が経つにつれて、Kubernetes コミュニティはますます強力になり、Kubernetes エコシステムはますます完成し、Docker の発言力は徐々に低下し、疎外されるのも当然です。 Kubelet が Docker の特別扱いを取り消すのは時間の問題です。そのため、今後もDockerは開発分野において独自の価値を発揮し続ける可能性が高いでしょう。

しかし、いずれにせよ、Docker は 2013 年に正式にリリースされて以来、コンテナ技術を単独で普及させ、ソフトウェア業界に破壊的な変化をもたらし、ソフトウェア業界と IT 業界全体の発展と革新を促進してきました。この観点から見ると、Docker は当然の英雄であり、たとえ失敗したとしても私たちの尊敬を勝ち取るはずです。

<<:  Agora は、超高速ライブストリーミング、ローコード高解像度、そして初めてのインタラクティブライブストリーミングを開始し、帯域幅コストを 50% 削減します。

>>:  三国志を例に挙げて分散アルゴリズムについて語るのって、気楽なことでしょうか?

推薦する

記録: サーバー変更が検索エンジンに与える影響

9月に、登録番号のランダムチェックを通知するメールを受け取りました。ウェブサイトの登録情報は私のもの...

ホームページから百度と360の視聴者人気を分析

360度総合検索が開始されるやいなや、インターネット上で大きな話題を巻き起こした。 Baidu の反...

マシュー効果はeコマース分野にも現れている。レタオは靴ブランドに変身した最初の企業だ

以前はチャネルマーチャントとして位置づけられていたB2Cフットウェアeコマース企業LeTaoは、半年...

contabo: 大容量ハードディスク、無制限のトラフィック、非ストレージVPSを備えたドイツのVPS、プロジェクトを実行可能

大容量ハードドライブ VPS については、2 つの小さなコンピューター ルームを構築し、完全に独立し...

Doubanは今年、収益が8000万とほぼ黒字、平均日次PVが1億6000万になると予想している。

8月17日午前、豆瓣(douban.com)が本日公開した一部の運営データによると、同社の月間独立ユ...

ASOキーワード選定スキル!

誰もが知っているように、新しい携帯電話を入手した後の最初のステップは、アプリ ストアにアクセスし、推...

Rushmail: メール送信の時間と頻度を制御する方法

月収10万元の起業の夢を実現するミニプログラム起業支援プラン電子メール マーケティングは、大量の電子...

9s9s: CN2 GIAネットワーク、米国ネイティブIP、Netflix/Hulu/HBOを視聴可能、年間210元から、有料評価データ

中国商人の死海インターネット(9s9s)は、運営開始から1年になる新ブランドです。主な業務は米国ロサ...

企業サイトのSEOデータ分析のやり方

国平先生のSEO理論は、データから始めて科学的かつ制御可能なSEOを行うことです。この概念はSEOを...

あなたの会社はクラウド コンピューティング運用を保護する準備ができていますか?

あらゆる規模の企業が業務の多くをクラウド プラットフォームに移行し続ける中、最も一般的で危険なクラウ...

CrownCloud-7 USD/KVM/4 コア/1 GB RAM/250 GB HDD/ドイツ

ドイツのフランクフルトデータセンターにあるCrownCloudのKVM仮想VPSは、solusvmパ...

ScalableNode-4 データセンター/OVZ/512m メモリ/25g SSD/年間 35 ドルの支払い

ScalableNode についてはあまり紹介されていませんが、2009 年に設立され、個人経営の会...

新しいサイトが外部リンクの構築と促進に関して注意すべき問題

最近では、ウェブマスターの友人たちは、サイトのキーワードランキングの重要性を非常に深く理解しています...

Weiboは、DianpingがEle.meに投資したと主張、提携の詳細は5月6日に発表される予定

DianpingはEle.meに投資し、5月6日に記者会見を開いて発表する予定だと言われている(We...