Kubernetes Ingress はどのように機能しますか?

Kubernetes Ingress はどのように機能しますか?

Kubernetes Ingress は、アプリケーションの HTTP および HTTPS ルーティングを管理するためのメカニズムです。 Kubernetes クラスターに Ingress リソース オブジェクトを作成して、統合アクセス ポータルを提供し、リクエストをさまざまなバックエンド サービスにルーティングすることで、アプリケーションの負荷分散とトラフィック制御を実現します。

Ingress は、クラスター内にロード バランサーを作成することでリクエスト ルーティングを実装します。このロードバランサーは、Kubernetes クラスターの外部にある独立したロードバランサー(DaemonSet をクラスターのエッジノードにデプロイできます(エッジノードはクラウドコンピューティングデータセンターを基準とし、最終アクセスユーザーとの間に中間リンクが少ないネットワークノードを指します。コンピュータールームや物理デバイスなどです。ソースステーションへの直接アクセスと比較して、エンドユーザーがアクセスする際の応答性と接続速度が向上します。つまり、外部と直接通信できるノードです。Taint と Tolerance を設定して、DaemonSet がこれらのエッジノードでのみ実行できるようにし、hostNetwork を使用して外部が Ingress Controller に直接アクセスできるようにすることができます)。)、または Kubernetes クラスター内の Service リソースオブジェクト(Ingress Controller は NodePort を通じて公開されます)にすることができます。ロードバランサーは、リクエストを受信すると、要求されたホスト名とパスに基づいて、リクエストを対応するバックエンドサービスにルーティングします。

Kubernetes では、Ingress オブジェクトは Ingress Controller を通じて実装されます。コントローラは、Ingress オブジェクトのルールとバックエンド サービスの情報に基づいてロード バランサ構成を自動的に生成し、ロード バランサに適用します。このプロセスは自動化されているため、開発者は Ingress オブジェクトを定義するだけで、コントローラーが負荷分散とルーティングを自動的に処理します。

Ingress オブジェクトのルールは、ホスト、パス、サービスの 3 つの部分で構成されます。このうち、Host は要求されたホスト名、Path は要求されたパス、Service は要求がルーティングされるバックエンド サービスです (Ingress Controller はサービスを通じて対応するポッドを見つける必要があります)。 Ingress オブジェクトには複数のルールを含めることができ、各ルールには複数のパスを含めることができ、各パスは異なるバックエンド サービスにルーティングできます。

リクエストが Ingress コントローラに到達すると、コントローラは要求されたホスト名とパスに基づいて一致する Ingress ルールを選択し、対応するバックエンド サービスにリクエストをルーティングします。このプロセスは通常、Nginx や HAProxy などの HTTP プロキシを通じて実装されます。

要約すると、Kubernetes Ingress は、開発者がアプリケーションの HTTP および HTTPS ルーティングを管理するのに役立つ非常に便利なメカニズムです。これはロードバランサーとコントローラーに基づいており、リクエストの自動ルーティングと負荷分散を実現し、開発者にアプリケーションを管理するためのシンプルで効率的な方法を提供します。

Ingress がどのように機能するかを説明するために例を見てみましょう。

Kubernetes クラスターに service1 と service2 という 2 つのバックエンド サービスがあり、それぞれのアドレスが 192.168.1.1 と 192.168.1.2 であるとします。ここで、Ingress を使用してリクエスト ルーティングと負荷分散を実装します。

まず、クラスター内に Ingress オブジェクトを作成する必要があります。次に例を示します。

 apiバージョン:ネットワーク.k8s .io / v1
種類:イングレス
メタデータ:
名前:-イングレス
仕様:
ルール:
-ホスト: example.com
http://www.google.com/dp ...
パス:
-パス: / service1
パスタイプ:プレフィックス
バックエンド:
サービス
名前:サービス1
ポート:
名前: http
-パス: / service2
パスタイプ:プレフィックス
バックエンド:
サービス
名前:サービス2
ポート:
名前: http

この Ingress オブジェクトには 2 つのルールが含まれており、1 つのルールは example.com/service1 を service1 バックエンド サービスにルーティングし、もう 1 つのルールは example.com/service2 を service2 バックエンド サービスにルーティングします。

次に、Ingress 機能を実装するために、クラスター内で Ingress コントローラーを起動する必要があります。このコントローラーは、Nginx や HAProxy など、Kubernetes Ingress 標準に準拠する任意のコントローラーにすることができます。コントローラーを起動すると、クラスター内の Ingress オブジェクトが自動的に読み取られ、Ingress オブジェクトのルールに基づいてロードバランサー構成が自動的に生成されます。

