3.4. アンビエントモードで Kubernetes Gateway API を使用してゲートウェイ経由で Egress トラフィックを送信する


Kubernetes Gateway API と waypoint プロキシーを使用して、Egress HTTP トラフィックを出力ゲートウェイ経由で送信します。

前提条件

  • OpenShift Service Mesh Operator バージョン 3.2 以降がインストールされている。
  • Istio および IstioCNI リソースをアンビエントプロファイルで設定している。
  • Ztunnel リソースを作成している。

手順

  1. オプション: {k8} Gateway API カスタムリソース定義 (CRD) を有効にします。

    注記

    Kubernetes 1.28 および OpenShift Container Platform 4.18 以前のバージョンの Red Hat OpenShift Service Mesh では、Kubernetes Gateway API CRD はデフォルトでは使用できないため、使用する前に CRD をインストールする必要があります。OpenShift Container Platform 4.19 以降のバージョンでは、デフォルトで CRD をインストールします。

  2. 次のコマンドを実行して、egress-gateway という namespace を作成します。

    $ oc create namespace egress-gateway
    Copy to Clipboard Toggle word wrap
  3. 以下のコマンドを実行して、アンビエントモードラベルを namespace に適用します。

    $ oc label namespace egress-gateway istio.io/dataplane-mode=ambient
    Copy to Clipboard Toggle word wrap
  4. ServiceEntry を定義する egress-se.yaml という名前の YAML ファイルを作成します。

    apiVersion: networking.istio.io/v1
    kind: ServiceEntry
    metadata:
      name: httpbin-ext
      namespace: egress-gateway
      labels:
        istio.io/use-waypoint: waypoint
    spec:
      hosts:
      - httpbin.org
      ports:
      - number: 80
        name: http
        protocol: HTTP
      resolution: DNS
    Copy to Clipboard Toggle word wrap
    1. 以下のコマンドを実行して、YAML ファイルを適用します。

      $ oc apply -f egress-se.yaml
      Copy to Clipboard Toggle word wrap
    2. 次の例のように、egress-gateway namespace に waypoint プロキシーを作成する waypoint.yaml という名前の YAML ファイルを作成します。

      apiVersion: gateway.networking.k8s.io/v1
      kind: Gateway
      metadata:
        name: waypoint
        namespace: egress-gateway
        labels:
          istio.io/gateway-for: service
      spec:
        gatewayClassName: istio-waypoint
        listeners:
        - name: mesh
          port: 15008
          protocol: HBONE
      Copy to Clipboard Toggle word wrap
    3. 以下のコマンドを実行して、YAML ファイルを適用します。

      $ oc apply -f waypoint.yaml
      Copy to Clipboard Toggle word wrap
注記

waypoint.yaml YAML ファイルを作成する代わりに、次のコマンドを実行して waypoint プロキシーを設定することもできます。

$ istioctl waypoint apply --enroll-namespace --name waypoint --namespace egress-gateway
Copy to Clipboard Toggle word wrap

--enroll-namespace オプションを使用すると、egress-gateway namespace 内のすべてのサービス (ServiceEntries を含む) が、トラフィックを waypoint 経由でルーティングします。

検証

  1. 次のコマンドを実行して、ゲートウェイ設定のステータスを確認します。

    $ oc get gateways.gateway.networking.k8s.io waypoint -n egress-gateway
    Copy to Clipboard Toggle word wrap

    設定が成功すると、次の例のように PROGRAMMED 列に True が表示されます。

    NAME       CLASS            ADDRESS          PROGRAMMED   AGE
    waypoint   istio-waypoint   172.30.227.148   True         9s
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、egress-gateway namespace に curl Pod を作成します。

    $ oc run test-pod --image=curlimages/curl:latest -n egress-gateway --rm -it --restart=Never -- sh
    Copy to Clipboard Toggle word wrap
  3. curl クライアントを使用して、以下のコマンドを実行して、egress ゲートウェイ経由で httpbin.org にアクセスできることを確認します。

    $ curl -v http://httpbin.org/get
    Copy to Clipboard Toggle word wrap

    出力には、設定されたゲートウェイを通過する Egress トラフィックのルートを示す httpbin.org サービスからの応答が表示されます。ztunnel ログには、waypoint を経由してルーティングされたトラフィックが表示されます。ターミナルには、以下の出力に似た情報が表示されます。

    2025-10-24T08:08:35.242159Z info access connection complete src.addr=[fd01:0:0:5::b0]:56288 src.workload="test-pod" src.namespace="egress-gateway" src.identity="spiffe://cluster.local/ns/egress-gateway/sa/default" dst.addr=[fd01:0:0:5::af]:15008 dst.hbone_addr=[2001:2::2]:80 dst.service="httpbin.org" dst.workload="waypoint-5b668759d5-vrnx8" dst.namespace="egress-gateway" dst.identity="spiffe://cluster.local/ns/egress-gateway/sa/waypoint" direction="outbound" bytes_sent=78 bytes_recv=540 duration="957ms"
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat