BEL configuration reference

Use these values to configure BEL during installation and upgrade.

linkerd install --crds --set=key=value

Learn more about using these flags.

Chart name
linkerd-enterprise-crds

enableHttpRoutes

TypeDefault
booltrue

enableTcpRoutes

TypeDefault
booltrue

enableTlsRoutes

TypeDefault
booltrue

manageExternalWorkloads

TypeDefault
boolfalse
linkerd install --set=key=value

Learn more about using these flags.

Chart name
linkerd-enterprise-control-plane

clusterDomain

Kubernetes DNS Domain name to use

TypeDefault
string"cluster.local"

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.

TypeDefault
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

TypeDefault
boolfalse

commonLabels

Labels to apply to all resources

TypeDefault
object{}

controlPlaneTracing

enables control plane tracing

TypeDefault
boolfalse

controlPlaneTracingNamespace

namespace to send control plane traces to

TypeDefault
string"linkerd-jaeger"

controller.podDisruptionBudget

sets pod disruption budget parameter for all deployments

TypeDefault
object{"maxUnavailable":1}

controller.podDisruptionBudget.maxUnavailable

Maximum number of pods that can be unavailable during disruption

TypeDefault
int1

controllerGID

Optional customisation of the group ID for the control plane components (the group ID will be omitted if lower than 0)

TypeDefault
int-1

controllerImage

Docker image for the destination and identity components

TypeDefault
string"ghcr.io/buoyantio/controller"

controllerImageVersion

Optionally allow a specific container image Tag (or SHA) to be specified for the controllerImage.

TypeDefault
string""

controllerLogFormat

Log format for the control plane components

TypeDefault
string"plain"

controllerLogLevel

Log level for the control plane components

TypeDefault
string"info"

controllerReplicas

Number of replicas for each control plane pod

TypeDefault
int1

controllerUID

User ID for the control plane components

TypeDefault
int2103

debugContainer.image.name

Docker image for the debug container

TypeDefault
string"cr.l5d.io/linkerd/debug"

debugContainer.image.pullPolicy

Pull policy for the debug container image

TypeDefault
stringimagePullPolicy

debugContainer.image.version

Tag for the debug container image

TypeDefault
stringlinkerdVersion

deploymentStrategy

default kubernetes deployment strategy

TypeDefault
object{"rollingUpdate":{"maxSurge":"25%","maxUnavailable":"25%"}}

destinationController.livenessProbe.timeoutSeconds

TypeDefault
int1

destinationController.meshedHttp2ClientProtobuf.keep_alive.interval.seconds

TypeDefault
int10

destinationController.meshedHttp2ClientProtobuf.keep_alive.timeout.seconds

TypeDefault
int3

destinationController.meshedHttp2ClientProtobuf.keep_alive.while_idle

TypeDefault
booltrue

destinationController.readinessProbe.timeoutSeconds

TypeDefault
int1

disableHeartBeat

Set to true to not start the heartbeat cronjob

TypeDefault
boolfalse

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)

TypeDefault
booltrue

egress.globalEgressNetworkNamespace

The namespace that is used to store egress configuration that affects all client workloads in the cluster

TypeDefault
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

TypeDefault
booltrue

enableH2Upgrade

Allow proxies to perform transparent HTTP/2 upgrading

TypeDefault
booltrue

enablePSP

Add a PSP resource and bind it to the control plane ServiceAccounts. Note PSP has been deprecated since k8s v1.21

TypeDefault
boolfalse

enablePodAntiAffinity

enables pod anti affinity creation on deployments for high availability

TypeDefault
boolfalse

enablePodDisruptionBudget

enables the creation of pod disruption budgets for control plane components

TypeDefault
boolfalse

enablePprof

enables the use of pprof endpoints on control plane component’s admin servers

TypeDefault
boolfalse

identity.externalCA

If the linkerd-identity-trust-roots ConfigMap has already been created

TypeDefault
boolfalse

identity.issuer.clockSkewAllowance

Amount of time to allow for clock skew within a Linkerd cluster

TypeDefault
string"20s"

identity.issuer.issuanceLifetime

Amount of time for which the Identity issuer should certify identity

TypeDefault
string"24h0m0s"

identity.issuer.scheme

TypeDefault
string"linkerd.io/tls"

identity.issuer.tls

Which scheme is used for the identity issuer secret format

TypeDefault
object{"crtPEM":"","keyPEM":""}

identity.issuer.tls.crtPEM

Issuer certificate (ECDSA). It must be provided during install.

TypeDefault
string""

identity.issuer.tls.keyPEM

Key for the issuer certificate (ECDSA). It must be provided during install

TypeDefault
string""

identity.kubeAPI.clientBurst

Burst value over clientQPS

TypeDefault
int200

identity.kubeAPI.clientQPS

Maximum QPS sent to the kube-apiserver before throttling. See token bucket rate limiter implementation

TypeDefault
int100

identity.livenessProbe.timeoutSeconds

TypeDefault
int1

identity.readinessProbe.timeoutSeconds

TypeDefault
int1

identity.serviceAccountTokenProjection

Use Service Account token Volume projection for pod validation instead of the default token

TypeDefault
booltrue

identityTrustAnchorsPEM

Trust root certificate (ECDSA). It must be provided during install.

TypeDefault
string""

identityTrustDomain

Trust domain used for identity

TypeDefault
stringclusterDomain

imagePullPolicy

Docker image pull policy

TypeDefault
string"IfNotPresent"

imagePullSecrets

For Private docker registries, authentication is needed. Registry secrets are applied to the respective service accounts

TypeDefault
list[]

kubeAPI.clientBurst

Burst value over clientQPS

TypeDefault
int200

kubeAPI.clientQPS

Maximum QPS sent to the kube-apiserver before throttling. See token bucket rate limiter implementation

TypeDefault
int100

license

Buoyant Enterprise for Linkerd license. Obtain at https://enterprise.buoyant.io. Exactly one of license or licenseSecret must be set.

TypeDefault
stringnil

licenseSecret

Name of the secret containing the Buoyant Enterprise for Linkerd license, at key license. Exactly one of license or licenseSecret must be set.

TypeDefault
stringnil

linkerdVersion

control plane version. See Proxy section for proxy version

TypeDefault
string"enterprise-2.17.0"

manageExternalWorkloads

TypeDefault
boolfalse

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.

TypeDefault
string""

networkValidator.enableSecurityContext

Include a securityContext in the network-validator pod spec

TypeDefault
booltrue

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.

TypeDefault
string""

networkValidator.logFormat

Log format (plain or json) for network-validator

TypeDefault
stringplain

networkValidator.logLevel

Log level for the network-validator

TypeDefault
stringdebug

networkValidator.timeout

Timeout before network-validator fails to validate the pod’s network connectivity

TypeDefault
string"10s"

nodeSelector

NodeSelector section, See the K8S documentation for more information

TypeDefault
object{"kubernetes.io/os":"linux"}

podAnnotations

Additional annotations to add to all pods

TypeDefault
object{}

podLabels

Additional labels to add to all pods

TypeDefault
object{}

podMonitor.controller.enabled

Enables the creation of PodMonitor for the control-plane

TypeDefault
booltrue

podMonitor.controller.namespaceSelector

Selector to select which namespaces the Endpoints objects are discovered from

TypeDefault
string"matchNames: - {{ .Release.Namespace }} - linkerd-viz - linkerd-jaeger "

podMonitor.enabled

Enables the creation of Prometheus Operator PodMonitor

TypeDefault
boolfalse

podMonitor.labels

Labels to apply to all pod Monitors

TypeDefault
object{}

podMonitor.proxy.enabled

Enables the creation of PodMonitor for the data-plane

TypeDefault
booltrue

podMonitor.scrapeInterval

Interval at which metrics should be scraped

TypeDefault
string"10s"

podMonitor.scrapeTimeout

Iimeout after which the scrape is ended

TypeDefault
string"10s"

podMonitor.serviceMirror.enabled

Enables the creation of PodMonitor for the Service Mirror component

TypeDefault
booltrue

policyController.image.name

Docker image for the policy controller

TypeDefault
string"ghcr.io/buoyantio/policy-controller"

policyController.image.pullPolicy

Pull policy for the policy controller container image

TypeDefault
stringimagePullPolicy

policyController.image.version

Tag for the policy controller container image

TypeDefault
stringlinkerdVersion

