linkerd2/multicluster/charts/linkerd-multicluster
Alejandro Pedraza 539bcced34
Fix HA race when installing through Helm (#7718)
* Fix HA race when installing through Helm

Fixes #7699

The problem didn't affect 2.11, only latest edges since the Helm charts
got split into `linkerd-crds` and `linkerd-control-plane` and we stopped
creating the linkerd namespace.

With the surrendering of the creation of the namespace, we can no longer
guarantee the existence of the `config.linkerd.io/admission-webhooks`
label, so this PR creates an `objectSelector` for the injector that
filters-out control-plane components, based on the existence of the
`linkerd.io/control-plane-component` label.

Given we still want the multicluster components to be injected, we had
to be rename its `linkerd.io/control-plane-component` label to
`component`, following the same convention used by the other extensions.
The corresponding Prometheus rule for scraping the service mirrors was
updated accordingly.

A similar filter was added for the linkerd-cni DaemonSet.

Also, now that the `kubernetes.io/metadata.name` is prevalent, we're
also using it to filter out the kube-system and cert-manager namespaces.
The former namespace was already mentioned in the docs; the latter is
also included to avoid having races with cert-manager-cainjector which
can be used to provision the injector's cert.
2022-02-02 11:27:20 -05:00
..
templates Fix HA race when installing through Helm (#7718) 2022-02-02 11:27:20 -05:00
.helmignore Rename extension charts to linkerd-* (#5552) 2021-01-26 16:20:49 -08:00
Chart.yaml release notes for `edge-22.1.5` (#7722) 2022-01-28 00:25:26 +05:30
NOTES.txt helm: add NOTES.txt for extension charts (#5870) 2021-03-09 15:31:18 -05:00
README.md release notes for `edge-22.1.5` (#7722) 2022-01-28 00:25:26 +05:30
README.md.gotmpl Remove namespace from charts and split them into `linkerd-crd` and `linkerd-control-plane` (#6635) 2021-12-10 15:53:08 -05:00
requirements.lock Removed "do-not-edit" entries from values.yaml files (#5758) 2021-02-19 09:17:45 -05:00
requirements.yaml Removed "do-not-edit" entries from values.yaml files (#5758) 2021-02-19 09:17:45 -05:00
values-ha.yaml Add high availability mode to multicluster gateway (#7186) 2021-11-18 09:22:09 -05:00
values.yaml Remove namespace from charts and split them into `linkerd-crd` and `linkerd-control-plane` (#6635) 2021-12-10 15:53:08 -05:00

README.md

linkerd-multicluster

The Linkerd-Multicluster extension contains resources to support multicluster linking to remote clusters

Version: 30.0.3-edge

AppVersion: edge-XX.X.X

Homepage: https://linkerd.io

Quickstart and documentation

You can run Linkerd on any Kubernetes 1.20+ cluster in a matter of seconds. See the Linkerd Getting Started Guide for how.

For more comprehensive documentation, start with the 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.

Adding Linkerd's Helm repository

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

The following instructions use the linkerd repo. For installing an edge release, just replace with linkerd-edge.

Installing the Multicluster Extension Chart

helm install linkerd-multicluster -n linkerd-multicluster --create-namespace linkerd/linkerd-multicluster

Get involved

Requirements

Kubernetes: >=1.20.0-0

Repository Name Version
file://../../../charts/partials partials 0.1.0

Values

Key Type Default Description
enablePSP bool false 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
enablePodAntiAffinity bool 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.
gateway.enabled bool true If the gateway component should be installed
gateway.loadBalancerIP string "" Set loadBalancerIP on gateway service
gateway.name string "linkerd-gateway" The name of the gateway that will be installed
gateway.port int 4143 The port on which all the gateway will accept incoming traffic
gateway.probe.path string "/ready" The path that will be used by remote clusters for determining whether the gateway is alive
gateway.probe.port int 4191 The port used for liveliness probing
gateway.probe.seconds int 3
gateway.replicas int 1 Number of replicas for the gateway pod
gateway.serviceAnnotations object {} Annotations to add to the gateway service
gateway.serviceType string "LoadBalancer" Service Type of gateway Service
identityTrustDomain string "cluster.local" Identity Trust Domain of the certificate authority
linkerdNamespace string "linkerd" Namespace of linkerd installation
linkerdVersion string "linkerdVersionValue" Control plane version
proxyOutboundPort int 4140 The port on which the proxy accepts outbound traffic
remoteMirrorServiceAccount bool true If the remote mirror service account should be installed
remoteMirrorServiceAccountName string "linkerd-service-mirror-remote-access-default" The name of the service account used to allow remote clusters to mirror local services

Autogenerated from chart metadata using helm-docs v1.4.0