外部ロード・バランサのカスタマイズ

Verrazzano管理およびアプリケーション・エンドポイントの外部ロード・バランサ

Verrazzanoでは、インストール時に次のロード・バランサが必要です:

  • NGINXイングレス用のロード・バランサ
  • Istioイングレス用のロード・バランサ

デフォルトでは、VerrazzanoはこれらをKubernetes管理対象ロード・バランサとして自動的に作成しますが、独自の外部ロード・バランサを使用するオプションがあります。一方または両方のロード・バランサを置き換えるように選択できます。

次に、管理イングレスとアプリケーション・イングレスの両方に外部ロード・バランサを使用する例を示します。

外部ロード・バランサの準備

  • 管理イングレス用の外部ロード・バランサ:

    • このロード・バランサでは、TCPプロトコルを使用するポート443にリスナーを設定する必要があります。
    • このリスナーのバック・エンド・セットは、選択したポート(31443など)上にあるKubernetesクラスタ・ノードのIPアドレスを含む必要があります。
  • アプリケーション・イングレス用の外部ロード・バランサ:

    • このロード・バランサでは、TCPプロトコルを使用するポート443にリスナーを設定する必要があります。
    • このリスナーのバック・エンド・セットは、選択したポート(32443など)上にあるKubernetesクラスタ・ノードのIPアドレスを含む必要があります。

Verrazzanoのインストール・オプション

  • 管理イングレス用の外部ロード・バランサ:

    • イングレス・コンポーネントで、イングレス・タイプとしてNodePortを設定します。

    • イングレスNGINXオーバーライドで外部管理ロード・バランサのIPアドレスをcontroller.service.externalIPsに設定します。

      ノート: イングレス・タイプがNodePortの場合、NGINXInstallArgsのcontroller.service.externalIPsキーを使用して、有効かつアクセス可能なIPアドレスを指定する必要があります

    • イングレス・コンポーネントで、Port構成(port443nodePort31443targetPorthttpsprotocolTCP)を使用してportsを設定します。

  • アプリケーション・イングレス用の外部ロード・バランサ(Istioイングレス・ゲートウェイ・オーバーライドを使用):

    • サービスのタイプをNodePortに設定します。
    • サービスのexternalIPsを外部アプリケーション・ロード・バランサのIPアドレスに設定します。
    • サービスのportshttpsに設定し、エントリを指定します(port443nodePort32443targetPort8443protocolTCP)。

管理およびアプリケーションの外部ロード・バランサを含むカスタム・リソースの例

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: myvz
spec:
  components:
    ingressNGINX:
      overrides:
      - values:
          controller:
            service:
              externalIPs:
              - 11.22.33.44
      type: NodePort
      ports:
      - name: https
        port: 443
        nodePort: 31443
        protocol: TCP
        targetPort: https
    istio:
      overrides:
      - values:
          apiVersion: install.istio.io/v1alpha1
          kind: IstioOperator
          spec:
            components:
              ingressGateways:
                - enabled: true
                  name: istio-ingressgateway
                  k8s:
                    service:
                      type: NodePort
                      ports:
                      - name: https
                        port: 443
                        nodePort: 32443
                        protocol: TCP
                        targetPort: 8443
                      externalIPs:
                      - 11.22.33.55