Ingress Controller の本質を 1 つの記事で理解する

Ingress Controller の本質を 1 つの記事で理解する

今日は、クラウド ネイティブ エコシステムの中核技術であるトラフィック管理、Kubernetes Ingress Controller についてお話します。

Ingress Controller とは何ですか?

クラウド ネイティブ エコシステムでは、一般的に、Ingress Controller は Ingress リソース オブジェクトを管理するために使用される Kubernetes の重要なコンポーネントです。

Ingress リソース オブジェクトは、クラスター内のサービスに入るトラフィックを制御するために、外部ネットワークからの HTTP および HTTPS ルールを定義するために使用されます。 Ingress コントローラは、Ingress ルールを実際に実装するコンポーネントです。

より正確に言うと、Ingress コントローラーは、L4 および L7 レイヤーのリクエストの North-South トラフィックを管理します。これは、クラスターの外部からクラスターに出入りするプロセスと呼ばれます。 Ingress リソース オブジェクトを解析し、負荷スケジュール ルールを構成し、ドメイン名、パス、その他のルールに従って外部リクエストをクラスター内のバックエンド サービス Pod に転送します。

クラスター内のサービス間の東西トラフィックは、サービス検出メカニズムによって管理されます。たとえば、Pod は通信のためにサービス名に基づいて他の Pod IP を照会します。

これら 2 種類のトラフィックは、より広い観点から理解することができます。

  • North-South トラフィックとは、クラスターと外部ネットワーク間のトラフィックを指します。 Ingress コントローラーは、クラスターへの外部リクエストをルーティングし、クラスター内のサービスへの外部アクセスをサポートする役割を担います。
  • East-West トラフィックとは、クラスター内のマイクロサービス間の呼び出しトラフィックを指します。負荷はサービス検出メカニズムによって直接スケジュールされるため、ここではネットワーク セキュリティの分離の問題について心配する必要はありません。

ネットワーク トポロジ アーキテクチャ全体において、これら 2 つはそれぞれの役割を実行し、完全なトラフィック管理システムを形成します。 Ingress コントローラは Ingress を統合し、サービス検出によって内部トラフィックの疎結合通信が可能になります。これにより、外部アクセスのセキュリティが確保されるだけでなく、クラスター内のさまざまなサービスの高可用性呼び出しも実現されます。これは、Kubernetes ネイティブ アプリケーション アーキテクチャのチューニングとトラフィック制御に非常に役立ちます。

より専門的な観点から付け加えると、Ingress 自体は、クラスターからの外部トラフィックがクラスター内の各サービスに入る方法に関するルーティング ルールを定義する API オブジェクトにすぎず、これらのルートを直接実装することはできません。

ここで必要なコントロール プレーン コンポーネントは、Ingress リソース オブジェクトの変更を監視し、Ingress ルールに従って構成する Ingress コントローラーです。一般的に、イングレス コントローラは、Nginx Ingress や Traefik などのリバース プロキシ機能を実装します。

Ingress コントローラーは、ノード上のポートをリッスンしてクラスターから外部トラフィックを受信します。ドメイン名、URL パス、ホスト名など、Ingress によって定義されたルールに従って照合され、ロード バランシング テクノロジを使用して、トラフィックがバックエンドの対応する Pod サービス インスタンスに転送されます。

同時に、Ingress Controller は、IP またはユーザー名とパスワードに基づくアクセス制御など、より豊富なトラフィック管理機能も提供できます。タイムアウト再試行と分離。地域間トラフィック管理など、統一された外部入口を提供し、内部サービスに安全で信頼性の高い外部アクセス プレゼンテーション層を提供します。

Ingress コントローラーは必要ですか?

通常、コンテナ クラウド プラットフォーム、特にプライベート クラウド環境では、Kubernetes クラスター内の Pod は相互にのみアクセスでき、外部ネットワークはクラスター内の Pod に直接アクセスできないため、クラスターのセキュリティが確保されます。

外部サービスを提供する必要がある場合は、ドメイン名や URL パスに基づいてトラフィックをさまざまなバックエンド サービスに転送するなどのルーティング ルールを定義する Ingress リソース オブジェクトを作成できます。

