Service Mesh (ASM) SDKをプログラミング言語に統合すると、コードでIstioカスタムリソースを管理できます。このトピックでは、コードでASM SDKを使用してIstioリソースを管理する方法について説明します。カスタムリソースは、Kubernetes APIの拡張機能です。Istioは、Kubernetesネイティブリソースに加えて、仮想サービスやIstioゲートウェイなどのカスタムリソースをサポートしています。
前提条件
ASMインスタンスが作成されていること。詳細については、ASMインスタンスの作成を参照してください。
コンテナサービスKubernetes版 (ACK) クラスタがASMインスタンスに追加されていること。詳細については、ASMインスタンスへのクラスタの追加を参照してください。
Bookinfoアプリケーションが、ASMインスタンスに追加されたACKクラスタにデプロイされていること。詳細については、ASMインスタンスへのアプリケーションのデプロイを参照してください。
イングレスゲートウェイサービスが、ASMインスタンスに追加されたACKクラスタにデプロイされていること。詳細については、イングレスゲートウェイサービスの作成を参照してください。
YAMLファイルを使用して仮想サービスとIstioゲートウェイを作成する
以下のコードを含む virtualService.yaml ファイルを作成します。
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: bookinfo spec: hosts: - "*" gateways: - bookinfo-gateway http: - match: - uri: exact: /productpage - uri: prefix: /static - uri: exact: /login - uri: exact: /logout - uri: prefix: /api/v1/products route: - destination: host: productpage port: number: 9080
以下のコードを含む gateway.yaml ファイルを作成します。
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: bookinfo-gateway spec: selector: istio: ingressgateway servers: - port: number: 80 name: http protocol: HTTP hosts: - "*"
Istioリソースを管理する
仮想サービスとIstioゲートウェイを作成したら、プログラミング言語用のASM SDKを統合できます。その後、コードでIstioリソースを管理できます。
プログラミング言語 | 参照 |
Java | |
Go |