Kubernetes を使用する 4 つの理由

Kubernetes を使用する 4 つの理由

現代のソフトウェア開発者のほとんどが証明しているように、コンテナは物理インフラストラクチャと仮想インフラストラクチャの両方でクラウドネイティブ アプリケーションを実行するための柔軟性を高めます。コンテナーは、アプリケーションを構成するサービスをパッケージ化し、開発/テストと本番環境での使用の両方において、さまざまなコンピューティング環境間で移植できるようにします。コンテナを使用すると、需要の急増に対応するためにアプリケーション インスタンスを迅速に拡張することが容易になります。また、コンテナはホスト OS のリソースを活用するため、仮想マシンよりもはるかに軽量です。これは、コンテナが基盤となるサーバー インフラストラクチャを効率的に利用できることを意味します。ここまでは順調ですね。

ただし、コンテナ ランタイム API は個々のコンテナの管理には適していますが、複数のホストに分散された数百のコンテナで構成されるアプリケーションの管理に関しては、まったく不十分です。コンテナは、スケジューリング、負荷分散、分散などのタスクを実行するために管理され、外部に接続する必要があります。ここで、Kubernetes などのコンテナ オーケストレーション ツールが役立ちます。

Kubernetes は、コンテナ化されたアプリケーションをデプロイ、スケーリング、管理するためのオープンソース システムです。コンテナをコンピューティング クラスターにスケジュールし、ワークロードを管理して、ユーザーが期待するとおりに実行されるようにする作業を処理します。 Kubernetes は、運用を後から追加するのではなく、ソフトウェア開発と運用を設計によって統合します。 Kubernetes は、インフラストラクチャに依存しない宣言型構造を使用してアプリケーションの構成方法、相互作用方法、管理方法を記述することで、最新のソフトウェア システムの操作性を大幅に向上させます。 Kubernetes は、コンテナを本番環境で実行した Google 自身の経験に基づいて構築されており、その成功は主に Google の関与によるものです。 Google は世界でも最も才能のあるソフトウェア開発者を擁しており、最大規模のソフトウェア サービスを運営しています。この組み合わせにより、Kubernetes はほぼすべての組織の拡張ニーズを満たすことができる堅牢なプラットフォームになることが保証されます。

この記事では、Kubernetes がなぜそれほど重要なのか、そしてそれが DevOps チームにとって大きな前進となる理由について説明します。

今日のインフラストラクチャフレームワーク

今日、開発者は、専用のオンプレミス サーバー、仮想化されたプライベート クラウド、AWS や Azure などのパブリック クラウドなど、複数のオペレーティング環境で実行されるアプリケーションを作成することが求められています。従来、アプリケーションとそれらをサポートするツールは、基盤となるインフラストラクチャに密接に結合されていたため、代替の展開モデルを使用すると、潜在的なメリットがあるにもかかわらずコストがかかっていました。これは、特定のネットワーク アーキテクチャに関連するパフォーマンスの問題など、アプリケーションがさまざまな方法で特定の環境に依存していることを意味します。独自のオーケストレーション技術などのクラウドプロバイダー固有のアーキテクチャの遵守。特定のバックエンド ストレージ システムへの依存関係。 PaaS はこれらの問題に対処しようとしますが、多くの場合、プログラミング言語やアプリケーション フレームワークなどの分野での厳しい要件を犠牲にする必要があります。その結果、多くの開発チームにとって PaaS は利用不可能になっています。 Kubernetes は、制限を課すことなくコンテナにコア機能を提供することで、インフラストラクチャのロックインを排除します。これは、ポッドやサービスなどの Kubernetes プラットフォーム内の機能を組み合わせることによって実現されます。

モジュール化による管理の改善