ただし、Ingress リソース自体は単なる宣言であり、トラフィック転送機能を直接実装することはできません。この時点で、Ingress オブジェクトの変更を検出し、負荷分散デバイスを構成したり、Ingress ルールに従ってリバース プロキシとして機能したりするコントロール プレーン コンポーネント Ingress Controller Pod (Nginx や Traefik など) をデプロイする必要があります。

Ingress コントローラーはクラスター内でポッドとして実行されます。クラスターの外部から流入するリクエストは、Ingress Controller の入り口を介してバックエンド サービスに転送されます。

同時に、Ingress コントローラーは、単純なラウンドロビン リクエスト分散を実装できるだけでなく、仮想ホスティング、HTTPS、ターゲット URL またはドメイン名に基づく認証などの追加機能もサポートし、エントリとしての機能を最大限に活用できます。

したがって、Ingress によって定義された複雑なトラフィック管理ルールを実際に実装できるのは Ingress Controller を通じてのみであり、同時に、統合された Ingress を通じて外部への安全で信頼性の高いサービス アクセス機能も提供できます。これは、Ingress が外部アクセスを実現するための標準的なソリューションです。

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

一般的に言えば、Ingress コントローラーの一般的な動作原理は次のとおりです。

  • Ingress ルールの定義: 管理者は、Kubernetes の Ingress リソース オブジェクトを通じてトラフィック ルーティング ルールを定義します。イングレス ルールには通常、ホスト名、パス、サービス ポートなどの情報が含まれており、トラフィックのルーティング方法を記述するために使用されます。
  • Ingress コントローラーは Ingress リソースを監視します。Ingress コントローラーは、Kubernetes クラスター内の Ingress リソース オブジェクトの変更を監視します。 Kubernetes API サーバーと対話して、Ingress ルールの更新と作成を取得します。
  • ロード バランサーを構成する: Ingress コントローラーは、Ingress ルールで定義された情報に基づいてロード バランサーを構成し、トラフィックをバックエンド サービスに分散します。これには通常、Ingress ルールの変更を反映するためにロード バランサーを構成および更新することが含まれます。
  • バックエンド サービスへのトラフィックのルーティング: ロード バランサーが構成されると、Ingress コントローラーは Ingress ルールに基づいてトラフィックを対応するバックエンド サービスにルーティングします。トラフィック転送を実現するために、リバース プロキシ、DNS 解決などのテクノロジが使用される場合があります。

Ingress Controller はどのような問題を解決できますか?

