本文へスキップ

Kubernetes Ingressとは?

くーばねてぃすいんぐれす

Kubernetes Ingressとは、クラスター外部からのHTTP/HTTPSトラフィックをルールに基づいて内部のServiceに振り分けるAPIオブジェクトです。

Kubernetes Ingressは、クラスター外部からのHTTPHTTPSリクエストを受け付け、URLパスやホスト名に基づいて適切なServiceへルーティングするための仕組みです。LoadBalancer Serviceを複数用意する代わりに、1つのIngressリソースで複数のサービスへのアクセスを一元管理できます。

Ingressの主な機能は以下の通りです。

  • パスベースルーティング: /api/ はAPIサービス、/static/ はファイルサービスなど、URLパスによって転送先を振り分けます。
  • ホストベースルーティング: app.example.comapi.example.com のように、ホスト名(バーチャルホスト)で転送先を分けられます。
  • TLS終端: HTTPS証明書をIngressで管理し、バックエンドのServiceはHTTPのままにすることができます。
  • リダイレクトや書き換え: Ingress Controllerの種類によっては、URLの書き換えや認証連携なども設定できます。

Ingressを機能させるにはIngressリソースの定義に加えて、nginx-ingress-controllerやTraefikなど「Ingress Controller」と呼ばれる実装が別途必要です。クラウドごとに推奨されるControllerが異なるため、環境に合わせた選択が重要です。Ingressはクラスターへの入口を一本化してセキュリティポリシーの適用やコスト削減に貢献します。

使い方・例文

単一のIPアドレスに対してIngressを設定し、example.com/shop はショッピングサービスへ、example.com/blog はブログサービスへと振り分けることで、ロードバランサーのコストを抑えながら複数のWebサービスを運用できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語