4.7. waypoint プロキシーのデプロイ
info アプリケーション namespace に waypoint プロキシーをデプロイして、トラフィックを Istio アンビエントデータプレーン経由でルーティングし、L7 ポリシーを適用できます。
前提条件
- アンビエントモード機能に必要な、サポートされている Kubernetes Gateway API カスタムリソース定義 (CRD) を提供する OpenShift Container Platform 4.19 以降にログインする。
- OpenShift クラスターに Red Hat OpenShift Service Mesh Operator 3.2.0 以降がインストールされている。
- Istio がアンビエントモードでデプロイされている。
-
次の例の
infoサンプルアプリケーションをデプロイした。 -
ターゲット namespace に
label istio.io/dataplane-mode=ambientを追加した。
手順
次の例のように、
infoアプリケーション namespace に waypoint プロキシーをデプロイします。設定例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
waypointカスタムリソース (CR) を適用します。oc apply -f waypoint.yaml
$ oc apply -f waypoint.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow istio.io/waypoint-for: serviceラベルは、waypoint がサービスのトラフィックを処理することを示します。ラベルによって、処理されるトラフィックの種類が決まります。詳細は、「waypoint のトラフィックの種類」を参照してください。次のコマンドを実行して、waypoint を使用するために
infonamespace を登録します。oc label namespace info istio.io/use-waypoint=waypoint
$ oc label namespace info istio.io/use-waypoint=waypointCopy to Clipboard Copied! Toggle word wrap Toggle overflow
namespace を登録すると、アンビエントデータプレーンを使用するすべての Pod から info 内のサービスへのリクエストは、L7 処理とポリシーを適用するために waypoint を経由してルーティングされます。
検証
次のコマンドを実行して、
infonamespace 内のすべてのサービスによって waypoint プロキシーが使用されていることを確認します。istioctl ztunnel-config svc --namespace ztunnel
$ istioctl ztunnel-config svc --namespace ztunnelCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
それぞれのサービスまたは Pod にラベルを付けることで、特定のサービスまたは Pod のみが waypoint を使用するように設定することもできます。Pod を明示的に登録する場合は、対応する gateway リソースに istio.io/waypoint-for: workload ラベルも追加します。