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/v1alpha1
kind: Verrazzano
metadata:
  name: example-verrazzano
spec:
  profile: prod
  components:
    istio:
      ingress:
        kubernetes:
          replicas: 3
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                - weight: 25
                    labelSelector:
                      matchExpressions:
                        - key: app
                          operator: In
                          values:
                            - istio-ingressgateway
                    topologyKey: kubernetes.io/hostname
      egress:
        kubernetes:
          replicas: 3
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                - labelSelector:
                    matchExpressions:
                      - key: app
                        operator: In
                        values:
                          - istio-egressgateway
                  topologyKey: kubernetes.io/hostname