Istio

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