コンテナを使用すると、関心事を明確に分離してアプリケーションをより小さな部分に分割できます。単一のコンテナ イメージに提供される抽象化レイヤーにより、分散アプリケーションの構築方法を根本的に再考することができます。このモジュール式のアプローチにより、それぞれが特定のコンテナを担当する、より小規模で集中的なチームによる迅速な開発が可能になります。また、依存関係を分離し、より小さく調整されたコンポーネントを広範囲に使用することも可能になります。ただし、コンテナだけではこれを実現することはできません。これらのモジュール部品を統合し、調整するためのシステムが必要です。 Kubernetes は、部分的には、通常は単一のアプリケーションとして制御されるコンテナのグループである Pod を使用してこれを実現します。コンテナは、ファイル システム、カーネル名前空間、IP アドレスなどのリソースを共有します。このようにコンテナを共存させることで、Kubernetes は単一のコンテナ イメージに過剰な機能を詰め込みたいという誘惑を排除します。 Kubernetes のサービスという概念は、同様の機能を実行する Pod のコレクションをグループ化するために使用されます。サービスは、検出可能性、可観測性、水平スケーリング、負荷分散のために簡単に構成できます。

大規模なソフトウェアの導入と更新

DevOps は、ソフトウェアの構築、テスト、リリースのプロセスを高速化する方法として登場しました。その結果、インフラストラクチャの管理から、ソフトウェアを大規模に展開および更新する方法の管理へと重点が移行します。ほとんどのインフラストラクチャ フレームワークはこのモデルをサポートしていませんが、Kubernetes は Kubernetes コントローラーを使用して部分的にサポートしています。コントローラーを使用すると、インフラストラクチャを使用してアプリケーションのライフサイクルを簡単に管理できます。デプロイメント コントローラーは、多くの複雑な管理タスクを簡素化します。例えば:

1. スケーラビリティ: 初めて、ソフトウェアを Pod 内でスケールアウト方式でデプロイできるようになり、デプロイはいつでもスケールアウトまたはスケールアップできます。

2. 可視性: ステータス クエリ機能を使用して、完了したデプロイメント、進行中のデプロイメント、失敗したデプロイメントを識別します。

3. 時間を節約: いつでもデプロイを一時停止し、後で再開できます。

4. バージョン管理: デプロイされたポッドを新しいバージョンのアプリケーション イメージで更新し、現在のバージョンが不安定な場合は以前のデプロイにロールバックします。

Kubernetes は、他の可能性の中でも、特に最新のアプリケーションの開発者にとって価値のある特定のデプロイメント操作を簡素化します。これらには以下が含まれます:

1. 水平自動スケーリング: Kubernetes オートスケーラーは、指定されたリソースの使用状況 (定義された制限内) に基づいて、デプロイするポッドの数を自動的に決定します。

2. ローリング アップデート: Kubernetes デプロイメントへのアップデートは、デプロイされたポッド全体で「ローリング方式」で調整されます。これらのローリング アップデートは、使用できない可能性のあるポッドの数と一時的に存在する可能性のあるスタンバイ ポッドの数に関するオプションの定義済み制限を使用して調整されます。

3. カナリア デプロイメント: 新しいバージョンのデプロイメントをデプロイする場合、最初に新しいデプロイメントを本番環境で以前のバージョンと並行してテストし、新しいデプロイメントをスケールアップしながら以前のデプロイメントをスケールダウンするというパターンが役立ちます。

従来の包括的な PaaS サービスとは異なり、Kubernetes ではサポートされるアプリケーションの種類に関して幅広い自由度が提供されます。アプリケーション フレームワーク (Wildfly など) を指定したり、サポートされる言語ランタイム (Java、Python、Ruby) を制限したり、12 要素アプリのみに対応したり、「アプリケーション」と「サービス」を区別したりすることはありません。 Kubernetes は、ステートレス、ステートフル、データ処理ワークロードなど、さまざまなワークロードをサポートします。アプリケーションがコンテナ内で実行できる場合は、Kubernetes でも​​問題なく実行されるはずです。

クラウドネイティブアプリケーションの基盤の構築

