複数の Classic Load Balancer (CLB) インスタンスを Service Mesh (ASM) イングレスゲートウェイに関連付けることで、複数の CLB インスタンスを使用してイングレスゲートウェイにアクセスできます。このトピックでは、イングレスゲートウェイに関連付けられている複数の CLB インスタンスを使用してイングレスゲートウェイにアクセスする方法について説明します。
前提条件
クラスターが ASM インスタンスに追加されていること。詳細については、「ASM インスタンスにクラスターを追加する」をご参照ください。
ASM インスタンスに追加された Container Service for Kubernetes (ACK) クラスターにイングレスゲートウェイがデプロイされていること。詳細については、「イングレスゲートウェイを作成する」をご参照ください。
イングレスゲートウェイがデプロイされると、istio-ingressgateway という名前のサービスが ACK クラスターに自動的に作成されます。
Bookinfo アプリケーションと Istio リソースが ASM インスタンスにデプロイされており、イングレスゲートウェイを使用して Bookinfo アプリケーションにアクセスできること。詳細については、「ASM インスタンスに追加された ACK クラスターにアプリケーションをデプロイする」および「Istio リソースを使用してトラフィックをサービスの異なるバージョンにルーティングする」をご参照ください。
手順
CLB インスタンスが関連付けられているサービスを作成することで、イングレスゲートウェイに追加の CLB インスタンスを作成する必要があります。
CLB インスタンスに関連付けられているサービスを削除すると、CLB インスタンスも削除されます。
ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、クラスターの名前をクリックするか、詳細[アクション] 列の をクリックします。クラスターの詳細ページが表示されます。
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
[サービス] ページの上部で、[名前空間] パラメーターを [istio-system] に設定し、右上隅にある [YAML でリソースを作成] をクリックします。
[作成] ページで、カスタム[サンプルテンプレート] ドロップダウンリストから テンプレート[作成] を選択し、 フィールドに次の内容を入力して、 をクリックします。
重要nodePort パラメーターの値は、既存のポート番号と同じにすることはできません。
apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: slb.s1.small service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet labels: app: istio-ingressgateway asm-system: 'true' istio: ingressgateway name: istio-ingressgateway-2 namespace: istio-system spec: externalTrafficPolicy: Cluster ports: - name: http-0 nodePort: 30544 port: 80 protocol: TCP targetPort: 80 - name: https-2 nodePort: 30682 port: 443 protocol: TCP targetPort: 443 selector: app: istio-ingressgateway asm-system: 'true' istio: ingressgateway provider: asm sessionAffinity: None type: LoadBalancername: 作成するサービスの名前。この例では、値は istio-ingressgateway-2 に設定されています。
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: CLB インスタンスの仕様。有効な値: slb.s1.small、slb.s2.small、slb.s2.medium、slb.s3.small、slb.s3.medium、slb.s3.large。
service.beta.kubernetes.io/alicloud-loadbalancer-address-type: 作成する CLB インスタンスのネットワークタイプ。有効な値:
internet: インターネット向け CLB インスタンス
intranet: 内部向け CLB インスタンス
サービスが作成されると、CLB インスタンスが自動的に作成されます。
複数の CLB インスタンスを使用してイングレスゲートウェイにアクセスします。
[外部 IP] 列の [サービス] ページで、istio-ingressgateway サービスと istio-ingressgateway-2 サービスのポート 80 を使用している IP アドレスを取得します。
ブラウザのアドレスバーに http://<istio-ingressgateway サービスの IP アドレス>/productpage と http://<istio-ingressgateway-2 サービスの IP アドレス>/productpage を入力します。

各 URL を入力した後に Bookinfo アプリケーションのページが表示された場合、上記の構成が有効になります。この場合、複数の CLB インスタンスを使用してイングレスゲートウェイにアクセスできます。