policyController.livenessProbe.timeoutSeconds

TypeDefault
int1

policyController.logLevel

Log level for the policy controller

TypeDefault
string"info"

policyController.probeNetworks

The networks from which probes are performed. By default, all networks are allowed so that all probes are authorized.

TypeDefault
list["0.0.0.0/0","::/0"]

policyController.readinessProbe.timeoutSeconds

TypeDefault
int1

policyController.resources

policy controller resource requests & limits

TypeDefault
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

TypeDefault
string""

policyController.resources.cpu.request

Amount of CPU units that the policy controller requests

TypeDefault
string""

policyController.resources.ephemeral-storage.limit

Maximum amount of ephemeral storage that the policy controller can use

TypeDefault
string""

policyController.resources.ephemeral-storage.request

Amount of ephemeral storage that the policy controller requests

TypeDefault
string""

policyController.resources.memory.limit

Maximum amount of memory that the policy controller can use

TypeDefault
string""

policyController.resources.memory.request

Maximum amount of memory that the policy controller requests

TypeDefault
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.

TypeDefault
string""

policyValidator.crtPEM

Certificate for the policy validator. If not provided and not using an external secret then Helm will generate one.

TypeDefault
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).

TypeDefault
boolfalse

policyValidator.injectCaFrom

Inject the CA bundle from a cert-manager Certificate. See the cert-manager CA Injector Docs for more information.

TypeDefault
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.

TypeDefault
string""

policyValidator.keyPEM

Certificate key for the policy validator. If not provided and not using an external secret then Helm will generate one.

TypeDefault
string""

policyValidator.namespaceSelector

Namespace selector used by admission webhook

TypeDefault
object{"matchExpressions":[{"key":"config.linkerd.io/admission-webhooks","operator":"NotIn","values":["disabled"]}]}

priorityClassName

Kubernetes priorityClassName for the Linkerd Pods

TypeDefault
string""

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.

TypeDefault
string""

profileValidator.crtPEM

Certificate for the service profile validator. If not provided and not using an external secret then Helm will generate one.

TypeDefault
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).

TypeDefault
boolfalse

profileValidator.injectCaFrom

Inject the CA bundle from a cert-manager Certificate. See the cert-manager CA Injector Docs for more information.

TypeDefault
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.

TypeDefault
string""

profileValidator.keyPEM

Certificate key for the service profile validator. If not provided and not using an external secret then Helm will generate one.

TypeDefault
string""

profileValidator.namespaceSelector

Namespace selector used by admission webhook

TypeDefault
object{"matchExpressions":[{"key":"config.linkerd.io/admission-webhooks","operator":"NotIn","values":["disabled"]}]}

prometheusUrl

url of external prometheus instance (used for the heartbeat)

TypeDefault
string""

proxy.await

If set, the application container will not start until the proxy is ready

TypeDefault
booltrue

proxy.control.streams.idleTimeout

The timeout between consecutive updates from the control plane.

TypeDefault
string"5m"

proxy.control.streams.initialTimeout

The timeout for the first update from the control plane.

TypeDefault
string"3s"

proxy.control.streams.lifetime

The maximum duration for a response stream (i.e. before it will be reinitialized).

TypeDefault
string"1h"

proxy.cores

The cpu.limit and cores should be kept in sync. The value of cores must be an integer and should typically be set by rounding up from the limit. E.g. if cpu.limit is ‘1500m’, cores should be 2.

TypeDefault
int0

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”

TypeDefault
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

TypeDefault
boolfalse

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

TypeDefault
boolfalse

proxy.enableExternalProfiles

Enable service profiles for non-Kubernetes services

TypeDefault
boolfalse

proxy.enableShutdownEndpoint

Enables the proxy’s /shutdown admin endpoint

TypeDefault
boolfalse

proxy.gid

Optional customisation of the group id under which the proxy runs (the group ID will be omitted if lower than 0)

TypeDefault
int-1

proxy.image.name

Docker image for the proxy

TypeDefault
string"ghcr.io/buoyantio/proxy"

proxy.image.pullPolicy

Pull policy for the proxy container image

TypeDefault
stringimagePullPolicy

proxy.image.version

Tag for the proxy container image

TypeDefault
stringlinkerdVersion

proxy.inbound.server.http2.keepAliveInterval

The interval at which PINGs are issued to remote HTTP/2 clients.

TypeDefault
string"10s"

proxy.inbound.server.http2.keepAliveTimeout

The timeout within which keep-alive PINGs must be acknowledged on inbound HTTP/2 connections.

TypeDefault
string"3s"

proxy.inboundConnectTimeout

Maximum time allowed for the proxy to establish an inbound TCP connection

TypeDefault
string"100ms"

proxy.inboundDiscoveryCacheUnusedTimeout

Maximum time allowed before an unused inbound discovery result is evicted from the cache

TypeDefault
string"90s"

proxy.livenessProbe

LivenessProbe timeout and delay configuration

TypeDefault
object{"initialDelaySeconds":10,"timeoutSeconds":1}

proxy.logFormat

Log format (plain or json) for the proxy

TypeDefault
string"plain"

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.

TypeDefault
`off` or `insecure`"off"

proxy.logLevel

Log level for the proxy

TypeDefault
string"warn,linkerd=info,hickory=error"

proxy.nativeSidecar

Enable KEP-753 native sidecars This is an experimental feature. It requires Kubernetes >= 1.29. If enabled, .proxy.waitBeforeExitSeconds should not be used.

TypeDefault
boolfalse

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

TypeDefault
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.

TypeDefault
string"10s"

proxy.outbound.server.http2.keepAliveTimeout

The timeout within which keep-alive PINGs must be acknowledged on outbound HTTP/2 connections.

TypeDefault
string"3s"

proxy.outboundConnectTimeout

Maximum time allowed for the proxy to establish an outbound TCP connection

TypeDefault
string"1000ms"

proxy.outboundDiscoveryCacheUnusedTimeout

Maximum time allowed before an unused outbound discovery result is evicted from the cache

TypeDefault
string"5s"

proxy.ports.admin

Admin port for the proxy container

TypeDefault
int4191

proxy.ports.control

Control port for the proxy container

TypeDefault
int4190

proxy.ports.inbound

Inbound port for the proxy container

TypeDefault
int4143

proxy.ports.outbound

Outbound port for the proxy container

TypeDefault
int4140

proxy.readinessProbe

ReadinessProbe timeout and delay configuration

TypeDefault
object{"initialDelaySeconds":2,"timeoutSeconds":1}

proxy.requireIdentityOnInboundPorts

TypeDefault
string""

proxy.resources.cpu.limit

Maximum amount of CPU units that the proxy can use

TypeDefault
string""

proxy.resources.cpu.request

Amount of CPU units that the proxy requests

TypeDefault
string""

proxy.resources.ephemeral-storage.limit

Maximum amount of ephemeral storage that the proxy can use

TypeDefault
string""

proxy.resources.ephemeral-storage.request

Amount of ephemeral storage that the proxy requests

TypeDefault
string""

proxy.resources.memory.limit

Maximum amount of memory that the proxy can use

TypeDefault
string""

proxy.resources.memory.request

Maximum amount of memory that the proxy requests

TypeDefault
string""

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.

TypeDefault
string""

proxy.startupProbe.failureThreshold

TypeDefault
int120

proxy.startupProbe.initialDelaySeconds

TypeDefault
int0

proxy.startupProbe.periodSeconds

TypeDefault
int1

proxy.uid

User id under which the proxy runs

TypeDefault
int2102

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.

TypeDefault
int0

proxyInit.closeWaitTimeoutSecs

TypeDefault
int0

proxyInit.ignoreInboundPorts

Default set of inbound ports to skip via iptables - Galera (4567,4568)

TypeDefault
string"4567,4568"

proxyInit.ignoreOutboundPorts

Default set of outbound ports to skip via iptables - Galera (4567,4568)

TypeDefault
string"4567,4568"

proxyInit.image.name

Docker image for the proxy-init container

TypeDefault
string"ghcr.io/buoyantio/proxy-init"

proxyInit.image.pullPolicy

Pull policy for the proxy-init container image

TypeDefault
stringimagePullPolicy

proxyInit.image.version

Tag for the proxy-init container image

TypeDefault
string"enterprise-2.17.0"

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

TypeDefault
string"legacy"

proxyInit.kubeAPIServerPorts

