Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions charts/linkerd-control-plane/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@ dependencies:
- name: partials
repository: file://../partials
version: 0.1.0
digest: sha256:8e42f9c9d4a2dc883f17f94d6044c97518ced19ad0922f47b8760e47135369ba
generated: "2021-12-06T11:42:50.784240359-05:00"
- name: linkerd-multicluster-controller
repository: file://../../multicluster/charts/linkerd-multicluster-controller
version: 0.0.0-undefined
digest: sha256:6ff3106064f22012e11d9dbb52bd8b73273106434297e671bdb7755989ba45f9
generated: "2025-08-19T09:19:23.762369+09:00"
4 changes: 4 additions & 0 deletions charts/linkerd-control-plane/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ dependencies:
- name: partials
version: 0.1.0
repository: file://../partials
- name: linkerd-multicluster-controller
alias: multicluster-controller
version: 0.0.0-undefined
repository: file://../../multicluster/charts/linkerd-multicluster-controller
# this version will be updated by the CI before publishing the Helm tarball
version: 0.0.0-undefined
icon: https://linkerd.io/images/logo-only-200h.png
Expand Down
54 changes: 54 additions & 0 deletions charts/linkerd-control-plane/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -719,3 +719,57 @@ egress:
configReaders:
#- name:
# namespace:

# multicluster-controller:
# # -- 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
# controllers: []

# controllerDefaults:
# # -- Number of service mirror replicas for a given Link
# replicas: 1
# image:
# name: cr.l5d.io/linkerd/controller
# # @default -- imagePullPolicy
# pullPolicy: ""
# # @default -- linkerdVersion
# version: linkerdVersionValue
# gateway:
# # -- Enables a probe service for the gateway
# enabled: true
# probe:
# # -- Port used for liveliness probing
# port: 4191
# # -- Log level (`error`, `warn`, `info`, `debug` or `trace`)
# logLevel: info
# # -- Log format (`plain` or `json`)
# logFormat: plain
# # -- Toggle support for mirroring headless services
# enableHeadlessServices: false
# # -- Enables the use of pprof endpoints for the controller
# enablePprof: false
# UID: 2103
# GID: 2103
# # -- Number of times service mirror updates are allowed to be requeued (retried)
# retryLimit: 3
# # -- Resources to assign to the controller.
# # See `policyController.resources` in the linkerd-control-plane chart for the expected format
# resources: {}
# nodeSelector: {}
# tolerations: {}
# enablePodAntiAffinity: false
# nodeAffinity: {}
22 changes: 22 additions & 0 deletions multicluster/charts/linkerd-multicluster-controller/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
OWNERS
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
21 changes: 21 additions & 0 deletions multicluster/charts/linkerd-multicluster-controller/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: "v1"
# this version will be updated by the CI before publishing the Helm tarball
appVersion: edge-XX.X.X
description: |
The Linkerd Multicluster Controller installs only the controller component
that discovers Links and mirrors Services from remote clusters into the local
cluster.
home: https://linkerd.io
keywords:
- service-mesh
kubeVersion: ">=1.23.0-0"
name: "linkerd-multicluster-controller"
sources:
- https://github.com/linkerd/linkerd2/
# this version will be updated by the CI before publishing the Helm tarball
version: 0.0.0-undefined
icon: https://linkerd.io/images/logo-only-200h.png
maintainers:
- name: Linkerd authors
email: [email protected]
url: https://linkerd.io/
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
The Linkerd Multicluster Controller was successfully installed 🎉

This chart installs controller component of the Linkerd Multicluster extension.

To verify the controller is healthy, run the following:

linkerd multicluster check

Looking for more? Visit https://linkerd.io/2/features/multicluster/
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{{ template "chart.header" . }}
{{ template "chart.description" . }}

{{ template "chart.versionBadge" . }}
{{ template "chart.typeBadge" . }}
{{ template "chart.appVersionBadge" . }}

{{ template "chart.homepageLine" . }}

## Quickstart and documentation

You can run Linkerd on any Kubernetes cluster in a matter of seconds. See the
[Linkerd Getting Started Guide][getting-started] for how.

For more comprehensive documentation, start with the [Linkerd
docs][linkerd-docs].

## Prerequisite: Linkerd Core Control-Plane

Before installing the Linkerd Multicluster extension, The core control-plane has
to be installed first by following the [Linkerd Install
Guide](https://linkerd.io/2/tasks/install/).

## Adding Linkerd's Helm repository

```bash
# To add the repo for Linkerd edge releases:
helm repo add linkerd https://helm.linkerd.io/edge
```

## Installing the Multicluster Controller Chart

Note: Install the full `linkerd-multicluster` chart first.

```bash
helm install linkerd-multicluster-controller -n linkerd-multicluster
```

## Get involved

* Check out Linkerd's source code at [GitHub][linkerd2].
* Join Linkerd's [user mailing list][linkerd-users], [developer mailing
list][linkerd-dev], and [announcements mailing list][linkerd-announce].
* Follow [@linkerd][twitter] on Twitter.
* Join the [Linkerd Slack][slack].

