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 に統合するにはどうすればよいですか?

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

推薦する

水戸テンプレート: 金融会社のウェブサイトテンプレートの推奨

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

新しいウェブサイトは公開後2日間で30,000の利益を上げました。高コンバージョンウェブサイト外部リンク構築

昨日のハイライト:電話 1 本、注文 1 件、Web サイト 1 つ、チーム 1 つ、Web サイト...

ウェブサイトの特異性により、キーワードランキングを迅速に向上できる

「Baidu 検索エンジン最適化ガイド 2.0」では、ウェブサイトの製品の単一性がウェブサイトのキー...

クラウド移行のベストプラクティス

企業がクラウドに移行する理由は、管理オーバーヘッドの削減、ボタンをクリックするだけでストレージのニー...

IDC:中国の金融クラウド市場規模は2020年上半期に19億1000万米ドルに達した

11月17日、国際データコーポレーション(IDC)は最近、「中国金融クラウド市場(2020年上半期)...

動画を通じて高品質な外部リンクを作成する方法

高品質の外部リンクの基準について議論する中で、著者は、近い将来、ビデオを通じて外部リンクを構築する方...

米国における高級衣料カスタマイズウェブサイトの台頭がアマゾンの優位性を脅かす

アマゾンは高級衣料品のカスタマイズ分野で優位性を持っておらず、スタートアップ企業にそれを利用するチャ...

マイクロマーケティングの実践スキル

私は個人的にWeChatにあまり興味がありませんが、WeChatが本当に強力であることは事実です。W...

web-telecoms-南アフリカ VPS/1g メモリ/1 コア/10g ハードディスク/月額 8.5 ドル

web-telecoms.co.za は、業界で 16 年の経験があると主張するホスティング会社です...

お金の無駄になっている未使用のクラウド リソースを活用する 4 つの方法

何年もの間、人々はアイドル状態のクラウド コンピューティング リソースについて議論してきました。通常...

ウェブマスターの戦略により、ウェブマスターは SEO に別れを告げる

軍隊には一定の位置はないが、常に位置がある。水には決まった形はないが、常に形がある。ウェブマスターは...

ページの品質を管理する方法

ウェブサイトの最適化の品質は、ページの品質と密接に関係しています。ウェブサイト ページの基本スコアに...

ビッグ検索はレッドオーシャンになり、ショッピング検索はブルーオーシャンになるかもしれない

3B戦争は激化しており、Sogouも密かに参戦している。国内の検索市場は基本的に3つの巨人によって分...

六易クラウド:メーデー特別価格、クラウドサーバー20%割引、ロサンゼルス聯通VIP回線、ロサンゼルス200G高防御、香港安昌BGP、香港大埔CN2、香港沙田CN2

六益クラウドインターコネクトは、メーデー連休期間中、米国ロサンゼルスのCeraデータセンターのChi...

神話の打破: ネットワークマーケティングは万能薬ではない

インターネット時代では、パソコンと携帯電話の接続は、現代人の主要なライフスタイルの1つになりつつあり...