リクエストが Ingress コントローラに到着すると、コントローラは要求されたホスト名とパスに基づいて一致する Ingress ルールを選択し、対応するバックエンド サービスにリクエストをルーティングします。たとえば、リクエストが example.com/service1 に到着すると、コントローラーはリクエストを service1 バックエンド サービスのアドレス 192.168.1.1 にルーティングします。リクエストが example.com/service2 に到着すると、コントローラーはリクエストを service2 バックエンド サービスのアドレス 192.168.1.2 にルーティングします。

このように、Ingress を使用してリクエスト ルーティングと負荷分散を実装することができました。 Ingress を使用すると、アプリケーションの HTTP および HTTPS ルートを簡単に管理し、リクエストの自動ルーティングと負荷分散を実装できるため、アプリケーションの信頼性とスケーラビリティが向上します。

Kubernetes クラスター内に複数の Ingress オブジェクトを作成し、各 Ingress オブジェクトを異なるサービスまたはサービス バージョンごとに異なるルーティング ルールで構成できます。この機能により、同じクラスター内で複数のアプリケーションまたはバージョンを実行できるようになります。

Ingress オブジェクトが複数ある場合は、競合を避けるために、Ingress オブジェクトごとに異なるホスト名またはポート番号を設定することをお勧めします。重複する Ingress オブジェクト ルールが複数ある場合、Kubernetes は一致するルールが見つかるまで、Ingress オブジェクトが作成された順序でそれらを解析します。したがって、Ingress オブジェクトが複数ある場合は、不要な問題やセキュリティ リスクを回避するために、それらの間の優先順位とルールの競合を慎重に検討する必要があります。

<<:  Terraform を使用して Azure 仮想マシンを作成する

>>:  クラウド時代の従来のバックアップ戦略の再考

推薦する

Longhorn、エンタープライズレベルのクラウドネイティブコンテナ分散ストレージ - 高可用性

[[419475]]目次データの局所性デフォルトのグローバル設定の変更Longhorn UI を使用...

電子商取引マーケティング: 代替ユーザーエクスペリエンス

ウェブサイトの種類に関係なく、ユーザーエクスペリエンスが基礎であり、スパムサイトはユーザーを尊重しな...

Ding Dao Shi: WPS は本当に Microsoft Office 365 の前での単なる冗談なのでしょうか?

2014 年 4 月 17 日、中国にインターネットが導入されてから 20 年目に、IT Times...

分析: VMware はサーバー仮想化の優位性を失うのでしょうか?

仮想化市場について考えると、いくつかの調査結果から、仮想化市場は微妙な変化を遂げてきたことがわかりま...

Megalayer香港データセンターの独立サーバーの簡単な評価で、Megalayerがどのように機能するかを説明します。

メガレイヤーの香港 VPS はネットワークが優れており、ウェブサイトの構築が安定しており、速度が速い...

キヤノンヨーロッパはIBM APIプラットフォームを採用し、プロフェッショナルサービスメンバーシップの変革に成功し、2桁の成長を達成しました。

顧客のニーズキヤノンは高品質のカメラとイメージング機器で世界的に有名ですが、キヤノン ヨーロッパは単...

初心者ウェブマスターのための最もタブーなウェブサイト運営を公開

私はほぼ半年かけてウェブサイトを構築してきましたが、今日はそれを皆さんと共有したいと思います。もう無...

タレントステーションの経営戦略に関する考察

最近、A5のウェブサイトでタレントステーションに焦点を当てた記事をたくさん見ていて、とても嬉しいです...

データ駆動型のエッジは現代のエネルギー環境に不可欠である

公共事業の運用を近代化するには、モノのインターネットやその他のスマート デバイスによって生成される膨...

直帰率が高いということは、そのコンテンツがユーザーに人気がないということでしょうか?

私が初めて SEO 業界に入ったとき、最適化の知識を絶えず補充するために、フォーラム、ブログ、ウェブ...

簡単な分析: 高品質の外部リンクを作成する方法

サイトの重みに大きな影響を与える比較的重要なサイトが 2 つあります。YAHOO と DMOZ です...

2021 年のクラウド コンピューティングのトレンド トップ 10

近年、クラウドコンピューティング技術は急速に発展しました。一部の業界専門家は、クラウド コンピューテ...

A5ウェブマスターネットワーク初のオンライン入札収益トレーニングクラスが受講生募集を開始

1. オンライン入札とは何ですか?簡単に言えば、入札とは、Baidu、Google、Soso、Sog...

iwebfusionはどうですか?モンティセロデータセンターのVPSの簡単なレビュー

iwebfusionはどうですか? iwebfusion monticelloはどうですか?モンティ...

新しいサイトの外部リンクを構築し、促進する方法の簡単な分析

ウェブサイトのキーワードランキングにとって外部リンクが重要であることは誰もが知っていますが、ではどう...