3.3. Kubernetes Gateway API を使用してゲートウェイ経由で Egress トラフィックを送信する
Kubernetes Gateway API を使用して、送信 HTTP トラフィックを Egress ゲートウェイ経由で送信します。
前提条件
- Istio コントロールプレーンをインストールした。
-
Istio
およびIstioCNI
リソースを設定した。
手順
オプション: {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 がデフォルトで有効になっています。
Kubernetes Gateway API CRD を有効にする、
gateway-cr.yaml
という名前の YAML ファイルを作成します。Kubernetes Gateway カスタムリソース (CR) ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、YAML ファイルを適用します。
oc apply -f gateway-cr.yaml
$ oc apply -f gateway-cr.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、
Egress-gateway
という namespace を作成します。oc create namespace egress-gateway
$ oc create namespace egress-gateway
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、その namespace に
istio-injection
ラベルを適用します。oc label namespace egress-gateway istio-injection=enabled
$ oc label namespace egress-gateway istio-injection=enabled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Egress ゲートウェイを定義する、
egress -gateway-cr.yaml
という名前の YAML ファイルを作成します。Egress ゲートウェイ CR ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、YAML ファイルを適用します。
oc apply -f egress-gateway-cr.yaml
$ oc apply -f egress-gateway-cr.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、ゲートウェイ設定のステータスを確認します。
oc describe gateway -n egress-gateway
$ oc describe gateway -n egress-gateway
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 目的の出力の
Status
列には、Programmed
が表示されます。次のコマンドを実行して、
Egress-gateway
namespace にcurl
Pod を作成します。oc run test-pod --image=curlimages/curl:latest -n egress-gateway --rm -it --restart=Never -- sh
$ oc run test-pod --image=curlimages/curl:latest -n egress-gateway --rm -it --restart=Never -- sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl
クライアントを使用し、次のコマンドを入力して Egress ゲートウェイ経由でhttpbin.org
にアクセスできることを確認します。curl -v http://httpbin.org/get
$ curl -v http://httpbin.org/get
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 目的の出力には、設定されたゲートウェイを通過する Egress トラフィックのルートを示す
httpbin.org
からのレスポンスが表示されます。