Kubernetes vs Docker: コンテナとオーケストレーションを理解する

Kubernetes vs Docker: コンテナとオーケストレーションを理解する

Docker と Kubernetes がアプリケーション開発をどのように変えているのか、またこれらの主要なコンテナ テクノロジーがどのように連携するのかを学びます。

ソフトウェア開発の最新動向に注目していれば、Docker と Kubernetes という 2 つの用語を何度も目にしたことがあるはずです。これらは基本的に、コンテナーとオーケストレーションの略語です。

Docker コンテナは、アプリケーションを開発およびテストから本番環境に移行するプロセスを容易にし、簡素化します。一方、Docker と Kubernetes はどちらも、アプリケーションをモノリシック スタックではなくマイクロサービスのコレクションとして構築および展開する方法を改革するのに役立っています。 Docker と Kubernetes が重要なのはなぜでしょうか。それらはソフトウェア開発をどのように変えているのでしょうか。そして、このプロセスにおいてどのような役割を果たしているのでしょうか。

Dockerとコンテナ

Linux、Windows、その他の最新のオペレーティング システムでサポートされているコンテナーを使用すると、システムの他の部分から分離された小さな環境でソフトウェアを実行できます。コンテナーは VMS と比較されてきましたが、VMS ではなく、よりスリムで、起動と停止が速く、より柔軟で移植性に優れています。コンテナは数秒で起動または停止できるため、クラウドのような柔軟な環境でアプリケーションを実行しやすくなります。

Linux やその他のオペレーティング システムは長年にわたりコンテナ化されたアプリケーションをサポートしてきましたが、コンテナの使用は必ずしもユーザーフレンドリーではありませんでした。オープンソースと商用の両方を備えた Docker は、コンテナをユーザーフレンドリーかつ開発者フレンドリーな商品にするソフトウェアです。 Docker はコンテナ用の共通のツールとメタファーのセットを提供するため、アプリケーションをコンテナ イメージにパッケージ化して、組織内または他の場所で簡単に展開および再利用できます。

つまり、Docker を使用すると、コンテナ イメージの作成、バージョン管理、共有、移動、Docker 互換ホスト上で実行中のコンテナとして展開することが簡単になります。

Docker とコンテナはいつ使用すればよいですか?

Docker とコンテナは、次の特性の 1 つ以上を持つワークロードに最適です。

弾力的なスケーラビリティ。需要を満たすためにアプリケーションのインスタンスをいくつ実行する必要があるかわかりません。コンテナ化されたアプリケーションまたはサービスは、より少ないまたはより多くのコンテナ インスタンスを展開することで、需要に合わせて拡張できます。分離。アプリケーションが他のアプリケーションに干渉することは望ましくありません。おそらく、API の異なるバージョンに対応するために、アプリケーションの複数のバージョンを同時に実行することになるでしょう。あるいは、基盤となるシステムをクリーンな状態に保ちたい場合もあります (これは常に良い考えです)。移植性。このアプリケーションはさまざまな環境で実行する必要があり、それぞれのセットアップは再現可能である必要があります。コンテナを使用すると、アプリケーションのランタイム環境全体をパッケージ化できるため、開発者のデスクトップ、QA テスト マシン、ローカル Iron、リモート クラウドなど、Docker 互換のホストにアプリケーションを簡単にデプロイできます。

Kubernetesとコンテナオーケストレーション

コンテナは主に、プロセスまたはアプリケーションを相互に、また基盤となるシステムから分離するように設計されています。単一のコンテナの作成とデプロイは簡単です。しかし、各コンテナを個別にデプロイ、接続、管理、スケーリングすることなく、複数のコンテナ (データベース、Web フロントエンド、コンピューティング バックエンドなど) を、全体として管理できる大規模なアプリケーションに組み立てたい場合はどうすればよいでしょうか。すべての部分を機能的に統合する方法が必要です。

これが Kubernetes が行うことです。 Docker がクルーズ船の乗客だとすると、Kubernetes はクルーズディレクターです。 Kubernetes は、Google が作成したプロジェクトに基づいており、各コンテナを直接管理することなく、複数のホストにわたるマルチコンテナ アプリケーションの展開と管理を自動化する方法を提供します。開発者は、各コンテナがネットワークとストレージをどのように使用するかについての詳細を含め、複数のコンテナにわたるアプリケーションのレイアウトを説明します。 Kubernetes は実行時に残りの処理を行います。また、シークレットやアプリケーション構成などの詳細な管理も処理します。 Kubernetes は以前よりもターンキー ソリューションになりつつありますが、使いこなすにはある程度の専門知識が必要です。使いやすさのこの進歩の一部は、一般的なアプリケーション (Helm チャート) の簡単なレシピによるものです。その理由の 1 つは、有名なブランド企業 (Red Hat、Canonical、Docker) によって作成された多数の Kubernetes ディストリビューションが、一般的なアプリケーション スタックや開発フレームワークと密接に連携していることです。

