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

推薦する

すっかり人気がなくなったライブストリーミングは2019年に好転するのでしょうか?

DouyinやKuaishouなどの大手プラットフォームが動画コンテンツ業界全体の注目を集めるように...

オリジナル:Xiamiレベルの高品質のソフト記事

多くの初心者は、ソフトな記事を書くときに「ソフト」という言葉を理解します。私も初心者です。以前ソフト...

Weiboマーケティングを利用するTaobao販売者への提案

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスSEO担当者として、ウェ...

軽視できないフォーラム形式の外部リンク

外部リンクは、ウェブサイトのインバウンド リンクです。インバウンド リンクはウェブサイトにとって非常...

ウェブデザイナーが従うべき最も効果的なデザイン原則の1つはコントラストです。

ホスピタリティ業界と連邦政府向けの Web 開発を専門とする Ryan Boudreaux 氏は、4...

Docker入門章の詳細な要約だけで十分です

コンピュータ技術は日々変化しており、Docker は国内で急速に発展しています。特に一流インターネッ...

パンシはネットワークマーケティングの新たな地平を切り開き、ネットワーク同盟は新たな経済をリードする

1月3日、浙江省人民代表大会ホールで浙江番石科技有限公司の年次総会が開催されました。今回の年次総会は...

エッジコンピューティングとフォグコンピューティングの説明

データのソースまたはその近くでデータを処理することにより、ラップトップ、スマートフォン、タブレット、...

セールスフォース、クラウドサービスプロバイダーのVlocityを現金13億3000万ドルで買収すると発表

2月26日、海外メディアの報道によると、米国のクラウドコンピューティング企業セールスフォースは、クラ...

raksmart: 大規模トラフィックサーバー、回線: CN2/本土最適化/国際 BGP

ビデオ サーバー、CDN サーバー、ダウンロード サーバー、さまざまなストリーミング メディア サー...

100万元以上のマイクロマーケティングチーム、仕事の効率を上げる秘訣

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますマーケティ...

Godaddy 2.95 USD 登録 com ドメイン名割引コード (乳がん用)

Godaddy は長い間割引コードを発行していません。この特別割引コードは乳がん患者向けです。com...

Suiningのローカル求人ウェブサイトでは、テレマーケティングを簡単にマスターする方法を教えています

テレマーケティングは、1980 年代に米国で登場した比較的新しい概念です。消費者志向の市場の形成と電...