Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mapping istioOperatorSpec fields to istio helm #35004

Closed
shahriak opened this issue Sep 2, 2021 · 2 comments
Closed

Mapping istioOperatorSpec fields to istio helm #35004

shahriak opened this issue Sep 2, 2021 · 2 comments
Labels
lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while

Comments

@shahriak
Copy link

shahriak commented Sep 2, 2021

Describe the feature request
We are working on adopting the new istio helm deployment. We are currently using a customized design where istioOperator deploys the istio charts on a cluster using helm as the helm deployment feature was not available prior to istio v1.8. As part of adopting the new helm changes, I am looking into mapping the existing istioOperator spec to the newer helm. I was able to find a mapping for all the other fields except for the following, also highlighted in bold.

Are these mappings currently available? If not, is there a plan to make these fields available in the next releases?

• .Values.istio-ingress.gateways.istio-ingressgateway.hpaSpec.minReplicas
• .Values.istio-ingress.gateways.istio-ingressgateway.hpaSpec.maxReplicas
• .Values.istio-ingress.gateways.istio-ingressgateway.overlays
    •  .Values.istio-ingress.gateways.istio-pilot.overlays
• .Values.istio-ingress.gateways.istio-ingressgateway.hpaSpec.scaleTargetRef
istioOperatorSpec:
  apiVersion: install.istio.io/v1alpha1
  kind: IstioOperator
  metadata:
    namespace: istio-system
    name: test-istiocontrolplane
  spec:
    profile: "default"
    hub: acr/istio
    tag: 1.9.4
    installPackagePath: /istio/manifests

    meshConfig:
      defaultConfig:
        terminationDrainDuration: 30s
        holdApplicationUntilProxyStarts: true
      trustDomain: aks-cm

    components:
      ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          env:
          - name: ISTIO_META_ROUTER_MODE
            value: "sni-dnat"
          - name: ISTIO_META_IDLE_TIMEOUT
            value: 30s
          service:
            ports:
            -
              name: https
              port: 443
              targetPort: 8443
          **hpaSpec:
            minReplicas: 2
            maxReplicas: 5**
            # values in the parent helm chart.
            scaleTargetRef:
              apiVersion: apps/v1
              kind: Deployment
              name: istio-ingressgateway
            metrics:
              - type: Resource
                resource:
                  name: cpu
                  targetAverageUtilization: 60
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 2000m
              memory: 1024Mi
          strategy:
            rollingUpdate:
              maxSurge: "100%"
              maxUnavailable: "25%"
          nodeSelector:
              kubernetes.io/os: linux
          _**overlays:
            - kind: Deployment
              name: istio-ingressgateway
              patches:
                - path: spec.template.spec.dnsConfig
                  value:
                    options:
                      - name: single-request-reopen**_
      pilot:
        enabled: true
        k8s:
          hpaSpec:
            minReplicas: 2
          **overlays:
            - kind: Deployment
              name: istiod
              patches:
                - path: spec.template.spec.dnsConfig
                  value:
                    options:
                      - name: single-request-reopen**
                   

istio helm doc: https://istio.io/latest/docs/setup/install/helm/

Describe alternatives you've considered

Affected product area (please put an X in all that apply)

[x ] Docs
[x ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Affected features (please put an X in all that apply)

[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane

Additional context
Env: AKS

@Monkeyanator
Copy link
Contributor

Monkeyanator commented Sep 2, 2021

For istio-ingressgateway.overlays: overlays are specific to the IstioOperator API and I don't think are implementable in Helm.

For configuring HPA on ingressgateway should be able to use gateways.istio-ingressgateway.autoscaleMin and gateways.istio-ingressgateway.autoscaleMax. Shouldn't have to set scaleTargetRef in this case, will be set automatically to gateway name.

@istio-policy-bot istio-policy-bot added the lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while label Dec 2, 2021
@istio-policy-bot
Copy link

🚧 This issue or pull request has been closed due to not having had activity from an Istio team member since 2021-09-02. If you feel this issue or pull request deserves attention, please reopen the issue. Please see this wiki page for more information. Thank you for your contributions.

Created by the issue and PR lifecycle manager.

@istio-policy-bot istio-policy-bot added the lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. label Dec 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/automatically-closed Indicates a PR or issue that has been closed automatically. lifecycle/stale Indicates a PR or issue hasn't been manipulated by an Istio team member for a while
Projects
None yet
Development

No branches or pull requests

3 participants