レイヤー 7 ルーティングは、URI パス照合やリクエストヘッダー照合など、複数の機能をサポートしています。このトピックでは、レイヤー 7 ルーティングに関連する機能を実装するための準備について説明します。
前提条件
ASM Enterprise 版インスタンスを作成し、[Enable Ambient Mesh Mode] を選択します。詳細については、「ASM インスタンスの作成」をご参照ください。
「Kubernetes クラスターと構成の要件」を満たす Kubernetes クラスターを作成します。詳細については、「ACK 専用クラスターの作成 (新規ユーザーは利用できなくなりました)」または「ACK マネージドクラスターの作成」をご参照ください。
お使いのオペレーティングシステムとプラットフォームに基づいて、ASM デバッグツール istioctl をダウンロードしておきます。詳細については、「Istio」をご参照ください。
ステップ 1: データプレーンモードを Ambient Mesh に設定する
default という名前のグローバル名前空間のデータプレーンモードを Ambient Mesh に設定します。
ASM コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[グローバル名前空間] ページで、[default] 名前空間を見つけ、[データプレーンモード] 列の [Ambient Mesh モードに切り替え] をクリックします。[送信] メッセージで、[OK] をクリックします。
ステップ 2: default 名前空間の Waypoint を有効にする
Ambient モードでは、レイヤー 7 の機能は Waypoint に依存します。このステップでは、default 名前空間のすべてのサービスの Waypoint を有効にします。
Gateway リソースを作成します。ASM はこのリソースに基づいて Waypoint プロキシを作成します。
kubectl apply -f - <<EOF apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: waypoint spec: gatewayClassName: istio-waypoint listeners: - name: mesh port: 15008 protocol: HBONE EOFdefault 名前空間のすべてのサービスの Waypoint を有効にします。
kubectl label namespace default istio.io/use-waypoint=waypoint --overwrite
ステップ 3: データプレーンクラスターにサービスをデプロイする
必要に応じて、helloworld、sleep、HTTPBin、NGINX、または mocka サービスをデプロイします。
helloworld サービスをデプロイする
次の内容を使用して、helloworld-application.yaml ファイルを作成します。
helloworld アプリケーションをデプロイします。
kubectl apply -f helloworld-application.yaml
sleep サービスをデプロイする
sleep-application.yaml ファイルを作成します。
sleep アプリケーションをデプロイします。
kubectl apply -f sleep-application.yaml
HTTPBin サービスをデプロイする
httpbin-application.yaml ファイルを作成します。
httpbin アプリケーションをデプロイします。
kubectl apply -f httpbin-application.yaml
NGINX サービスをデプロイする
NGINX アプリケーションを作成できます。
nginx アプリケーションをデプロイします。
kubectl apply -f nginx.yaml
mocka サービスをデプロイする
mocka-application.yaml ファイルを作成します。
mocka アプリケーションをデプロイします。
kubectl apply -f mocka-application.yaml