バージョン 1.14

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Anthos clusters on VMware の外部 IP アドレスを構成する

Anthos clusters on VMware でのデフォルトの Anthos Service Mesh インストールでは、外部 IP アドレスが LoadBalancer サービスに自動的に割り振られることを前提としています。これは、Anthos clusters on VMware には当てはまりません。このため、サービス メッシュ構成に応じて、1 つ以上の外部 IP アドレスを割り振る必要があります。

  • Anthos Service Mesh Ingress Gateway リソースの 1 つの外部 IP アドレス。たとえば、お客様がインターネット経由でワークロードにアクセスするために使用するゲートウェイ。
  • クラスタがサービス メッシュ内の異なるネットワークに存在する場合は、相互に通信するための別の外部 IP アドレス。これを east-west ゲートウェイと呼びます。

Ingress ゲートウェイ IP アドレスの構成

Ingress ゲートウェイの外部 IP アドレスを構成するには、Anthos clusters on VMware のロード バランシング モードに応じて、以下のいずれかのセクションの手順を行います。

    統合モード

  1. Ingress ゲートウェイの外部 IP アドレスを使用して istio-ingressgateway Service の構成にパッチを適用します。
    kubectl patch svc istio-ingressgateway -n istio-system --type='json' -p '[{"op": "add", "path": "/spec/loadBalancerIP", "value": "INGRESS_GATEWAY_IP"}]'
  2. 手動モード

  3. シェルで istio-ingressgateway サービスの構成を表示します。
    kubectl get svc -n istio-system istio-ingressgateway -o yaml
    Anthos Service Mesh のゲートウェイの各ポートが表示されます。コマンド出力は、次のようになります。
      ...
      ports:
      - name: status-port
        nodePort: 30391
        port: 15020
        protocol: TCP
        targetPort: 15020
      - name: http2
        nodePort: 31380
        port: 80
        protocol: TCP
        targetPort: 80
      - name: https
        nodePort: 31390
        port: 443
        protocol: TCP
        targetPort: 443
      - name: tcp
        nodePort: 31400
        port: 31400
        protocol: TCP
        targetPort: 31400
      - name: https-kiali
        nodePort: 31073
        port: 15029
        protocol: TCP
        targetPort: 15029
      - name: https-prometheus
        nodePort: 30253
        port: 15030
        protocol: TCP
        targetPort: 15030
      - name: https-grafana
        nodePort: 30050
        port: 15031
        protocol: TCP
        targetPort: 15031
      - name: https-tracing
        nodePort: 31204
        port: 15032
        protocol: TCP
        targetPort: 15032
      - name: tls
        nodePort: 30158
        port: 15443
        protocol: TCP
        targetPort: 15443
      ...
  4. こうしたポートはロードバランサで公開されます。

    たとえば、http2 という名前のサービスポートには port 80 と nodePort 31380 があります。ユーザー クラスタのノードアドレスが 192.168.0.10192.168.0.11192.168.0.12 で、ロードバランサの VIP が 203.0.113.1 であると仮定します。

    203.0.113.1:80 に送信されたトラフィックが 192.168.0.10:31380192.168.0.11:31380192.168.0.12:31380 のいずれかに転送されるようにロードバランサを構成します。この指定された VIP で公開するサービスポートを選択できます。

Ingress ゲートウェイに外部 IP アドレスが割り当てられたことを確認します。少し時間がかかることがあるため、目的の結果が表示されるまで、このコマンドを繰り返し実行する必要があります。

kubectl --context="${CTX_CLUSTER1}" get svc istio-ingressgateway -n istio-system

想定される出力は次のとおりです。

NAME                    TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)   AGE
istio-ingressgateway   LoadBalancer   10.80.6.124   34.75.71.237   ...       51s

east-west ゲートウェイ IP アドレスの構成

east-west ゲートウェイの外部 IP アドレスを構成するには、Anthos clusters on VMware のロード バランシング モードに応じて、以下のいずれかのセクションの手順を行います。

    統合モード

  1. east-west ゲートウェイの外部 IP アドレスを使用して istio-eastwestgateway Service の構成にパッチを適用します。
    kubectl patch svc istio-eastwestgateway -n istio-system --type='json' -p '[{"op": "add", "path": "/spec/loadBalancerIP", "value": "EAST_WEST_GATEWAY_IP"}]'
  2. 手動モード

  3. シェルで istio-eastwestgateway サービスの構成を表示します。
    kubectl get svc -n istio-system istio-eastwestgateway -o yaml
    Anthos Service Mesh のゲートウェイの各ポートが表示されます。コマンド出力は、次のようになります。
      ports:
      - name: status-port
        nodePort: 31781
        port: 15021
        protocol: TCP
        targetPort: 15021
      - name: tls
        nodePort: 30498
        port: 15443
        protocol: TCP
        targetPort: 15443
      - name: tls-istiod
        nodePort: 30879
        port: 15012
        protocol: TCP
        targetPort: 15012
      - name: tls-webhook
        nodePort: 30336
        port: 15017
        protocol: TCP
        targetPort: 15017
      ...
  4. こうしたポートはロードバランサで公開されます。

    たとえば、http2 という名前のサービスポートには port 80 と nodePort 31380 があります。ユーザー クラスタのノードアドレスが 192.168.0.10192.168.0.11192.168.0.12 で、ロードバランサの VIP が 203.0.113.1 であると仮定します。

    203.0.113.1:80 に送信されたトラフィックが 192.168.0.10:31380192.168.0.11:31380192.168.0.12:31380 のいずれかに転送されるようにロードバランサを構成します。この指定された VIP で公開するサービスポートを選択できます。

east-west ゲートウェイに外部 IP アドレスが割り当てられたことを確認します。少し時間がかかることがあるため、目的の結果が表示されるまで、このコマンドを繰り返し実行する必要があります。

kubectl --context="${CTX_CLUSTER1}" get svc istio-eastwestgateway -n istio-system

想定される出力は次のとおりです。

NAME                    TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)   AGE
istio-eastwestgateway   LoadBalancer   10.80.6.124   34.75.71.237   ...       51s

次のステップ