Guest User

Istio Profile YAML

a guest
Jun 25th, 2020
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 16.02 KB | None | 0 0
  1. apiVersion: install.istio.io/v1alpha1
  2. kind: IstioOperator
  3. metadata:
  4.   namespace: istio-system
  5. spec:
  6.   hub: docker.io/istio
  7.   tag: 1.6.0
  8.  
  9.   # You may override parts of meshconfig by uncommenting the following lines.
  10.   meshConfig:
  11.     enablePrometheusMerge: false
  12.     # Opt-out of global http2 upgrades.
  13.     # Destination rule is used to opt-in.
  14.     # h2_upgrade_policy: DO_NOT_UPGRADE
  15.  
  16.   # Traffic management feature
  17.   components:
  18.     base:
  19.       enabled: true
  20.     pilot:
  21.       enabled: true
  22.       k8s:
  23.         env:
  24.           - name: POD_NAME
  25.             valueFrom:
  26.               fieldRef:
  27.                 apiVersion: v1
  28.                 fieldPath: metadata.name
  29.           - name: POD_NAMESPACE
  30.             valueFrom:
  31.               fieldRef:
  32.                 apiVersion: v1
  33.                 fieldPath: metadata.namespace
  34.         readinessProbe:
  35.           httpGet:
  36.             path: /ready
  37.             port: 8080
  38.           initialDelaySeconds: 1
  39.           periodSeconds: 3
  40.           timeoutSeconds: 5
  41.         strategy:
  42.           rollingUpdate:
  43.             maxSurge: '100%'
  44.             maxUnavailable: '25%'
  45.  
  46.     # Policy feature
  47.     policy:
  48.       enabled: false
  49.       k8s:
  50.         hpaSpec:
  51.           maxReplicas: 5
  52.           minReplicas: 1
  53.           scaleTargetRef:
  54.             apiVersion: apps/v1
  55.             kind: Deployment
  56.             name: istio-policy
  57.           metrics:
  58.             - type: Resource
  59.               resource:
  60.                 name: cpu
  61.                 targetAverageUtilization: 80
  62.         env:
  63.           - name: POD_NAMESPACE
  64.             valueFrom:
  65.               fieldRef:
  66.                 apiVersion: v1
  67.                 fieldPath: metadata.namespace
  68.         strategy:
  69.           rollingUpdate:
  70.             maxSurge: '100%'
  71.             maxUnavailable: '25%'
  72.  
  73.     # Telemetry feature
  74.     telemetry:
  75.       enabled: false
  76.       k8s:
  77.         env:
  78.           - name: POD_NAMESPACE
  79.             valueFrom:
  80.               fieldRef:
  81.                 apiVersion: v1
  82.                 fieldPath: metadata.namespace
  83.           - name: GOMAXPROCS
  84.             value: '6'
  85.         hpaSpec:
  86.           maxReplicas: 5
  87.           minReplicas: 1
  88.           scaleTargetRef:
  89.             apiVersion: apps/v1
  90.             kind: Deployment
  91.             name: istio-telemetry
  92.           metrics:
  93.             - type: Resource
  94.               resource:
  95.                 name: cpu
  96.                 targetAverageUtilization: 80
  97.         replicaCount: 1
  98.         resources:
  99.           requests:
  100.             cpu: 1000m
  101.             memory: 1G
  102.           limits:
  103.             cpu: 4800m
  104.             memory: 4G
  105.         strategy:
  106.           rollingUpdate:
  107.             maxSurge: '100%'
  108.             maxUnavailable: '25%'
  109.  
  110.     # Security feature
  111.     citadel:
  112.       enabled: false
  113.       k8s:
  114.         strategy:
  115.           rollingUpdate:
  116.             maxSurge: '100%'
  117.             maxUnavailable: '25%'
  118.  
  119.     # Istio Gateway feature
  120.     ingressGateways:
  121.       - name: istio-ingressgateway
  122.         enabled: true
  123.         k8s:
  124.           env:
  125.             - name: ISTIO_META_ROUTER_MODE
  126.               value: 'sni-dnat'
  127.           service:
  128.             ports:
  129.               - port: 15021
  130.                 targetPort: 15021
  131.                 name: status-port
  132.               - port: 80
  133.                 targetPort: 8080
  134.                 name: http2
  135.                 # tls:
  136.                 #   httpsRedirect: true # sends 301 redirect for http requests
  137.               - port: 443
  138.                 targetPort: 8443
  139.                 name: https
  140.                 # tls:
  141.                 #   mode: SIMPLE
  142.                 #   credentialName: httpbin-credential # must be the same as secret
  143.               - port: 15443
  144.                 targetPort: 15443
  145.                 name: tls
  146.           hpaSpec:
  147.             maxReplicas: 5
  148.             minReplicas: 1
  149.             scaleTargetRef:
  150.               apiVersion: apps/v1
  151.               kind: Deployment
  152.               name: istio-ingressgateway
  153.             metrics:
  154.               - type: Resource
  155.                 resource:
  156.                   name: cpu
  157.                   targetAverageUtilization: 80
  158.           resources:
  159.             requests:
  160.               cpu: 100m
  161.               memory: 128Mi
  162.             limits:
  163.               cpu: 2000m
  164.               memory: 1024Mi
  165.           strategy:
  166.             rollingUpdate:
  167.               maxSurge: '100%'
  168.               maxUnavailable: '25%'
  169.  
  170.     egressGateways:
  171.       - name: istio-egressgateway
  172.         enabled: false
  173.         k8s:
  174.           env:
  175.             - name: ISTIO_META_ROUTER_MODE
  176.               value: 'sni-dnat'
  177.           service:
  178.             ports:
  179.               - port: 80
  180.                 name: http2
  181.               - port: 443
  182.                 name: https
  183.               - port: 15443
  184.                 targetPort: 15443
  185.                 name: tls
  186.           hpaSpec:
  187.             maxReplicas: 5
  188.             minReplicas: 1
  189.             scaleTargetRef:
  190.               apiVersion: apps/v1
  191.               kind: Deployment
  192.               name: istio-egressgateway
  193.             metrics:
  194.               - type: Resource
  195.                 resource:
  196.                   name: cpu
  197.                   targetAverageUtilization: 80
  198.           resources:
  199.             requests:
  200.               cpu: 100m
  201.               memory: 128Mi
  202.             limits:
  203.               cpu: 2000m
  204.               memory: 1024Mi
  205.           strategy:
  206.             rollingUpdate:
  207.               maxSurge: '100%'
  208.               maxUnavailable: '25%'
  209.     # Istio CNI feature
  210.     cni:
  211.       enabled: false
  212.  
  213.     # istiod remote configuration wwhen istiod isn't installed on the cluster
  214.     istiodRemote:
  215.       enabled: false
  216.  
  217.   addonComponents:
  218.     prometheus:
  219.       enabled: true
  220.       k8s:
  221.         replicaCount: 1
  222.     kiali:
  223.       enabled: true
  224.       k8s:
  225.         replicaCount: 1
  226.     grafana:
  227.       enabled: true
  228.       k8s:
  229.         replicaCount: 1
  230.     tracing:
  231.       enabled: true
  232.     istiocoredns:
  233.       enabled: true
  234.  
  235.   # Global values passed through to helm global.yaml.
  236.   # Please keep this in sync with manifests/charts/global.yaml
  237.   values:
  238.     global:
  239.       istioNamespace: istio-system
  240.       istiod:
  241.         enabled: true
  242.         enableAnalysis: false
  243.       logging:
  244.         level: 'default:info'
  245.       logAsJson: false
  246.       pilotCertProvider: istiod
  247.       jwtPolicy: third-party-jwt
  248.       proxy:
  249.         image: proxyv2
  250.         clusterDomain: 'cluster.local'
  251.         resources:
  252.           requests:
  253.             cpu: 100m
  254.             memory: 128Mi
  255.           limits:
  256.             cpu: 2000m
  257.             memory: 1024Mi
  258.         logLevel: warning
  259.         componentLogLevel: 'misc:error'
  260.         privileged: false
  261.         enableCoreDump: false
  262.         statusPort: 15020
  263.         readinessInitialDelaySeconds: 1
  264.         readinessPeriodSeconds: 2
  265.         readinessFailureThreshold: 30
  266.         includeIPRanges: '*'
  267.         excludeIPRanges: ''
  268.         excludeOutboundPorts: ''
  269.         excludeInboundPorts: ''
  270.         autoInject: enabled
  271.         envoyStatsd:
  272.           enabled: false
  273.           host: # example: statsd-svc.istio-system
  274.           port: # example: 9125
  275.         tracer: 'zipkin'
  276.       proxy_init:
  277.         image: proxyv2
  278.         resources:
  279.           limits:
  280.             cpu: 100m
  281.             memory: 50Mi
  282.           requests:
  283.             cpu: 10m
  284.             memory: 10Mi
  285.       # Specify image pull policy if default behavior isn't desired.
  286.       # Default behavior: latest images will be Always else IfNotPresent.
  287.       imagePullPolicy: ''
  288.       operatorManageWebhooks: false
  289.       controlPlaneSecurityEnabled: true
  290.       tracer:
  291.         lightstep:
  292.           address: '' # example: lightstep-satellite:443
  293.           accessToken: '' # example: abcdefg1234567
  294.         zipkin:
  295.           address: ''
  296.         datadog:
  297.           address: '$(HOST_IP):8126'
  298.         stackdriver:
  299.           debug: false
  300.           maxNumberOfAttributes: 200
  301.           maxNumberOfAnnotations: 200
  302.           maxNumberOfMessageEvents: 200
  303.       imagePullSecrets: []
  304.       arch:
  305.         amd64: 2
  306.         s390x: 2
  307.         ppc64le: 2
  308.       oneNamespace: false
  309.       defaultNodeSelector: {}
  310.       configValidation: true
  311.       meshExpansion:
  312.         enabled: false
  313.         useILB: false
  314.       multiCluster:
  315.         enabled: false
  316.         clusterName: ''
  317.       omitSidecarInjectorConfigMap: false
  318.       network: ''
  319.       defaultResources:
  320.         requests:
  321.           cpu: 10m
  322.       defaultPodDisruptionBudget:
  323.         enabled: true
  324.       priorityClassName: ''
  325.       useMCP: false
  326.       trustDomain: 'cluster.local'
  327.       sds:
  328.         token:
  329.           aud: istio-ca
  330.       sts:
  331.         servicePort: 0
  332.       meshNetworks: {}
  333.       enableHelmTest: false
  334.       mountMtlsCerts: true
  335.     base:
  336.       validationURL: ''
  337.     pilot:
  338.       autoscaleEnabled: true
  339.       autoscaleMin: 1
  340.       autoscaleMax: 5
  341.       replicaCount: 1
  342.       image: pilot
  343.       traceSampling: 1.0
  344.       configNamespace: istio-config
  345.       appNamespaces: []
  346.       env: {}
  347.       cpu:
  348.         targetAverageUtilization: 80
  349.       nodeSelector: {}
  350.       tolerations: []
  351.       podAntiAffinityLabelSelector: []
  352.       podAntiAffinityTermLabelSelector: []
  353.       keepaliveMaxServerConnectionAge: 30m
  354.       enableProtocolSniffingForOutbound: true
  355.       enableProtocolSniffingForInbound: true
  356.       deploymentLabels:
  357.       configMap: true
  358.       policy:
  359.         enabled: false
  360.  
  361.     telemetry:
  362.       enabled: true
  363.       v1:
  364.         enabled: false
  365.       v2:
  366.         enabled: true
  367.         metadataExchange: {}
  368.         prometheus:
  369.           enabled: true
  370.         stackdriver:
  371.           enabled: false
  372.           logging: false
  373.           monitoring: false
  374.           topology: false
  375.           configOverride: {}
  376.     mixer:
  377.       adapters:
  378.         stdio:
  379.           enabled: false
  380.           outputAsJson: false
  381.         prometheus:
  382.           enabled: true
  383.           metricsExpiryDuration: 10m
  384.         kubernetesenv:
  385.           enabled: true
  386.         stackdriver:
  387.           enabled: false
  388.           auth:
  389.             appCredentials: false
  390.             apiKey: ''
  391.             serviceAccountPath: ''
  392.           tracer:
  393.             enabled: false
  394.             sampleProbability: 1
  395.         useAdapterCRDs: false
  396.  
  397.       telemetry:
  398.         image: mixer
  399.         replicaCount: 1
  400.         autoscaleEnabled: true
  401.         sessionAffinityEnabled: false
  402.         loadshedding:
  403.           mode: enforce
  404.           latencyThreshold: 100ms
  405.         env:
  406.           GOMAXPROCS: '6'
  407.         nodeSelector: {}
  408.         tolerations: []
  409.         podAntiAffinityLabelSelector: []
  410.         podAntiAffinityTermLabelSelector: []
  411.  
  412.       policy:
  413.         autoscaleEnabled: true
  414.         image: mixer
  415.         sessionAffinityEnabled: false
  416.         adapters:
  417.           kubernetesenv:
  418.             enabled: true
  419.           useAdapterCRDs: false
  420.  
  421.     istiodRemote:
  422.       injectionURL: ''
  423.  
  424.     gateways:
  425.       istio-egressgateway:
  426.         zvpn: {}
  427.         env: {}
  428.         autoscaleEnabled: true
  429.         type: ClusterIP
  430.         name: istio-egressgateway
  431.         secretVolumes:
  432.           - name: egressgateway-certs
  433.             secretName: istio-egressgateway-certs
  434.             mountPath: /etc/istio/egressgateway-certs
  435.           - name: egressgateway-ca-certs
  436.             secretName: istio-egressgateway-ca-certs
  437.             mountPath: /etc/istio/egressgateway-ca-certs
  438.  
  439.       istio-ingressgateway:
  440.         autoscaleEnabled: true
  441.         applicationPorts: ''
  442.         debug: info
  443.         domain: ''
  444.         type: LoadBalancer
  445.         name: istio-ingressgateway
  446.         zvpn: {}
  447.         env: {}
  448.         meshExpansionPorts:
  449.           - port: 15011
  450.             targetPort: 15011
  451.             name: tcp-pilot-grpc-tls
  452.           - port: 15012
  453.             targetPort: 15012
  454.             name: tcp-istiod
  455.           - port: 8060
  456.             targetPort: 8060
  457.             name: tcp-citadel-grpc-tls
  458.           - port: 853
  459.             targetPort: 8853
  460.             name: tcp-dns-tls
  461.         secretVolumes:
  462.           - name: ingressgateway-certs
  463.             secretName: istio-ingressgateway-certs
  464.             mountPath: /etc/istio/ingressgateway-certs
  465.           - name: ingressgateway-ca-certs
  466.             secretName: istio-ingressgateway-ca-certs
  467.             mountPath: /etc/istio/ingressgateway-ca-certs
  468.  
  469.     sidecarInjectorWebhook:
  470.       enableNamespacesByDefault: false
  471.       rewriteAppHTTPProbe: true
  472.       injectLabel: istio-injection
  473.       objectSelector:
  474.         enabled: false
  475.         autoInject: true
  476.  
  477.     prometheus:
  478.       hub: docker.io/prom
  479.       tag: v2.15.1
  480.       retention: 6h
  481.       scrapeInterval: 15s
  482.       contextPath: /prometheus
  483.  
  484.       security:
  485.         enabled: true
  486.       nodeSelector: {}
  487.       tolerations: []
  488.       podAntiAffinityLabelSelector: []
  489.       podAntiAffinityTermLabelSelector: []
  490.       provisionPrometheusCert: true
  491.  
  492.     grafana:
  493.       image:
  494.         repository: grafana/grafana
  495.         tag: 6.5.2
  496.       persist: false
  497.       storageClassName: ''
  498.       accessMode: ReadWriteMany
  499.       security:
  500.         enabled: false
  501.         secretName: grafana
  502.         usernameKey: username
  503.         passphraseKey: passphrase
  504.       contextPath: /grafana
  505.       service:
  506.         annotations: {}
  507.         name: http
  508.         type: ClusterIP
  509.         externalPort: 3000
  510.         loadBalancerIP:
  511.         loadBalancerSourceRanges:
  512.       datasources:
  513.         datasources.yaml:
  514.           apiVersion: 1
  515.           datasources:
  516.       dashboardProviders:
  517.         dashboardproviders.yaml:
  518.           apiVersion: 1
  519.           providers:
  520.             - name: 'istio'
  521.               orgId: 1
  522.               folder: 'istio'
  523.               type: file
  524.               disableDeletion: false
  525.               options:
  526.                 path: /var/lib/grafana/dashboards/istio
  527.       nodeSelector: {}
  528.       tolerations: []
  529.       podAntiAffinityLabelSelector: []
  530.       podAntiAffinityTermLabelSelector: []
  531.       env: {}
  532.       envSecrets: {}
  533.  
  534.     tracing:
  535.       provider: jaeger
  536.       nodeSelector: {}
  537.       podAntiAffinityLabelSelector: []
  538.       podAntiAffinityTermLabelSelector: []
  539.       jaeger:
  540.         hub: docker.io/jaegertracing
  541.         tag: '1.16'
  542.         memory:
  543.           max_traces: 50000
  544.         spanStorageType: badger
  545.         persist: false
  546.         storageClassName: ''
  547.         accessMode: ReadWriteMany
  548.       zipkin:
  549.         hub: docker.io/openzipkin
  550.         tag: 2.20.0
  551.         probeStartupDelay: 10
  552.         queryPort: 9411
  553.         resources:
  554.           limits:
  555.             cpu: 1000m
  556.             memory: 2048Mi
  557.           requests:
  558.             cpu: 150m
  559.             memory: 900Mi
  560.         javaOptsHeap: 700
  561.         maxSpans: 500000
  562.         node:
  563.           cpus: 2
  564.       opencensus:
  565.         hub: docker.io/omnition
  566.         tag: 0.1.9
  567.         resources:
  568.           limits:
  569.             cpu: '1'
  570.             memory: 2Gi
  571.           requests:
  572.             cpu: 200m
  573.             memory: 400Mi
  574.         exporters:
  575.           stackdriver:
  576.             enable_tracing: true
  577.       service:
  578.         annotations: {}
  579.         name: http-query
  580.         type: ClusterIP
  581.         externalPort: 9411
  582.     istiocoredns:
  583.       coreDNSImage: coredns/coredns
  584.       coreDNSTag: 1.6.2
  585.       coreDNSPluginImage: istio/coredns-plugin:0.2-istio-1.1
  586.  
  587.     kiali:
  588.       hub: quay.io/kiali
  589.       tag: v1.18
  590.       contextPath: /kiali
  591.       nodeSelector: {}
  592.       podAntiAffinityLabelSelector: []
  593.       podAntiAffinityTermLabelSelector: []
  594.       dashboard:
  595.         secretName: kiali
  596.         usernameKey: username
  597.         passphraseKey: passphrase
  598.         viewOnlyMode: false
  599.         grafanaURL:
  600.         grafanaInClusterURL: http://grafana:3000
  601.         jaegerURL:
  602.         jaegerInClusterURL: http://tracing/jaeger
  603.         auth:
  604.           strategy: login
  605.       prometheusNamespace:
  606.       createDemoSecret: false
  607.       security:
  608.         enabled: false
  609.         cert_file: /kiali-cert/cert-chain.pem
  610.         private_key_file: /kiali-cert/key.pem
  611.       service:
  612.         annotations: {}
  613.  
  614.     # TODO: derive from operator API
  615.     version: ''
  616.     clusterResources: true
Add Comment
Please, Sign In to add comment