Istioのカスタマイズ

Verrazzanoカスタム・リソースの設定を使用して、Verrazzano Istioコンポーネントをカスタマイズできます。

次の表に、Istioコンポーネントに関連するVerrazzanoカスタム・リソースのフィールドを示します。

フィールドへのパス 説明
spec.components.istio.egress.kubernetes.replicas レプリケートするポッドの数。デフォルトは、prodプロファイルの場合は2、それ以外のすべてのプロファイルの場合は1です。
spec.components.istio.egress.kubernetes.affinity 標準のKubernetesアフィニティ定義として表されるポッド・アフィニティ定義。デフォルトの構成では、Istioゲートウェイ・ポッドが使用可能なノードに分散されます。
spec:
components:
istio:
egress:
kubernetes:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- istio-egressgateway
topologyKey: kubernetes.io/hostname
spec.components.istio.ingress.kubernetes.replicas レプリケートするポッドの数。デフォルトは、prodプロファイルの場合は2、それ以外のすべてのプロファイルの場合は1です。
spec.components.istio.ingress.kubernetes.affinity 標準のKubernetesアフィニティ定義として表されるポッド・アフィニティ定義。デフォルトの構成では、Istioゲートウェイ・ポッドが使用可能なノードに分散されます。
spec:
components:
istio:
ingress:
kubernetes:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- istio-ingressgateway
topologyKey: kubernetes.io/hostname

次の例では、Verrazzano prodプロファイルを次のようにカスタマイズします:

  • istio-ingressgatewayおよびistio-egressgatewayのレプリカ数を3に増やします
  • istio-ingressgatewayおよびistio-egressgatewayrequiredDuringSchedulingIgnoredDuringExecutionを使用するようにpodAffinity構成を変更します
    apiVersion: install.verrazzano.io/v1beta1
    kind: Verrazzano
    metadata:
      name: example-verrazzano
    spec:
      profile: prod
      components:
        istio:
          overrides:
          - values:
              apiVersion: install.istio.io/v1alpha1
              kind: IstioOperator
              spec:
                components:
                  egressGateways:
                    - enabled: true
                      k8s:
                        affinity:
                          podAntiAffinity:
                            requiredDuringSchedulingIgnoredDuringExecution:
                              - podAffinityTerm:
                                  labelSelector:
                                    matchExpressions:
                                      - key: app
                                        operator: In
                                        values:
                                          - istio-egressgateway
                                  topologyKey: kubernetes.io/hostname
                                weight: 100
                        replicaCount: 3
                      name: istio-egressgateway
                  ingressGateways:
                    - enabled: true
                      k8s:
                        affinity:
                          podAntiAffinity:
                            requiredDuringSchedulingIgnoredDuringExecution:
                              - podAffinityTerm:
                                  labelSelector:
                                    matchExpressions:
                                      - key: app
                                        operator: In
                                        values:
                                          - istio-ingressgateway
                                  topologyKey: kubernetes.io/hostname
                                weight: 100
                        replicaCount: 3
                        service:
                          type: LoadBalancer
                      name: istio-ingressgateway