一般的に、Ingress コントローラーは、Kubernetes クラスターで実行され、クラスターに流入するネットワーク トラフィックを管理および制御するコンポーネントです。主に以下の重要な問題を解決します。

  • 負荷分散とトラフィック ルーティング: Ingress コントローラーはリバース プロキシとして機能し、負荷分散とトラフィック ルーティングのメカニズムを通じてトラフィックをバックエンド サービスに分散します。要求されたホスト名、パス、ヘッダーなどの条件に基づいてトラフィックをさまざまなサービスに誘導し、柔軟なトラフィック管理を実現します。イングレス コントローラは、負荷分散とルーティングを通じて、サービスの可用性、信頼性、パフォーマンスの最適化を保証します。
  • SSL/TLS 終了と証明書管理: Ingress コントローラーは、受信要求の SSL/TLS 終了、つまり暗号化されたトラフィックを復号化し、バックエンド サービスに転送することができます。クラスター内での SSL/TLS 証明書の生成、管理、更新、または外部の証明機関 (Let's Encrypt など) との統合による自動証明書管理の実現をサポートします。 Ingress コントローラは、SSL/TLS 終了と証明書管理を通じて、ユーザー データの機密性と整合性を保護する安全な通信チャネルを提供します。
  • アクセス制御とセキュリティ ポリシー: Ingress Controller は、管理者がネットワーク トラフィックのセキュリティ ポリシーを定義および適用できるようにするアクセス制御メカニズムを提供します。 IP アドレス、ネットワーク セグメント、ヘッダー、リクエスト メソッドなどの条件に基づいて、バックエンド サービスへのアクセスを制限できます。アクセス制御とセキュリティ ポリシーにより、イングレス コントローラーは不正アクセスや悪意のあるリクエストを防ぎ、システムのセキュリティを向上できます。
  • ドメイン名の管理とマルチテナントのサポート: Ingress Controller を使用すると、管理者は複数のドメイン名を簡単に管理し、それらをさまざまなサービスやパスにマッピングできます。これは、各テナントに独立したドメイン名とアクセス パスを割り当てて分離とカスタマイズを実現できるため、マルチテナント環境をサポートするのに非常に便利です。ドメイン名管理とマルチテナントのサポートにより、イングレス コントローラーは、同じクラスター内で複数のアプリケーションまたはサービスをホストする際の柔軟性と管理性を高めます。
  • 観測性と可視性: Ingress コントローラーは通常、クラスターに流入するネットワーク トラフィックを追跡および分析するための豊富な監視機能とログ機能を提供します。応答時間、ステータス コード、要求量、その他のメトリックなど、要求と応答に関する詳細な情報を記録できます。イングレス コントローラは、監視とログ記録を通じて、管理者がトラフィック パターンを理解し、潜在的な問題を特定し、システム パフォーマンスを最適化するのに役立ちます。

<<:  5 分間の技術講演 | VXLAN トンネルと「クラウド ゲートウェイ」でのその応用

>>:  クラウドネイティブアーキテクチャ、DevOps入門

推薦する

Baidu には、コンテンツ、フォーマット、単語数、革新性が含まれます。

ウェブサイトのホームページと内部ページは、常にウェブマスターの焦点でした。ほとんどのウェブマスターに...

2020年、わが国のクラウドコンピューティング市場の規模は1,781億元に達し、成長率は33.6%でした。

中国インターネット協会主催の2021年(第20回)中国インターネット会議が北京国家会議センターで開幕...

NetEase Cloud は 3 周年を迎え、60 万人の開発者が接続し、年間収益の成長率は 200% を超えています。

2018年10月11日、NetEaseの通信・動画クラウドサービスブランドであるNetEase Cl...

インターネットへの道は困難に満ちている。個人のウェブサイトは突破できるのか?

2013年、インターネットは誕生して何年も経ちました。2010年にウェブサイトの構築を始めたものの、...

Baiduドメインの不正確さについての簡単な分析

ほとんどのウェブマスターは、外部リンクを検索するために百度のドメインを使用していますが、ほとんどのS...

最近、一部のウェブサイトのキーワードライブラリが急激に減少した理由

月収10万元の起業の夢を実現するミニプログラム起業支援プラン最近、一部のウェブサイトの記事のランキン...

ヤフー中国、ユーザーエクスペリエンスを無視してポータルを閉鎖

かつてインターネットの「エース」だったヤフーの中国における領域は再び「縮小」している。 Yahooフ...

hostkvm: サンノゼ cn2 gia VPS、30% 割引、月額 6.6 ドル、2G メモリ/25g ハードディスク/1T トラフィック

Hostkvmは、米国サンノゼデータセンターにcn2 gia回線VPSを追加しました。通信はcn2 ...

iniz-5.48 USD/KVM/1G メモリ/20G SSD/2T トラフィック/Voxility による DDoS 保護

iniz.com は、2009 年 4 月に Hostcat での VPS の導入を発表しました。当...

エッジコンピューティングの成功または失敗の鍵は何でしょうか?

国が新たなインフラ戦略を継続的に推進するにつれ、国内の5Gネットワ​​ーク構築は急速な発展段階に入っ...

マカオ出身の男:スタンレー・ホーの5000億ドルの財産はどこへ行くのか?

この記事では、WeChat ビデオ アカウントの背景、ユーザー インターフェイスと情報フロー ロジッ...

検索エンジンの介入に文句を言うよりも、ウェブサイトを構築する方が良い

百度はグーグルより賢い百度が批判され、グーグルが賞賛される昨今の環境において、私はその流れに逆らって...

1アイテム1コードとは何ですか?企業はワンツーワンマーケティングをどのように活用できるのでしょうか?

月収10万元の起業の夢を実現するミニプログラム起業支援プランモバイルインターネットの発展により、消費...

2億人が自宅で会議を開催しています! DingTalk、クラウドサーバーの容量を緊急に1万台に拡大

2月3日は特別営業日です。流行を防ぐため、1,000万社以上の企業が2億人のオフィスワーカーを組織し...

hostsolutions - 月額 3.3 ドルから / VPS / 1T ハードディスク / 1g メモリ / 10T トラフィック / 苦情防止

ルーマニアのホスティング プロバイダーである hostsolutions は、超大容量ハード ディス...