コンテナへの関心の高さを考えると、他の管理およびオーケストレーション ツールが登場してきたのも当然です。人気のある代替手段としては、Apache Mesos with Marathon、Docker Swarm、AWS EC2 Container Service (ECS)、HashiCorp の Nomad などがあります。それぞれに利点があります。 Docker Swarm は Docker ランタイムと緊密にバンドルされているため、ユーザーは Docker から Swarm に簡単に移行できます。 Mesos と Marathon はコンテナに限定されず、あらゆる種類のアプリケーションをデプロイできます。 AWS ECS は、現在の AWS ユーザーにとってよりアクセスしやすくなっています。ただし、Kubernetes クラスターは EC2 上で実行でき、Amazon Elastic Block Storage、Elastic Load Balancing、Auto Scaling Groups などのサービスと統合できます。これらのフレームワークは機能面で互いにコピーし始めていますが、Kubernetes は、そのアーキテクチャ、革新性、およびそれを取り巻く大規模なオープンソース コミュニティにより、依然として非常に人気があります。 Kubernetes は、チームが最新のソフトウェア開発の要求に対応できるようにするため、開発者にとって画期的な技術です。 Kubernetes がなければ、チームは独自のソフトウェアの展開、スケーリング、更新ワークフローをスクリプト化しなければならないことがよくあります。一部の組織では、これらのタスクを単独で処理するために大規模なチームを雇用しています。 Kubernetes を使用すると、コンテナを最大限に活用し、クラウド固有の要件に関係なく、どこでも実行できるクラウドネイティブ アプリケーションを構築できます。明らかに、これは私たちが待ち望んでいたアプリケーション開発と運用のための効率的なモデルです。

オリジナルリンク: https://www.infoworld.com/article/3173266/4-reasons-you-should-use-kubernetes.html

<<:  サードパーティのサービスレジストリを Istio に統合するにはどうすればよいですか?

>>:  エッジコンピューティングへの投資はどこに向かうのでしょうか?

推薦する

ソフトな記事を書く際の「貂蝉」の考え方を修正する

ソフト記事の執筆は、常に誰もが関心を持つテーマです。ウェブマスターのウェブサイトには、この分野での経...

ミニプログラム開始から2年: BATが得たものと失ったもの

モバイルインターネットの時代では、トラフィックの入り口が分割され、統合されていますが、ミニプログラム...

k9vps - $5.94/年/128M メモリ/10g ハードドライブ/500g トラフィック/ロサンゼルス

k9vps.com を知らない人もいるかもしれませんが、実は tragicservers.com の...

hostgator-60% オフ/VPS 最低 $8/仮想ホスト/リセラー/サーバー

Hostgator、新年中全品40%オフ、残り1日間有効、公式サイトにイベントタイマーあり。 Hos...

Weibo マーケティングの「ベスト」7 点: 140 語でストーリーを伝えるには?

Weibo は以前ほど人気が​​なくなったとはいえ、Weibo マーケティングの価値を無視することは...

独自のサーバーを購入するか、仮想マシンをレンタルするか、クラウド ホスティングを使用するか?

[51CTO.com クイック翻訳] ご存知のとおり、専用の物理サーバーを所有することの魅力は、ユー...

HostingInside - 1G メモリ XEN/40G ハードディスク/1T トラフィック/月額 9.95 ドル

HostingInside では、1G メモリ搭載の XEN PV VPS の特別プロモーションを実...

仮想化自動化の課題がAIの重要性を浮き彫りにする

今後 10 年間で、IT 環境は大きく変化し、IT 管理者の役割は新たな責任を伴って進化し続けるでし...

ftpit-$20/1g メモリ/15g SSD/1T トラフィック/ロサンゼルス/アトランタ/フロリダ

ftpit.com が Hostcat に最後に登場したのは昨年の 7 月です。1 月に運営を開始し...

初心者SEOがランキングに影響を与える7つの主要なユーザー行動について語る

ウェブサイトの構造の最適化、ページの最適化、ランキングに影響を与える外部リンクに加えて、ランキングに...

データ戦略: クラウド導入への適切なアプローチとは?

より良いビジネスを運営するために効果的なデータ戦略が必要であることを理解します。 [[333396]...

Host1plus ロサンゼルス VPS 4 ヶ月使用後のレビュー

2018年6月1日、私はhost1plusのロサンゼルスデータセンターでopenvz仮想化に基づく6...

電子商取引からO2Oへ、次のステップはオフライン店舗へのトラフィック販売

この2日間でふと感じたことは、電子商取引からO2Oへの発展過程から判断すると、次のステップはオフライ...

メールマーケティングをより効果的にする方法

最近、オンライン マーケティングに携わっている数人の友人と話をしたところ、彼らは一般的に EMD の...

NetEase Communityはサービスを停止すると発表し、担当者はNetEaseのフォーラムではないと述べた。

シャットダウンのお知らせ新浪科技報は11月15日夜、網易コミュニティ(club.163.com)が本...