2.2.34.35.8. Kubernetes Gateway API
Kubernetes Gateway API はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Kubernetes Gateway API は、デフォルトで無効になっているテクノロジープレビュー機能です。Kubernetes API デプロイメントコントローラーが無効になっている場合は、ingress ゲートウェイを手動でデプロイし、作成されたゲートウェイオブジェクトにリンクする必要があります。
Kubernetes API デプロイコントローラーが有効になっている場合は、ゲートウェイオブジェクトが作成されると、ingress ゲートウェイが自動的にデプロイされます。
2.2.34.35.8.1. Gateway API CRD のインストール リンクのコピーリンクがクリップボードにコピーされました!
Gateway API CRD は、デフォルトでは OpenShift クラスターにプリインストールされていません。SMCP で Gateway API サポートを有効にする前に、CRD をインストールします。
$ kubectl get crd gateways.gateway.networking.k8s.io || { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.4.0" | kubectl apply -f -; }
2.2.34.35.8.2. Kubernetes Gateway API の有効化 リンクのコピーリンクがクリップボードにコピーされました!
この機能を有効にするには、ServiceMeshControlPlane で Istiod コンテナーに次の環境変数を設定します。
spec:
runtime:
components:
pilot:
container:
env:
PILOT_ENABLE_GATEWAY_API: "true"
PILOT_ENABLE_GATEWAY_API_STATUS: "true"
# and optionally, for the deployment controller
PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER: "true"
Gateway API リスナーでのルート接続を制限するには、SameNamespace または All 設定を使用します。Istio は、listeners.allowedRoutes.namespaces のラベルセレクターの使用を無視し、デフォルトの動作 (SameNamespace) に戻します。
2.2.34.35.8.3. 手動によるゲートウェイリソースへの既存ゲートウェイのリンク リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes API デプロイメントコントローラーが無効になっている場合は、ingress ゲートウェイを手動でデプロイし、作成されたゲートウェイリソースにリンクする必要があります。
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: Gateway
metadata:
name: gateway
spec:
addresses:
- value: ingress.istio-gateways.svc.cluster.local
type: Hostname