Default set of ports to skip via iptables for control plane components so they can communicate with the Kubernetes API Server

TypeDefault
string"443,6443"

proxyInit.logFormat

Log format (plain or json) for the proxy-init

TypeDefault
stringplain

proxyInit.logLevel

Log level for the proxy-init

TypeDefault
stringinfo

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.

TypeDefault
boolfalse

proxyInit.runAsGroup

This value is used only if runAsRoot is false; otherwise runAsGroup will be 0

TypeDefault
int65534

proxyInit.runAsRoot

Allow overriding the runAsNonRoot behaviour (https://github.com/linkerd/linkerd2/issues/7308)

TypeDefault
boolfalse

proxyInit.runAsUser

This value is used only if runAsRoot is false; otherwise runAsUser will be 0

TypeDefault
int65534

proxyInit.skipSubnets

Comma-separated list of subnets in valid CIDR format that should be skipped by the proxy

TypeDefault
string""

proxyInit.xtMountPath.mountPath

TypeDefault
string"/run"

proxyInit.xtMountPath.name

TypeDefault
string"linkerd-proxy-init-xtables-lock"

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.

TypeDefault
string""

proxyInjector.crtPEM

Certificate for the proxy injector. If not provided and not using an external secret then Helm will generate one.

TypeDefault
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).

TypeDefault
boolfalse

proxyInjector.injectCaFrom

Inject the CA bundle from a cert-manager Certificate. See the cert-manager CA Injector Docs for more information.

TypeDefault
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.

TypeDefault
string""

proxyInjector.keyPEM

Certificate key for the proxy injector. If not provided and not using an external secret then Helm will generate one.

TypeDefault
string""

proxyInjector.livenessProbe.timeoutSeconds

TypeDefault
int1

proxyInjector.namespaceSelector

Namespace selector used by admission webhook.

TypeDefault
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.

TypeDefault
object{"matchExpressions":[{"key":"linkerd.io/control-plane-component","operator":"DoesNotExist"},{"key":"linkerd.io/cni-resource","operator":"DoesNotExist"}]}

proxyInjector.readinessProbe.timeoutSeconds

TypeDefault
int1

proxyInjector.timeoutSeconds

Timeout in seconds before the API Server cancels a request to the proxy injector. If timeout is exceeded, the webhookfailurePolicy is used.

TypeDefault
int10

revisionHistoryLimit

Specifies the number of old ReplicaSets to retain to allow rollback.

TypeDefault
int10

runtimeClassName

Runtime Class Name for all the pods

TypeDefault
string""

spValidator

SP validator configuration

TypeDefault
object{"livenessProbe":{"timeoutSeconds":1},"readinessProbe":{"timeoutSeconds":1}}

webhookFailurePolicy

Failure policy for the proxy injector

TypeDefault
string"Ignore"
linkerd multicluster install --set=key=value

Learn more about using these flags.

Chart name
linkerd-enterprise-multicluster

commonLabels

Labels to apply to all resources

TypeDefault
object{}

createNamespaceMetadataJob

Creates a Job that adds necessary metadata to the extension’s namespace during install; disable if lack of privileges require doing this manually

TypeDefault
booltrue

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

TypeDefault
boolfalse

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.

TypeDefault
boolfalse

gateway.GID

Group id under which the gateway shall be ran

TypeDefault
int2103

gateway.UID

User id under which the gateway shall be ran

TypeDefault
int2103

gateway.deploymentAnnotations

Annotations to add to the gateway deployment

TypeDefault
object{}

gateway.enabled

If the gateway component should be installed

TypeDefault
booltrue

gateway.loadBalancerClass

Set loadBalancerClass on gateway service

TypeDefault
string""

gateway.loadBalancerIP

Set loadBalancerIP on gateway service

TypeDefault
string""

gateway.loadBalancerSourceRanges

Set loadBalancerSourceRanges on gateway service

TypeDefault
list[]

gateway.name

The name of the gateway that will be installed

TypeDefault
string"linkerd-gateway"

gateway.nodeSelector

Node selectors for the gateway pod

TypeDefault
object{}

gateway.pauseImage

The pause container to use

TypeDefault
string"gcr.io/google_containers/pause:3.2"

gateway.port

