BEL configuration reference
Use these values to configure BEL during installation and upgrade.
linkerd install --crds --set=key=valueLearn more about using these flags.
| Chart name |
|---|
| linkerd-enterprise-crds |
linkerd install --set=key=valueLearn more about using these flags.
| Chart name |
|---|
| linkerd-enterprise-control-plane |
clusterNetworks
The cluster networks for which service discovery is performed. This should include the pod and service networks, but need not include the node network. By default, all IPv4 private networks and all accepted IPv6 ULAs are specified so that resolution works in typical Kubernetes environments.
| Type | Default |
|---|---|
| string | "10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16,fd00::/8" |
cniEnabled
enabling this omits the NET_ADMIN capability in the PSP and the proxy-init container when injecting the proxy; requires the linkerd-cni plugin to already be installed
| Type | Default |
|---|---|
| bool | false |
configReaders
List of additional service accounts with read access to the linkerd-config ConfigMap
| Type | Default |
|---|---|
| string | nil |
controller.podDisruptionBudget
sets pod disruption budget parameter for all deployments
| Type | Default |
|---|---|
| object | {"maxUnavailable":1} |
controller.tracing.collector.endpoint
The collector endpoint to send traces to. Required if tracing is enabled. If this is unset and proxy.tracing.collector.endpoint is set, that endpoint will be re-used here.
| Type | Default |
|---|---|
| string | "" |
controllerGID
Optional customisation of the group ID for the control plane components (the group ID will be omitted if lower than 0)
| Type | Default |
|---|---|
| int | -1 |
controllerImage
Docker image for the destination and identity components
| Type | Default |
|---|---|
| string | "ghcr.io/buoyantio/controller" |
controllerImageVersion
Optionally allow a specific container image Tag (or SHA) to be specified for the controllerImage.
| Type | Default |
|---|---|
| string | "" |
debugContainer.image.name
Docker image for the debug container
| Type | Default |
|---|---|
| string | "cr.l5d.io/linkerd/debug" |
debugContainer.image.pullPolicy
Pull policy for the debug container image
| Type | Default |
|---|---|
| string | imagePullPolicy |
deploymentStrategy
default kubernetes deployment strategy
| Type | Default |
|---|---|
| object | {"rollingUpdate":{"maxSurge":"25%","maxUnavailable":"25%"}} |
destinationController.podAnnotations
Additional annotations to add to destination pods
| Type | Default |
|---|---|
| object | {} |
disableIPv6
disables routing IPv6 traffic in addition to IPv4 traffic through the proxy (IPv6 routing only available as of proxy-init v2.3.0 and linkerd-cni v1.4.0)
| Type | Default |
|---|---|
| bool | true |
egress.globalEgressNetworkNamespace
The namespace that is used to store egress configuration that affects all client workloads in the cluster
| Type | Default |
|---|---|
| string | "linkerd-egress" |
enableEndpointSlices
enables the use of EndpointSlice informers for the destination service; enableEndpointSlices should be set to true only if EndpointSlice K8s feature gate is on
| Type | Default |
|---|---|
| bool | true |
enablePSP
Add a PSP resource and bind it to the control plane ServiceAccounts. Note PSP has been deprecated since k8s v1.21
| Type | Default |
|---|---|
| bool | false |
enablePodAntiAffinity
enables pod anti affinity creation on deployments for high availability
| Type | Default |
|---|---|
| bool | false |
enablePodDisruptionBudget
enables the creation of pod disruption budgets for control plane components
| Type | Default |
|---|---|
| bool | false |
enablePprof
enables the use of pprof endpoints on control plane component’s admin servers
| Type | Default |
|---|---|
| bool | false |
identity.externalCA
If the linkerd-identity-trust-roots ConfigMap has already been created
| Type | Default |
|---|---|
| bool | false |
identity.issuer.clockSkewAllowance
Amount of time to allow for clock skew within a Linkerd cluster
| Type | Default |
|---|---|
| string | "20s" |
identity.issuer.issuanceLifetime
Amount of time for which the Identity issuer should certify identity
| Type | Default |
|---|---|
| string | "24h0m0s" |
identity.issuer.tls
Which scheme is used for the identity issuer secret format
| Type | Default |
|---|---|
| object | {"crtPEM":"","keyPEM":""} |
identity.issuer.tls.crtPEM
Issuer certificate (ECDSA). It must be provided during install.
| Type | Default |
|---|---|
| string | "" |
identity.issuer.tls.keyPEM
Key for the issuer certificate (ECDSA). It must be provided during install
| Type | Default |
|---|---|
| string | "" |
identity.kubeAPI.clientQPS
Maximum QPS sent to the kube-apiserver before throttling. See token bucket rate limiter implementation
| Type | Default |
|---|---|
| int | 100 |
identity.serviceAccountTokenProjection
Use Service Account token Volume projection for pod validation instead of the default token
| Type | Default |
|---|---|
| bool | true |
identityTrustAnchorsPEM
Trust root certificate (ECDSA). It must be provided during install.
| Type | Default |
|---|---|
| string | "" |
imagePullSecrets
For Private docker registries, authentication is needed. Registry secrets are applied to the respective service accounts
| Type | Default |
|---|---|
| list | [] |
kubeAPI.clientQPS
Maximum QPS sent to the kube-apiserver before throttling. See token bucket rate limiter implementation
| Type | Default |
|---|---|
| int | 100 |
license
Buoyant Enterprise for Linkerd license. Obtain at https://enterprise.buoyant.io. Exactly one of license or licenseSecret must be set.
| Type | Default |
|---|---|
| string | nil |
licenseSecret
Name of the secret containing the Buoyant Enterprise for Linkerd license, at key license. Exactly one of license or licenseSecret must be set.
| Type | Default |
|---|---|
| string | nil |
linkerdVersion
control plane version. See Proxy section for proxy version
| Type | Default |
|---|---|
| string | "enterprise-2.19.0" |
networkValidator.connectAddr
Address to which the network-validator will attempt to connect. This should be an IP that the cluster is expected to be able to reach but a port it should not, e.g., a public IP for public clusters and a private IP for air-gapped clusters with a port like 20001. If empty, defaults to 1.1.1.1:20001 and [fd00::1]:20001 for IPv4 and IPv6 respectively.
| Type | Default |
|---|---|
| string | "" |
networkValidator.listenAddr
Address to which network-validator listens to requests from itself. If empty, defaults to 0.0.0.0:4140 and [::]:4140 for IPv4 and IPv6 respectively.
| Type | Default |
|---|---|
| string | "" |
networkValidator.securityContext
The securityContext in the network-validator pod spec
| Type | Default |
|---|---|
| object | {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsGroup":65534,"runAsNonRoot":true,"runAsUser":65534,"seccompProfile":{"type":"RuntimeDefault"}} |
networkValidator.timeout
Timeout before network-validator fails to validate the pod’s network connectivity
| Type | Default |
|---|---|
| string | "10s" |
nodeSelector
NodeSelector section, See the K8S documentation for more information
| Type | Default |
|---|---|
| object | {"kubernetes.io/os":"linux"} |
podMonitor.controller.enabled
Enables the creation of PodMonitor for the control-plane
| Type | Default |
|---|---|
| bool | true |
podMonitor.controller.namespaceSelector
Selector to select which namespaces the Endpoints objects are discovered from
| Type | Default |
|---|---|
| string | "matchNames:
- {{ .Release.Namespace }}
- linkerd-viz
" |
podMonitor.serviceMirror.enabled
Enables the creation of PodMonitor for the Service Mirror component
| Type | Default |
|---|---|
| bool | true |
policyController.probeNetworks
The networks from which probes are performed. By default, all networks are allowed so that all probes are authorized.
| Type | Default |
|---|---|
| list | ["0.0.0.0/0","::/0"] |
policyController.resources
policy controller resource requests & limits
| Type | Default |
|---|---|
| object | {"cpu":{"limit":"","request":""},"ephemeral-storage":{"limit":"","request":""},"memory":{"limit":"","request":""}} |
policyController.resources.cpu.limit
Maximum amount of CPU units that the policy controller can use
| Type | Default |
|---|---|
| string | "" |
policyController.resources.cpu.request
Amount of CPU units that the policy controller requests
| Type | Default |
|---|---|
| string | "" |
policyController.resources.ephemeral-storage.limit
Maximum amount of ephemeral storage that the policy controller can use
| Type | Default |
|---|---|
| string | "" |
policyController.resources.ephemeral-storage.request
Amount of ephemeral storage that the policy controller requests
| Type | Default |
|---|---|
| string | "" |
policyController.resources.memory.limit
Maximum amount of memory that the policy controller can use
| Type | Default |
|---|---|
| string | "" |
policyController.resources.memory.request
Maximum amount of memory that the policy controller requests
| Type | Default |
|---|---|
| string | "" |
policyValidator.caBundle
Bundle of CA certificates for proxy injector. If not provided nor injected with cert-manager, then Helm will use the certificate generated for policyValidator.crtPEM. If policyValidator.externalSecret is set to true, this value, injectCaFrom, or injectCaFromSecret must be set, as no certificate will be generated. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
policyValidator.crtPEM
Certificate for the policy validator. If not provided and not using an external secret then Helm will generate one.
| Type | Default |
|---|---|
| string | "" |
policyValidator.externalSecret
Do not create a secret resource for the policyValidator webhook. If this is set to true, the value policyValidator.caBundle must be set or the ca bundle must injected with cert-manager ca injector using policyValidator.injectCaFrom or policyValidator.injectCaFromSecret (see below).
| Type | Default |
|---|---|
| bool | false |
policyValidator.injectCaFrom
Inject the CA bundle from a cert-manager Certificate. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
policyValidator.injectCaFromSecret
Inject the CA bundle from a Secret. If set, the cert-manager.io/inject-ca-from-secret annotation will be added to the webhook. The Secret must have the CA Bundle stored in the ca.crt key and have the cert-manager.io/allow-direct-injection annotation set to true. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
policyValidator.keyPEM
Certificate key for the policy validator. If not provided and not using an external secret then Helm will generate one.
| Type | Default |
|---|---|
| string | "" |
policyValidator.namespaceSelector
Namespace selector used by admission webhook
| Type | Default |
|---|---|
| object | {"matchExpressions":[{"key":"config.linkerd.io/admission-webhooks","operator":"NotIn","values":["disabled"]}]} |
profileValidator.caBundle
Bundle of CA certificates for proxy injector. If not provided nor injected with cert-manager, then Helm will use the certificate generated for profileValidator.crtPEM. If profileValidator.externalSecret is set to true, this value, injectCaFrom, or injectCaFromSecret must be set, as no certificate will be generated. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
profileValidator.crtPEM
Certificate for the service profile validator. If not provided and not using an external secret then Helm will generate one.
| Type | Default |
|---|---|
| string | "" |
profileValidator.externalSecret
Do not create a secret resource for the profileValidator webhook. If this is set to true, the value proxyInjector.caBundle must be set or the ca bundle must injected with cert-manager ca injector using proxyInjector.injectCaFrom or proxyInjector.injectCaFromSecret (see below).
| Type | Default |
|---|---|
| bool | false |
profileValidator.injectCaFrom
Inject the CA bundle from a cert-manager Certificate. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
profileValidator.injectCaFromSecret
Inject the CA bundle from a Secret. If set, the cert-manager.io/inject-ca-from-secret annotation will be added to the webhook. The Secret must have the CA Bundle stored in the ca.crt key and have the cert-manager.io/allow-direct-injection annotation set to true. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
profileValidator.keyPEM
Certificate key for the service profile validator. If not provided and not using an external secret then Helm will generate one.
| Type | Default |
|---|---|
| string | "" |
profileValidator.namespaceSelector
Namespace selector used by admission webhook
| Type | Default |
|---|---|
| object | {"matchExpressions":[{"key":"config.linkerd.io/admission-webhooks","operator":"NotIn","values":["disabled"]}]} |
proxy.await
If set, the application container will not start until the proxy is ready
| Type | Default |
|---|---|
| bool | true |
proxy.control.streams.idleTimeout
The timeout between consecutive updates from the control plane.
| Type | Default |
|---|---|
| string | "5m" |
proxy.control.streams.initialTimeout
The timeout for the first update from the control plane.
| Type | Default |
|---|---|
| string | "3s" |
proxy.control.streams.lifetime
The maximum duration for a response stream (i.e. before it will be reinitialized).
| Type | Default |
|---|---|
| string | "1h" |
proxy.defaultInboundPolicy
The default allow policy to use when no Server selects a pod. One of: “all-authenticated”, “all-unauthenticated”, “cluster-authenticated”, “cluster-unauthenticated”, “deny”, “audit”
| Type | Default |
|---|---|
| string | "all-unauthenticated" |
proxy.disableInboundProtocolDetectTimeout
When set to true, disables the protocol detection timeout on the inbound side of the proxy by setting it to a very high value
| Type | Default |
|---|---|
| bool | false |
proxy.disableOutboundProtocolDetectTimeout
When set to true, disables the protocol detection timeout on the outbound side of the proxy by setting it to a very high value
| Type | Default |
|---|---|
| bool | false |
proxy.enableExternalProfiles
Enable service profiles for non-Kubernetes services
| Type | Default |
|---|---|
| bool | false |
proxy.gid
Optional customisation of the group id under which the proxy runs (the group ID will be omitted if lower than 0)
| Type | Default |
|---|---|
| int | -1 |
proxy.inbound.server.http2.keepAliveInterval
The interval at which PINGs are issued to remote HTTP/2 clients.
| Type | Default |
|---|---|
| string | "10s" |
proxy.inbound.server.http2.keepAliveTimeout
The timeout within which keep-alive PINGs must be acknowledged on inbound HTTP/2 connections.
| Type | Default |
|---|---|
| string | "3s" |
proxy.inboundConnectTimeout
Maximum time allowed for the proxy to establish an inbound TCP connection
| Type | Default |
|---|---|
| string | "100ms" |
proxy.inboundDiscoveryCacheUnusedTimeout
Maximum time allowed before an unused inbound discovery result is evicted from the cache
| Type | Default |
|---|---|
| string | "90s" |
proxy.livenessProbe
LivenessProbe timeout and delay configuration
| Type | Default |
|---|---|
| object | {"initialDelaySeconds":10,"timeoutSeconds":1} |
proxy.logHTTPHeaders
If set to off, will prevent the proxy from logging HTTP headers. If set to insecure, HTTP headers may be logged verbatim. Note that setting this to insecure is not alone sufficient to log HTTP headers; the proxy logLevel must also be set to debug.
| Type | Default |
|---|---|
| `off` or `insecure` | "off" |
proxy.metrics.hostnameLabels
Whether or not to export hostname labels in outbound request metrics.
| Type | Default |
|---|---|
| bool | false |
proxy.nativeSidecar
Enable KEP-753 native sidecars This is a beta feature. It requires Kubernetes >= 1.29. If enabled, .proxy.waitBeforeExitSeconds should not be used.
| Type | Default |
|---|---|
| bool | false |
proxy.opaquePorts
Default set of opaque ports - SMTP (25,587) server-first - MYSQL (3306) server-first - Galera (4444) server-first - PostgreSQL (5432) server-first - Redis (6379) server-first - ElasticSearch (9300) server-first - Memcached (11211) clients do not issue any preamble, which breaks detection
| Type | Default |
|---|---|
| string | "25,587,3306,4444,5432,6379,9300,11211" |
proxy.outbound.server.http2.keepAliveInterval
The interval at which PINGs are issued to local application HTTP/2 clients.
| Type | Default |
|---|---|
| string | "10s" |
proxy.outbound.server.http2.keepAliveTimeout
The timeout within which keep-alive PINGs must be acknowledged on outbound HTTP/2 connections.
| Type | Default |
|---|---|
| string | "3s" |
proxy.outboundConnectTimeout
Maximum time allowed for the proxy to establish an outbound TCP connection
| Type | Default |
|---|---|
| string | "1000ms" |
proxy.outboundDiscoveryCacheUnusedTimeout
Maximum time allowed before an unused outbound discovery result is evicted from the cache
| Type | Default |
|---|---|
| string | "5s" |
proxy.outboundTransportMode
Configures the outbound transport mode. Valid values are “transport-header” and “transparent”
| Type | Default |
|---|---|
| string | "transport-header" |
proxy.readinessProbe
ReadinessProbe timeout and delay configuration
| Type | Default |
|---|---|
| object | {"initialDelaySeconds":2,"timeoutSeconds":1} |
proxy.resources.cpu
CPU configuration, when specified globally in Helm values, should be kept in sync with the above runtime.workers.minimum configuration. The minimum should reflect at least the CPU request. When a limit is set, the minimum should match the limit (and the maximumCPURatio should be unset).
| Type | Default |
|---|---|
| object | {"limit":"","request":""} |
proxy.resources.ephemeral-storage.limit
Maximum amount of ephemeral storage that the proxy can use
| Type | Default |
|---|---|
| string | "" |
proxy.resources.ephemeral-storage.request
Amount of ephemeral storage that the proxy requests
| Type | Default |
|---|---|
| string | "" |
proxy.runtime.workers
Worker threadpool configuration. The minimum will be automatically derived from workload proxy CPU requests, when they are configured by annotation. A cluster-level maximum may be configured here (and a workload-level annotation is supported as well).
| Type | Default |
|---|---|
| object | {"maximumCPURatio":null,"minimum":1} |
proxy.runtime.workers.maximumCPURatio
Maximum number of worker threads that the proxy can use, by ratio of the number of available CPUs. A value of 1.0 allocates a worker thread for all available CPUs. A value of 0.1 allocates a worker thread for 10% of the available CPUs.
| Type | Default |
|---|---|
| string | nil |
proxy.runtime.workers.minimum
Configures a lower bound on the number of worker threads that the proxy can use. When maximumCPURatio is not set, this value is used.
| Type | Default |
|---|---|
| int | 1 |
proxy.shutdownGracePeriod
Grace period for graceful proxy shutdowns. If this timeout elapses before all open connections have completed, the proxy will terminate forcefully, closing any remaining connections.
| Type | Default |
|---|---|
| string | "" |
proxy.tracing.collector.meshIdentity
The identity of the collector in the linkerd mesh.
| Type | Default |
|---|---|
| object | {"namespace":"","serviceAccountName":""} |
proxy.tracing.collector.meshIdentity.namespace
Mesh identity namespace for the trace collector. This should be set to the namespace of the service account attached to the collector. If there’s no explicitly set service account, this is the namespace of the collector.
| Type | Default |
|---|---|
| string | "" |
proxy.tracing.collector.meshIdentity.serviceAccountName
Mesh identity name for the trace collector. This should be set to the name of the service account attached to the collector. If there’s no explicitly set service account, this will probably be “default”.
| Type | Default |
|---|---|
| string | "" |
proxy.tracing.labels
Additional labels to add to the traces emitted by the proxy. These should generally not be set globally, and instead overridden on individual workloads via resource.opentelemetry.io/<label> annotations.
| Type | Default |
|---|---|
| object | {"k8s.container.name":"$(_pod_containerName)","k8s.pod.ip":"$(_pod_ip)","k8s.pod.uid":"$(_pod_uid)"} |
proxy.waitBeforeExitSeconds
If set the injected proxy sidecars in the data plane will stay alive for at least the given period before receiving the SIGTERM signal from Kubernetes but no longer than the pod’s terminationGracePeriodSeconds. See Lifecycle hooks for more info on container lifecycle hooks.
| Type | Default |
|---|---|
| int | 0 |
proxyInit.closeWaitTimeoutSecs
Changes the default value for the nf_conntrack_tcp_timeout_close_wait kernel parameter. If used, runAsRoot needs to be true.
| Type | Default |
|---|---|
| int | 0 |
proxyInit.ignoreInboundPorts
Default set of inbound ports to skip via iptables - Galera (4567,4568)
| Type | Default |
|---|---|
| string | "4567,4568" |
proxyInit.ignoreOutboundPorts
Default set of outbound ports to skip via iptables - Galera (4567,4568)
| Type | Default |
|---|---|
| string | "4567,4568" |
proxyInit.image.name
Docker image for the proxy-init container
| Type | Default |
|---|---|
| string | "ghcr.io/buoyantio/proxy-init" |
proxyInit.image.pullPolicy
Pull policy for the proxy-init container image
| Type | Default |
|---|---|
| string | imagePullPolicy |
proxyInit.iptablesMode
Variant of iptables that will be used to configure routing. Currently, proxy-init can be run either in ’nft’ or in ’legacy’ mode. The mode will control which utility binary will be called. The host must support whichever mode will be used
| Type | Default |
|---|---|
| string | "nft" |
proxyInit.kubeAPIServerPorts
Default set of ports to skip via iptables for control plane components so they can communicate with the Kubernetes API Server
| Type | Default |
|---|---|
| string | "443,6443" |
proxyInit.privileged
Privileged mode allows the container processes to inherit all security capabilities and bypass any security limitations enforced by the kubelet. When used with ‘runAsRoot: true’, the container will behave exactly as if it was running as root on the host. May escape cgroup limits and see other processes and devices on the host.
| Type | Default |
|---|---|
| bool | false |
proxyInit.runAsGroup
This value is used only if runAsRoot is false; otherwise runAsGroup will be 0
| Type | Default |
|---|---|
| int | 65534 |
proxyInit.runAsRoot
Allow overriding the runAsNonRoot behaviour (https://github.com/linkerd/linkerd2/issues/7308)
| Type | Default |
|---|---|
| bool | false |
proxyInit.runAsUser
This value is used only if runAsRoot is false; otherwise runAsUser will be 0
| Type | Default |
|---|---|
| int | 65534 |
proxyInit.skipSubnets
Comma-separated list of subnets in valid CIDR format that should be skipped by the proxy
| Type | Default |
|---|---|
| string | "" |
proxyInjector.caBundle
Bundle of CA certificates for proxy injector. If not provided nor injected with cert-manager, then Helm will use the certificate generated for proxyInjector.crtPEM. If proxyInjector.externalSecret is set to true, this value, injectCaFrom, or injectCaFromSecret must be set, as no certificate will be generated. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
proxyInjector.crtPEM
Certificate for the proxy injector. If not provided and not using an external secret then Helm will generate one.
| Type | Default |
|---|---|
| string | "" |
proxyInjector.externalSecret
Do not create a secret resource for the proxyInjector webhook. If this is set to true, the value proxyInjector.caBundle must be set or the ca bundle must injected with cert-manager ca injector using proxyInjector.injectCaFrom or proxyInjector.injectCaFromSecret (see below).
| Type | Default |
|---|---|
| bool | false |
proxyInjector.injectCaFrom
Inject the CA bundle from a cert-manager Certificate. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
proxyInjector.injectCaFromSecret
Inject the CA bundle from a Secret. If set, the cert-manager.io/inject-ca-from-secret annotation will be added to the webhook. The Secret must have the CA Bundle stored in the ca.crt key and have the cert-manager.io/allow-direct-injection annotation set to true. See the cert-manager CA Injector Docs for more information.
| Type | Default |
|---|---|
| string | "" |
proxyInjector.keyPEM
Certificate key for the proxy injector. If not provided and not using an external secret then Helm will generate one.
| Type | Default |
|---|---|
| string | "" |
proxyInjector.namespaceSelector
Namespace selector used by admission webhook.
| Type | Default |
|---|---|
| object | {"matchExpressions":[{"key":"config.linkerd.io/admission-webhooks","operator":"NotIn","values":["disabled"]},{"key":"kubernetes.io/metadata.name","operator":"NotIn","values":["kube-system","cert-manager"]}]} |
proxyInjector.objectSelector
Object selector used by admission webhook.
| Type | Default |
|---|---|
| object | {"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"DoesNotExist"},{"key":"linkerd.io/cni-resource","operator":"DoesNotExist"}]} |
proxyInjector.podAnnotations
Additional annotations to add to proxy-injector pods
| Type | Default |
|---|---|
| object | {} |
proxyInjector.timeoutSeconds
Timeout in seconds before the API Server cancels a request to the proxy injector. If timeout is exceeded, the webhookfailurePolicy is used.
| Type | Default |
|---|---|
| int | 10 |
revisionHistoryLimit
Specifies the number of old ReplicaSets to retain to allow rollback.
| Type | Default |
|---|---|
| int | 10 |
linkerd multicluster install --set=key=valueLearn more about using these flags.
| Chart name |
|---|
| linkerd-enterprise-multicluster |
controllerDefaults.enableHeadlessServices
Toggle support for mirroring headless services
| Type | Default |
|---|---|
| bool | false |
controllerDefaults.enablePprof
Enables the use of pprof endpoints for the controller
| Type | Default |
|---|---|
| bool | false |
controllerDefaults.resources
Resources to assign to the controller. See policyController.resources in the linkerd-control-plane chart for the expected format
| Type | Default |
|---|---|
| object | {} |
controllerDefaults.retryLimit
Number of times service mirror updates are allowed to be requeued (retried)
| Type | Default |
|---|---|
| int | 3 |
controllers
List of service mirror controllers. References to the Links deployed in the cluster, each of which will have a corresponding service mirror controller deployed. Only link.ref.name is required for each entry. Example (all the missing values take their values from controllerDefaults): controllers: - link: ref: name: target1 logLevel: debug - link: ref: name: target2 gateway: enabled: false replicas: 2
| Type | Default |
|---|---|
| list | [] |
createNamespaceMetadataJob
Creates a Job that adds necessary metadata to the extension’s namespace during install; disable if lack of privileges require doing this manually
| Type | Default |
|---|---|
| bool | true |
enableNamespaceCreation
Toggle support for creating namespaces for mirror services when necessary
| Type | Default |
|---|---|
| bool | false |
enablePSP
Create Roles and RoleBindings to associate this extension’s ServiceAccounts to the control plane PSP resource. This requires that enabledPSP is set to true on the control plane install. Note PSP has been deprecated since k8s v1.21
| Type | Default |
|---|---|
| bool | false |
enablePodAntiAffinity
Enables Pod Anti Affinity logic to balance the placement of replicas across hosts and zones for High Availability. Enable this only when you have multiple replicas of components.
| Type | Default |
|---|---|
| bool | false |
gateway.probe.path
The path that will be used by remote clusters for determining whether the gateway is alive
| Type | Default |
|---|---|
| string | "/ready" |
gateway.serviceExternalTrafficPolicy
Set externalTrafficPolicy on gateway service
| Type | Default |
|---|---|
| string | "" |
gateway.terminationGracePeriodSeconds
Set terminationGracePeriodSeconds on gateway deployment
| Type | Default |
|---|---|
| string | "" |
identityTrustDomain
Identity Trust Domain of the certificate authority
| Type | Default |
|---|---|
| string | "cluster.local" |
imagePullPolicy
Docker imagePullPolicy for all multicluster components
| Type | Default |
|---|---|
| string | "IfNotPresent" |
imagePullSecrets
For Private docker registries, authentication is needed. Registry secrets are applied to the respective service accounts
| Type | Default |
|---|---|
| list | [] |
localServiceMirror.enablePprof
enables the use of pprof endpoints on control plane component’s admin servers
| Type | Default |
|---|---|
| bool | false |
localServiceMirror.excludedAnnotations
Annotations that should not be copied from the local service to the mirror service.
| Type | Default |
|---|---|
| string | "" |
localServiceMirror.excludedLabels
Labels that should not be copied from the local service to the mirror service.
| Type | Default |
|---|---|
| string | "" |
localServiceMirror.federatedServiceSelector
Label selector for federated service members in the local cluster.
| Type | Default |
|---|---|
| string | "mirror.linkerd.io/federated=member" |
localServiceMirror.image.name
Docker image for the Service mirror component (uses the Linkerd controller image)
| Type | Default |
|---|---|
| string | "ghcr.io/buoyantio/controller" |
localServiceMirror.image.pullPolicy
Pull policy for the Service mirror container image
| Type | Default |
|---|---|
| string | imagePullPolicy |
localServiceMirror.image.version
Tag for the Service mirror container image
| Type | Default |
|---|---|
| string | linkerdVersion |
localServiceMirror.serviceMirrorRetryLimit
Number of times local service mirror updates are allowed to be requeued (retried)
| Type | Default |
|---|---|
| int | 3 |
namespaceMetadata.image.name
Docker image name for the namespace-metadata instance
| Type | Default |
|---|---|
| string | "extension-init" |
namespaceMetadata.image.pullPolicy
Pull policy for the namespace-metadata instance
| Type | Default |
|---|---|
| string | imagePullPolicy |
namespaceMetadata.image.registry
Docker registry for the namespace-metadata instance
| Type | Default |
|---|---|
| string | "ghcr.io/buoyantio" |
namespaceMetadata.image.tag
Docker image tag for the namespace-metadata instance
| Type | Default |
|---|---|
| string | "enterprise-2.19.0" |
namespaceMetadata.nodeSelector
Node selectors for the namespace-metadata instance
| Type | Default |
|---|---|
| object | {} |
remoteMirrorServiceAccount
If the remote mirror service account should be installed
| Type | Default |
|---|---|
| bool | true |