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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、
Egress-gatewayという namespace を作成します。oc create namespace egress-gateway
$ oc create namespace egress-gatewayCopy 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=enabledCopy 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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
次のコマンドを実行して、ゲートウェイ設定のステータスを確認します。
oc describe gateway -n egress-gateway
$ oc describe gateway -n egress-gatewayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 目的の出力の
Status列には、Programmedが表示されます。次のコマンドを実行して、
Egress-gatewaynamespace にcurlPod を作成します。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 -- shCopy to Clipboard Copied! Toggle word wrap Toggle overflow curlクライアントを使用し、次のコマンドを入力して Egress ゲートウェイ経由でhttpbin.orgにアクセスできることを確認します。curl -v http://httpbin.org/get
$ curl -v http://httpbin.org/getCopy to Clipboard Copied! Toggle word wrap Toggle overflow 目的の出力には、設定されたゲートウェイを通過する Egress トラフィックのルートを示す
httpbin.orgからのレスポンスが表示されます。