istio.io/istio@v0.0.0-20240520182934-d79c90f27776/manifests/charts/istio-control/istio-discovery/values.yaml (about)

     1  defaults:
     2    #.Values.pilot for discovery and mesh wide config
     3  
     4    ## Discovery Settings
     5    pilot:
     6      autoscaleEnabled: true
     7      autoscaleMin: 1
     8      autoscaleMax: 5
     9      autoscaleBehavior: {}
    10      replicaCount: 1
    11      rollingMaxSurge: 100%
    12      rollingMaxUnavailable: 25%
    13  
    14      hub: ""
    15      tag: ""
    16      variant: ""
    17  
    18      # Can be a full hub/image:tag
    19      image: pilot
    20      traceSampling: 1.0
    21  
    22      # Resources for a small pilot install
    23      resources:
    24        requests:
    25          cpu: 500m
    26          memory: 2048Mi
    27  
    28      # Set to `type: RuntimeDefault` to use the default profile if available.
    29      seccompProfile: {}
    30  
    31      # Whether to use an existing CNI installation
    32      cni:
    33        enabled: false
    34        provider: default
    35  
    36      # Additional container arguments
    37      extraContainerArgs: []
    38  
    39      env: {}
    40      
    41      # Settings related to the untaint controller
    42      # This controller will remove `cni.istio.io/not-ready` from nodes when the istio-cni pod becomes ready
    43      # It should be noted that cluster operator/owner is responsible for having the taint set by their infrastructure provider when new nodes are added to the cluster; the untaint controller does not taint nodes
    44      taint:
    45        # Controls whether or not the untaint controller is active
    46        enabled: false
    47        # What namespace the untaint controller should watch for istio-cni pods. This is only required when istio-cni is running in a different namespace than istiod
    48        namespace: ""
    49  
    50      affinity: {}
    51  
    52      tolerations: []
    53  
    54      cpu:
    55        targetAverageUtilization: 80
    56      memory: {}
    57        # targetAverageUtilization: 80
    58  
    59      # Additional volumeMounts to the istiod container
    60      volumeMounts: []
    61  
    62      # Additional volumes to the istiod pod
    63      volumes: []
    64  
    65      nodeSelector: {}
    66      podAnnotations: {}
    67      serviceAnnotations: {}
    68      serviceAccountAnnotations: {}
    69  
    70      topologySpreadConstraints: []
    71  
    72      # You can use jwksResolverExtraRootCA to provide a root certificate
    73      # in PEM format. This will then be trusted by pilot when resolving
    74      # JWKS URIs.
    75      jwksResolverExtraRootCA: ""
    76  
    77      # This is used to set the source of configuration for
    78      # the associated address in configSource, if nothing is specified
    79      # the default MCP is assumed.
    80      configSource:
    81        subscribedResources: []
    82  
    83      # The following is used to limit how long a sidecar can be connected
    84      # to a pilot. It balances out load across pilot instances at the cost of
    85      # increasing system churn.
    86      keepaliveMaxServerConnectionAge: 30m
    87  
    88      # Additional labels to apply to the deployment.
    89      deploymentLabels: {}
    90  
    91      ## Mesh config settings
    92  
    93      # Install the mesh config map, generated from values.yaml.
    94      # If false, pilot wil use default values (by default) or user-supplied values.
    95      configMap: true
    96  
    97      # Additional labels to apply on the pod level for monitoring and logging configuration.
    98      podLabels: {}
    99  
   100      # Setup how istiod Service is configured. See https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
   101      ipFamilyPolicy: ""
   102      ipFamilies: []
   103  
   104    sidecarInjectorWebhook:
   105      # You can use the field called alwaysInjectSelector and neverInjectSelector which will always inject the sidecar or
   106      # always skip the injection on pods that match that label selector, regardless of the global policy.
   107      # See https://istio.io/docs/setup/kubernetes/additional-setup/sidecar-injection/#more-control-adding-exceptions
   108      neverInjectSelector: []
   109      alwaysInjectSelector: []
   110  
   111      # injectedAnnotations are additional annotations that will be added to the pod spec after injection
   112      # This is primarily to support PSP annotations. For example, if you defined a PSP with the annotations:
   113      #
   114      # annotations:
   115      #   apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default
   116      #   apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default
   117      #
   118      # The PSP controller would add corresponding annotations to the pod spec for each container. However, this happens before
   119      # the inject adds additional containers, so we must specify them explicitly here. With the above example, we could specify:
   120      # injectedAnnotations:
   121      #   container.apparmor.security.beta.kubernetes.io/istio-init: runtime/default
   122      #   container.apparmor.security.beta.kubernetes.io/istio-proxy: runtime/default
   123      injectedAnnotations: {}
   124  
   125      # This enables injection of sidecar in all namespaces,
   126      # with the exception of namespaces with "istio-injection:disabled" annotation
   127      # Only one environment should have this enabled.
   128      enableNamespacesByDefault: false
   129  
   130      # Mutations that occur after the sidecar injector are not handled by default, as the Istio sidecar injector is only run
   131      # once. For example, an OPA sidecar injected after the Istio sidecar will not have it's liveness/readiness probes rewritten.
   132      # Setting this to `IfNeeded` will result in the sidecar injector being run again if additional mutations occur.
   133      reinvocationPolicy: Never
   134  
   135      rewriteAppHTTPProbe: true
   136  
   137      # Templates defines a set of custom injection templates that can be used. For example, defining:
   138      #
   139      # templates:
   140      #   hello: |
   141      #     metadata:
   142      #       labels:
   143      #         hello: world
   144      #
   145      # Then starting a pod with the `inject.istio.io/templates: hello` annotation, will result in the pod
   146      # being injected with the hello=world labels.
   147      # This is intended for advanced configuration only; most users should use the built in template
   148      templates: {}
   149  
   150      # Default templates specifies a set of default templates that are used in sidecar injection.
   151      # By default, a template `sidecar` is always provided, which contains the template of default sidecar.
   152      # To inject other additional templates, define it using the `templates` option, and add it to
   153      # the default templates list.
   154      # For example:
   155      #
   156      # templates:
   157      #   hello: |
   158      #     metadata:
   159      #       labels:
   160      #         hello: world
   161      #
   162      # defaultTemplates: ["sidecar", "hello"]
   163      defaultTemplates: []
   164    istiodRemote:
   165      # Sidecar injector mutating webhook configuration clientConfig.url value.
   166      # For example: https://$remotePilotAddress:15017/inject
   167      # The host should not refer to a service running in the cluster; use a service reference by specifying
   168      # the clientConfig.service field instead.
   169      injectionURL: ""
   170  
   171      # Sidecar injector mutating webhook configuration path value for the clientConfig.service field.
   172      # Override to pass env variables, for example: /inject/cluster/remote/net/network2
   173      injectionPath: "/inject"
   174  
   175      injectionCABundle: ""
   176    telemetry:
   177      enabled: true
   178      v2:
   179        # For Null VM case now.
   180        # This also enables metadata exchange.
   181        enabled: true
   182        # Indicate if prometheus stats filter is enabled or not
   183        prometheus:
   184          enabled: true
   185        # stackdriver filter settings.
   186        stackdriver:
   187          enabled: false
   188    # Revision is set as 'version' label and part of the resource names when installing multiple control planes.
   189    revision: ""
   190  
   191    # Revision tags are aliases to Istio control plane revisions
   192    revisionTags: []
   193  
   194    # For Helm compatibility.
   195    ownerName: ""
   196  
   197    # meshConfig defines runtime configuration of components, including Istiod and istio-agent behavior
   198    # See https://istio.io/docs/reference/config/istio.mesh.v1alpha1/ for all available options
   199    meshConfig:
   200      enablePrometheusMerge: true
   201  
   202    experimental:
   203      stableValidationPolicy: false
   204  
   205    global:
   206      # Used to locate istiod.
   207      istioNamespace: istio-system
   208      # List of cert-signers to allow "approve" action in the istio cluster role
   209      #
   210      # certSigners:
   211      #   - clusterissuers.cert-manager.io/istio-ca
   212      certSigners: []
   213      # enable pod disruption budget for the control plane, which is used to
   214      # ensure Istio control plane components are gradually upgraded or recovered.
   215      defaultPodDisruptionBudget:
   216        enabled: true
   217        # The values aren't mutable due to a current PodDisruptionBudget limitation
   218        # minAvailable: 1
   219  
   220      # A minimal set of requested resources to applied to all deployments so that
   221      # Horizontal Pod Autoscaler will be able to function (if set).
   222      # Each component can overwrite these default values by adding its own resources
   223      # block in the relevant section below and setting the desired resources values.
   224      defaultResources:
   225        requests:
   226          cpu: 10m
   227        #   memory: 128Mi
   228        # limits:
   229        #   cpu: 100m
   230        #   memory: 128Mi
   231  
   232      # Default hub for Istio images.
   233      # Releases are published to docker hub under 'istio' project.
   234      # Dev builds from prow are on gcr.io
   235      hub: gcr.io/istio-testing
   236      # Default tag for Istio images.
   237      tag: latest
   238      # Variant of the image to use.
   239      # Currently supported are: [debug, distroless]
   240      variant: ""
   241  
   242      # Specify image pull policy if default behavior isn't desired.
   243      # Default behavior: latest images will be Always else IfNotPresent.
   244      imagePullPolicy: ""
   245  
   246      # ImagePullSecrets for all ServiceAccount, list of secrets in the same namespace
   247      # to use for pulling any images in pods that reference this ServiceAccount.
   248      # For components that don't use ServiceAccounts (i.e. grafana, servicegraph, tracing)
   249      # ImagePullSecrets will be added to the corresponding Deployment(StatefulSet) objects.
   250      # Must be set for any cluster configured with private docker registry.
   251      imagePullSecrets: []
   252      # - private-registry-key
   253  
   254      # Enabled by default in master for maximising testing.
   255      istiod:
   256        enableAnalysis: false
   257  
   258      # To output all istio components logs in json format by adding --log_as_json argument to each container argument
   259      logAsJson: false
   260  
   261      # Comma-separated minimum per-scope logging level of messages to output, in the form of <scope>:<level>,<scope>:<level>
   262      # The control plane has different scopes depending on component, but can configure default log level across all components
   263      # If empty, default scope and level will be used as configured in code
   264      logging:
   265        level: "default:info"
   266  
   267      omitSidecarInjectorConfigMap: false
   268  
   269      # Configure whether Operator manages webhook configurations. The current behavior
   270      # of Istiod is to manage its own webhook configurations.
   271      # When this option is set as true, Istio Operator, instead of webhooks, manages the
   272      # webhook configurations. When this option is set as false, webhooks manage their
   273      # own webhook configurations.
   274      operatorManageWebhooks: false
   275  
   276      # Custom DNS config for the pod to resolve names of services in other
   277      # clusters. Use this to add additional search domains, and other settings.
   278      # see
   279      # https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#dns-config
   280      # This does not apply to gateway pods as they typically need a different
   281      # set of DNS settings than the normal application pods (e.g., in
   282      # multicluster scenarios).
   283      # NOTE: If using templates, follow the pattern in the commented example below.
   284      #podDNSSearchNamespaces:
   285      #- global
   286      #- "{{ valueOrDefault .DeploymentMeta.Namespace \"default\" }}.global"
   287  
   288      # Kubernetes >=v1.11.0 will create two PriorityClass, including system-cluster-critical and
   289      # system-node-critical, it is better to configure this in order to make sure your Istio pods
   290      # will not be killed because of low priority class.
   291      # Refer to https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
   292      # for more detail.
   293      priorityClassName: ""
   294  
   295      proxy:
   296        image: proxyv2
   297  
   298        # This controls the 'policy' in the sidecar injector.
   299        autoInject: enabled
   300  
   301        # CAUTION: It is important to ensure that all Istio helm charts specify the same clusterDomain value
   302        # cluster domain. Default value is "cluster.local".
   303        clusterDomain: "cluster.local"
   304  
   305        # Per Component log level for proxy, applies to gateways and sidecars. If a component level is
   306        # not set, then the global "logLevel" will be used.
   307        componentLogLevel: "misc:error"
   308  
   309        # If set, newly injected sidecars will have core dumps enabled.
   310        enableCoreDump: false
   311  
   312        # istio ingress capture allowlist
   313        # examples:
   314        #     Redirect only selected ports:            --includeInboundPorts="80,8080"
   315        excludeInboundPorts: ""
   316        includeInboundPorts: "*"
   317  
   318        # istio egress capture allowlist
   319        # https://istio.io/docs/tasks/traffic-management/egress.html#calling-external-services-directly
   320        # example: includeIPRanges: "172.30.0.0/16,172.20.0.0/16"
   321        # would only capture egress traffic on those two IP Ranges, all other outbound traffic would
   322        # be allowed by the sidecar
   323        includeIPRanges: "*"
   324        excludeIPRanges: ""
   325        includeOutboundPorts: ""
   326        excludeOutboundPorts: ""
   327  
   328        # Log level for proxy, applies to gateways and sidecars.
   329        # Expected values are: trace|debug|info|warning|error|critical|off
   330        logLevel: warning
   331  
   332        # Specify the path to the outlier event log.
   333        # Example: /dev/stdout
   334        outlierLogPath: ""
   335  
   336        #If set to true, istio-proxy container will have privileged securityContext
   337        privileged: false
   338  
   339        # The number of successive failed probes before indicating readiness failure.
   340        readinessFailureThreshold: 4
   341  
   342        # The initial delay for readiness probes in seconds.
   343        readinessInitialDelaySeconds: 0
   344  
   345        # The period between readiness probes.
   346        readinessPeriodSeconds: 15
   347  
   348        # Enables or disables a startup probe.
   349        # For optimal startup times, changing this should be tied to the readiness probe values.
   350        #
   351        # If the probe is enabled, it is recommended to have delay=0s,period=15s,failureThreshold=4.
   352        # This ensures the pod is marked ready immediately after the startup probe passes (which has a 1s poll interval),
   353        # and doesn't spam the readiness endpoint too much
   354        #
   355        # If the probe is disabled, it is recommended to have delay=1s,period=2s,failureThreshold=30.
   356        # This ensures the startup is reasonable fast (polling every 2s). 1s delay is used since the startup is not often ready instantly.
   357        startupProbe:
   358          enabled: true
   359          failureThreshold: 600 # 10 minutes
   360  
   361        # Resources for the sidecar.
   362        resources:
   363          requests:
   364            cpu: 100m
   365            memory: 128Mi
   366          limits:
   367            cpu: 2000m
   368            memory: 1024Mi
   369  
   370        # Default port for Pilot agent health checks. A value of 0 will disable health checking.
   371        statusPort: 15020
   372  
   373        # Specify which tracer to use. One of: zipkin, lightstep, datadog, stackdriver, none.
   374        # If using stackdriver tracer outside GCP, set env GOOGLE_APPLICATION_CREDENTIALS to the GCP credential file.
   375        tracer: "none"
   376  
   377      proxy_init:
   378        # Base name for the proxy_init container, used to configure iptables.
   379        image: proxyv2
   380  
   381      # configure remote pilot and istiod service and endpoint
   382      remotePilotAddress: ""
   383  
   384      ##############################################################################################
   385      # The following values are found in other charts. To effectively modify these values, make   #
   386      # make sure they are consistent across your Istio helm charts                                #
   387      ##############################################################################################
   388  
   389      # The customized CA address to retrieve certificates for the pods in the cluster.
   390      # CSR clients such as the Istio Agent and ingress gateways can use this to specify the CA endpoint.
   391      # If not set explicitly, default to the Istio discovery address.
   392      caAddress: ""
   393  
   394      # Configure a remote cluster data plane controlled by an external istiod.
   395      # When set to true, istiod is not deployed locally and only a subset of the other
   396      # discovery charts are enabled.
   397      externalIstiod: false
   398  
   399      # Configure a remote cluster as the config cluster for an external istiod.
   400      configCluster: false
   401  
   402      # configValidation enables the validation webhook for Istio configuration.
   403      configValidation: true
   404  
   405      # Mesh ID means Mesh Identifier. It should be unique within the scope where
   406      # meshes will interact with each other, but it is not required to be
   407      # globally/universally unique. For example, if any of the following are true,
   408      # then two meshes must have different Mesh IDs:
   409      # - Meshes will have their telemetry aggregated in one place
   410      # - Meshes will be federated together
   411      # - Policy will be written referencing one mesh from the other
   412      #
   413      # If an administrator expects that any of these conditions may become true in
   414      # the future, they should ensure their meshes have different Mesh IDs
   415      # assigned.
   416      #
   417      # Within a multicluster mesh, each cluster must be (manually or auto)
   418      # configured to have the same Mesh ID value. If an existing cluster 'joins' a
   419      # multicluster mesh, it will need to be migrated to the new mesh ID. Details
   420      # of migration TBD, and it may be a disruptive operation to change the Mesh
   421      # ID post-install.
   422      #
   423      # If the mesh admin does not specify a value, Istio will use the value of the
   424      # mesh's Trust Domain. The best practice is to select a proper Trust Domain
   425      # value.
   426      meshID: ""
   427  
   428      # Configure the mesh networks to be used by the Split Horizon EDS.
   429      #
   430      # The following example defines two networks with different endpoints association methods.
   431      # For `network1` all endpoints that their IP belongs to the provided CIDR range will be
   432      # mapped to network1. The gateway for this network example is specified by its public IP
   433      # address and port.
   434      # The second network, `network2`, in this example is defined differently with all endpoints
   435      # retrieved through the specified Multi-Cluster registry being mapped to network2. The
   436      # gateway is also defined differently with the name of the gateway service on the remote
   437      # cluster. The public IP for the gateway will be determined from that remote service (only
   438      # LoadBalancer gateway service type is currently supported, for a NodePort type gateway service,
   439      # it still need to be configured manually).
   440      #
   441      # meshNetworks:
   442      #   network1:
   443      #     endpoints:
   444      #     - fromCidr: "192.168.0.1/24"
   445      #     gateways:
   446      #     - address: 1.1.1.1
   447      #       port: 80
   448      #   network2:
   449      #     endpoints:
   450      #     - fromRegistry: reg1
   451      #     gateways:
   452      #     - registryServiceName: istio-ingressgateway.istio-system.svc.cluster.local
   453      #       port: 443
   454      #
   455      meshNetworks: {}
   456  
   457      # Use the user-specified, secret volume mounted key and certs for Pilot and workloads.
   458      mountMtlsCerts: false
   459  
   460      multiCluster:
   461        # Set to true to connect two kubernetes clusters via their respective
   462        # ingressgateway services when pods in each cluster cannot directly
   463        # talk to one another. All clusters should be using Istio mTLS and must
   464        # have a shared root CA for this model to work.
   465        enabled: false
   466        # Should be set to the name of the cluster this installation will run in. This is required for sidecar injection
   467        # to properly label proxies
   468        clusterName: ""
   469  
   470      # Network defines the network this cluster belong to. This name
   471      # corresponds to the networks in the map of mesh networks.
   472      network: ""
   473  
   474      # Configure the certificate provider for control plane communication.
   475      # Currently, two providers are supported: "kubernetes" and "istiod".
   476      # As some platforms may not have kubernetes signing APIs,
   477      # Istiod is the default
   478      pilotCertProvider: istiod
   479  
   480      sds:
   481        # The JWT token for SDS and the aud field of such JWT. See RFC 7519, section 4.1.3.
   482        # When a CSR is sent from Istio Agent to the CA (e.g. Istiod), this aud is to make sure the
   483        # JWT is intended for the CA.
   484        token:
   485          aud: istio-ca
   486  
   487      sts:
   488        # The service port used by Security Token Service (STS) server to handle token exchange requests.
   489        # Setting this port to a non-zero value enables STS server.
   490        servicePort: 0
   491  
   492      # The name of the CA for workload certificates.
   493      # For example, when caName=GkeWorkloadCertificate, GKE workload certificates
   494      # will be used as the certificates for workloads.
   495      # The default value is "" and when caName="", the CA will be configured by other
   496      # mechanisms (e.g., environmental variable CA_PROVIDER).
   497      caName: ""
   498  
   499      # whether to use autoscaling/v2 template for HPA settings
   500      # for internal usage only, not to be configured by users.
   501      autoscalingv2API: true
   502  
   503    base:
   504      # For istioctl usage to disable istio config crds in base
   505      enableIstioConfigCRDs: true
   506  
   507    # `istio_cni` has been deprecated and will be removed in a future release. use `pilot.cni` instead
   508    istio_cni:
   509      # `chained` has been deprecated and will be removed in a future release. use `provider` instead
   510      chained: true
   511      provider: default