[getting-started]: https://linkerd.io/2/getting-started/
[linkerd2]: https://github.com/linkerd/linkerd2
[linkerd-announce]: https://lists.cncf.io/g/cncf-linkerd-announce
[linkerd-dev]: https://lists.cncf.io/g/cncf-linkerd-dev
[linkerd-docs]: https://linkerd.io/2/overview/
[linkerd-users]: https://lists.cncf.io/g/cncf-linkerd-users
[slack]: http://slack.linkerd.io
[twitter]: https://twitter.com/linkerd

{{ template "chart.requirementsSection" . }}

{{ template "chart.valuesSection" . }}

{{ template "helm-docs.versionFooter" . }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: partials
repository: file://../../../charts/partials
version: 0.1.0
digest: sha256:e2c1d0d581afb33df46411df7a89fca2628328fc7bd0975167e7812bf128e27f
generated: "2021-02-16T10:58:15.523677369-05:00"
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dependencies:
- name: partials
version: 0.1.0
repository: file://../../../charts/partials
82 changes: 82 additions & 0 deletions multicluster/charts/linkerd-multicluster-controller/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# -- Additional annotations to add to all pods
podAnnotations: {}
# -- Additional labels to add to all pods
podLabels: {}
# -- Labels to apply to all resources
commonLabels: {}
# -- For Private docker registries, authentication is needed.
# Registry secrets are applied to the respective service accounts
imagePullSecrets: []

# -- Toggle support for creating namespaces for mirror services when necessary
enableNamespaceCreation: false
# -- 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.
enablePodAntiAffinity: false

# -- Specifies the number of old ReplicaSets to retain to allow rollback.
revisionHistoryLimit: 10

# -- 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
controllers: []

# -- Additional environment variables to inject into the controller container
# Example:
# serviceMirrorAdditionalEnv:
# - name: HTTP_PROXY
# value: http://proxy.example.com:8080
serviceMirrorAdditionalEnv: []

# -- Experimental environment variables to inject into the controller container
serviceMirrorExperimentalEnv: []

controllerDefaults:
# -- Number of service mirror replicas for a given Link
replicas: 1
image:
name: cr.l5d.io/linkerd/controller
# @default -- imagePullPolicy
pullPolicy: ""
# @default -- linkerdVersion
version: linkerdVersionValue
gateway:
# -- Enables a probe service for the gateway
enabled: true
probe:
# -- Port used for liveliness probing
port: 4191
# -- Log level (`error`, `warn`, `info`, `debug` or `trace`)
logLevel: info
# -- Log format (`plain` or `json`)
logFormat: plain
# -- Toggle support for mirroring headless services
enableHeadlessServices: false
# -- Enables the use of pprof endpoints for the controller
enablePprof: false
UID: 2103
GID: 2103
# -- Number of times service mirror updates are allowed to be requeued (retried)
retryLimit: 3
# -- Resources to assign to the controller.
# See `policyController.resources` in the linkerd-control-plane chart for the expected format
resources: {}
nodeSelector: {}
tolerations: {}
enablePodAntiAffinity: false
nodeAffinity: {}
53 changes: 0 additions & 53 deletions multicluster/charts/linkerd-multicluster/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -165,56 +165,3 @@ localServiceMirror:

# -- Resources for the Service mirror container
resources: {}

# -- 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
controllers: []

controllerDefaults:
# -- Number of service mirror replicas for a given Link
replicas: 1
image:
name: cr.l5d.io/linkerd/controller
# @default -- imagePullPolicy
pullPolicy: ""
# @default -- linkerdVersion
version: linkerdVersionValue
gateway:
# -- Enables a probe service for the gateway
enabled: true
probe:
# -- Port used for liveliness probing
port: 4191
# -- Log level (`error`, `warn`, `info`, `debug` or `trace`)
logLevel: info
# -- Log format (`plain` or `json`)
logFormat: plain
# -- Toggle support for mirroring headless services
enableHeadlessServices: false
# -- Enables the use of pprof endpoints for the controller
enablePprof: false
UID: 2103
GID: 2103
# -- Number of times service mirror updates are allowed to be requeued (retried)
retryLimit: 3
# -- Resources to assign to the controller.
# See `policyController.resources` in the linkerd-control-plane chart for the expected format
resources: {}
nodeSelector: {}
tolerations: {}
enablePodAntiAffinity: false
nodeAffinity: {}