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は、ユーザー数でAlibabaに次ぐ電子商取引プラ...
安定性は検索サービスの最優先事項です。投稿の検索は Zhizhu.com のユーザーにとって一般的な...
近年、さまざまな業界の企業でクラウドの導入が急速に進んでおり、最小限の設備投資で迅速な俊敏性を実現し...
調査対象となった全世界の企業のうち 13% が「クラウド ライダー」であり、そのうち 10% が中国...
5G時代において、インターネット業界の発展には5Gの把握だけでなく、強力な技術、強力な能力、広いビジ...
K8s やその他のコンテナ オーケストレーション プラットフォームは、急速に主流のインフラストラクチ...
フェーズ1: 新しいウェブサイトの立ち上げ「権威の高いウェブサイトに外部リンクを残す」か「Baidu...
今は4月ですが、卒業まであと2か月しかないため、多くの都市の大学生は就職活動に焦っています。現在、多...
北京時間1月4日夕方のニュースで、Googleは本日、Chromeウェブサイトが自社の広告規制に違反...
[51CTO.comより引用] 近年、クラウドコンピューティング、人工知能、ブロックチェーンなどの新...
まず従業員が突然死亡し、次に従業員がビルから飛び降り、その後別の従業員が発言を理由に調査を受け、最後...
ルペン氏の時代から、彼が扇動と情報発信に長けていることは公然の秘密だった。しかし今日では、ビッグデー...
検索エンジン技術は、インターネット上の膨大な量の情報をクロールします。情報が増えるにつれて、この技術...
今回は、定番の4Aブランドの中から、オグルヴィのブランドマーケティングツール、3つの定番モデルと1つ...
この記事は、Jon と Keith が執筆した WeChat パブリック アカウント「Compute...