Kubernetes とコンテナ オーケストレーションはいつ使用すればよいですか?

少数のユーザーにサービスを提供する単純なコンテナ化されたアプリケーションでは、Kubernetes はもちろん、オーケストレーションも通常は必要ありません。ただし、アプリケーションの機能性が高くなかったり、ユーザー数が多くなかったりする場合は、オーケストレーション システムによって提供される機能を再発明せずにはいられません。オーケストレーションをいつ適用するかを決定するための経験則をいくつか示します。アプリケーションが複雑です。 2 つ以上のコンテナーが関係するアプリケーションであれば十分です。つまり、少数のユーザーのみにサービスを提供する小規模なアプリケーションは、Kubernetes ではなく、いくつかのソリューション (Docker スウォーム モードなど) のみを使用してオーケストレーションできます。

アプリケーションには、スケーラビリティと弾力性に対する高い要件があります。 Kubernetes やその他のオーケストレーターを使用すると、変化する条件に対する反応を手動で記述するのではなく、システムの望ましい状態を記述することで、宣言的に負荷を分散し、需要を満たすためにコンテナーを起動できます。

最新の CI/CD 技術を最大限に活用したいと考えています。オーケストレーション システムは、ブルー/グリーン デプロイメントまたはローリング アップグレードを使用するアプリケーションのデプロイメント パターンをサポートします。

おそらくいつの日か、Docker と Kubernetes はより使いやすい抽象化に置き換えられ、コンテナを作成および管理するためのよりエレガントな方法に取って代わられるでしょう。しかし、Docker と Kubernetes は今のところ依然として重要です。

<<:  コロケーションの 5 つのメリット: ハイブリッド クラウド戦略にコロケーションを取り入れるべき理由

>>:  Nutanix、2019年のエンタープライズクラウドインデックスレポートを発表、企業のハイブリッドクラウドへの移行を支援するために協力

推薦する

Pinduoduoのブレークスルーと進歩のための4つのモジュール

電子商取引大手の包囲網を突破したPinduoduoは、ユーザー数でAlibabaに次ぐ電子商取引プラ...

Bozhu.com の Xie Ruofei: なぜ Zongheng Search を選んだのでしょうか?

安定性は検索サービスの最優先事項です。投稿の検索は Zhizhu.com のユーザーにとって一般的な...

企業のクラウド変革を成功させる鍵:クラウドコスト最適化管理

近年、さまざまな業界の企業でクラウドの導入が急速に進んでおり、最小限の設備投資で迅速な俊敏性を実現し...

雲の上まで舞い上がって「クラウドライダー」になれるのは誰でしょうか?

調査対象となった全世界の企業のうち 13% が「クラウド ライダー」であり、そのうち 10% が中国...

Huawei Cloud独占月間アップグレードと再出発、1.5億クラウド補助金がインターネットに投資

5G時代において、インターネット業界の発展には5Gの把握だけでなく、強力な技術、強力な能力、広いビジ...

コンテナを大規模に実行する場合の最適なデータ ストレージ パス

K8s やその他のコンテナ オーケストレーション プラットフォームは、急速に主流のインフラストラクチ...

新しいウェブサイトを公開した後の最適化の 4 つの成長段階

フェーズ1: 新しいウェブサイトの立ち上げ「権威の高いウェブサイトに外部リンクを残す」か「Baidu...

4月の地方求人サイトの発展の軌跡:地方大学と地方企業の融合

今は4月ですが、卒業まであと2か月しかないため、多くの都市の大学生は就職活動に焦っています。現在、多...

Google、Chromeのウェブサイト検索ランキングを60日間ダウングレード

北京時間1月4日夕方のニュースで、Googleは本日、Chromeウェブサイトが自社の広告規制に違反...

デジタル変革の第二章が始まろうとしており、ハイブリッドマルチクラウド管理が焦点となる

[51CTO.comより引用] 近年、クラウドコンピューティング、人工知能、ブロックチェーンなどの新...

Pinduoduo は「人間の本質」を理解しているのでしょうか?

まず従業員が突然死亡し、次に従業員がビルから飛び降り、その後別の従業員が発言を理由に調査を受け、最後...

インターネット情報推奨アルゴリズムの簡単な分析

ルペン氏の時代から、彼が扇動と情報発信に長けていることは公然の秘密だった。しかし今日では、ビッグデー...

SEOにおける検索エンジンスパイダー技術の分析

検索エンジン技術は、インターネット上の膨大な量の情報をクロールします。情報が増えるにつれて、この技術...

オグルヴィのブランドマーケティングモデルと戦略

今回は、定番の4Aブランドの中から、オグルヴィのブランドマーケティングツール、3つの定番モデルと1つ...

エッジコンピューティングは安全ですか?企業のデジタル変革をどうやって促進するか?

この記事は、Jon と Keith が執筆した WeChat パブリック アカウント「Compute...