The port on which all the gateway will accept incoming traffic

TypeDefault
int4143

gateway.probe.path

The path that will be used by remote clusters for determining whether the gateway is alive

TypeDefault
string"/ready"

gateway.probe.port

The port used for liveliness probing

TypeDefault
int4191

gateway.probe.seconds

The interval (in seconds) between liveness probes

TypeDefault
int3

gateway.replicas

Number of replicas for the gateway pod

TypeDefault
int1

gateway.serviceAnnotations

Annotations to add to the gateway service

TypeDefault
object{}

gateway.serviceExternalTrafficPolicy

Set externalTrafficPolicy on gateway service

TypeDefault
string""

gateway.serviceType

Service Type of gateway Service

TypeDefault
string"LoadBalancer"

gateway.terminationGracePeriodSeconds

Set terminationGracePeriodSeconds on gateway deployment

TypeDefault
string""

gateway.tolerations

Tolerations for the gateway pod

TypeDefault
list[]

identityTrustDomain

Identity Trust Domain of the certificate authority

TypeDefault
string"cluster.local"

imagePullPolicy

Docker imagePullPolicy for all multicluster components

TypeDefault
string"IfNotPresent"

imagePullSecrets

For Private docker registries, authentication is needed. Registry secrets are applied to the respective service accounts

TypeDefault
list[]

linkerdNamespace

Namespace of linkerd installation

TypeDefault
string"linkerd"

linkerdVersion

Control plane version

TypeDefault
string"enterprise-2.17.0"

localServiceMirror.GID

Group id under which the Service Mirror shall be ran

TypeDefault
int2103

localServiceMirror.UID

User id under which the Service Mirror shall be ran

TypeDefault
int2103

localServiceMirror.enablePprof

enables the use of pprof endpoints on control plane component’s admin servers

TypeDefault
boolfalse

localServiceMirror.federatedServiceSelector

Label selector for federated service members in the local cluster.

TypeDefault
string"mirror.linkerd.io/federated=member"

localServiceMirror.image.name

Docker image for the Service mirror component (uses the Linkerd controller image)

TypeDefault
string"ghcr.io/buoyantio/controller"

localServiceMirror.image.pullPolicy

Pull policy for the Service mirror container image

TypeDefault
stringimagePullPolicy

localServiceMirror.image.version

Tag for the Service mirror container image

TypeDefault
stringlinkerdVersion

localServiceMirror.logFormat

Log format (plain or json)

TypeDefault
string"plain"

localServiceMirror.logLevel

Log level for the Multicluster components

TypeDefault
string"info"

localServiceMirror.replicas

Number of local service mirror replicas to run

TypeDefault
int1

localServiceMirror.resources

Resources for the Service mirror container

TypeDefault
object{}

localServiceMirror.serviceMirrorRetryLimit

Number of times local service mirror updates are allowed to be requeued (retried)

TypeDefault
int3

namespaceMetadata.image.name

Docker image name for the namespace-metadata instance

TypeDefault
string"extension-init"

namespaceMetadata.image.pullPolicy

Pull policy for the namespace-metadata instance

TypeDefault
stringimagePullPolicy

namespaceMetadata.image.registry

Docker registry for the namespace-metadata instance

TypeDefault
string"ghcr.io/buoyantio"

namespaceMetadata.image.tag

Docker image tag for the namespace-metadata instance

TypeDefault
string"enterprise-2.17.0"

namespaceMetadata.nodeSelector

Node selectors for the namespace-metadata instance

TypeDefault
object{}

namespaceMetadata.tolerations

Tolerations for the namespace-metadata instance

TypeDefault
list[]

podAnnotations

Additional annotations to add to all pods

TypeDefault
object{}

podLabels

Additional labels to add to all pods

TypeDefault
object{}

proxyOutboundPort

The port on which the proxy accepts outbound traffic

TypeDefault
int4140

remoteMirrorServiceAccount

If the remote mirror service account should be installed

TypeDefault
booltrue

remoteMirrorServiceAccountName

The name of the service account used to allow remote clusters to mirror local services

TypeDefault
string"linkerd-service-mirror-remote-access-default"

revisionHistoryLimit

Specifies the number of old ReplicaSets to retain to allow rollback.

TypeDefault
int10