mirror of https://github.com/linkerd/linkerd2.git
## What This change moves the `linkerd check --multicluster` functionality under it's own multicluster subcommand: `linkerd multicluster check`. There should be no functional changes as a result of this change. `linkerd check` no longer checks for anything multicluster related and the `--multicluster` flag has been removed. ## Why Closes #5208 The bulk of these changes are moving all the multicluster checks from `pkg/healthcheck` into the multicluster package. Doing this completely separates it from core Linkerd. It still uses `pkg/healtcheck` when possible, but anything that is used only by `multicluster check` has been moved. **Note the the `kubernetes-api` and `linkerd-existence` checks are run.** These checks are required for setting up the Linkerd health checker. They set the health checker's `kubeAPI`, `linkerdConfig`, and `apiClient` fields. These could be set manually so that the only check the user sees is `linkerd-multicluster`, but I chose not to do this. If any of the setting functions errors, it would just tell the user to run `linkerd check` and ensure the installation is correct. I find the user error handling to be better by including these required checks since they should be run in the first place. ## How to test Installing Linkerd and multicluster should result in a basic check output: ``` $ bin/linkerd install |kubectl apply -f - .. $ bin/linkerd check .. $ bin/linkerd multicluster install |kubectl apply -f - .. $ bin/linkerd multicluster check kubernetes-api -------------- √ can initialize the client √ can query the Kubernetes API linkerd-existence ----------------- √ 'linkerd-config' config map exists √ heartbeat ServiceAccount exist √ control plane replica sets are ready √ no unschedulable pods √ controller pod is running √ can initialize the client √ can query the control plane API linkerd-multicluster -------------------- √ Link CRD exists Status check results are √ ``` After linking a cluster: ``` $ bin/linkerd multicluster check kubernetes-api -------------- √ can initialize the client √ can query the Kubernetes API linkerd-existence ----------------- √ 'linkerd-config' config map exists √ heartbeat ServiceAccount exist √ control plane replica sets are ready √ no unschedulable pods √ controller pod is running √ can initialize the client √ can query the control plane API linkerd-multicluster -------------------- √ Link CRD exists √ Link resources are valid * k3d-y √ remote cluster access credentials are valid * k3d-y √ clusters share trust anchors * k3d-y √ service mirror controller has required permissions * k3d-y √ service mirror controllers are running * k3d-y × all gateway mirrors are healthy probe-gateway-k3d-y.linkerd-multicluster mirrored from cluster [k3d-y] has no endpoints see https://linkerd.io/checks/#l5d-multicluster-gateways-endpoints for hints Status check results are × ``` Signed-off-by: Kevin Leimkuhler <kevin@kleimkuhler.com> |
||
---|---|---|
.. | ||
templates | ||
.helmignore | ||
Chart.yaml | ||
README.md | ||
README.md.gotmpl | ||
values.yaml |
README.md
linkerd2-multicluster
A helm chart containing the resources to support multicluster linking to remote clusters
Requirements
Kubernetes: >=1.13.0-0
Values
Key | Type | Default | Description |
---|---|---|---|
controllerComponentLabel | string | "linkerd.io/control-plane-component" |
Control plane label. Do not edit |
createdByAnnotation | string | "linkerd.io/created-by" |
Annotation label for the proxy create. Do not edit. |
gateway | bool | true |
If the gateway component should be installed |
gatewayLocalProbePath | string | "/health-local" |
The path that will be used by the local liveness checks to ensure the gateway is alive |
gatewayLocalProbePort | int | 8888 |
The port that will be used by the local liveness checks to ensure the gateway is alive |
gatewayName | string | "linkerd-gateway" |
The name of the gateway that will be installed |
gatewayNginxImage | string | "nginx" |
The Nginx image |
gatewayNginxImageVersion | float | 1.17 |
The version of the Nginx image |
gatewayPort | int | 4143 |
The port on which all the gateway will accept incoming traffic |
gatewayProbePath | string | "/health" |
The path that will be used by remote clusters for determining whether the gateway is alive |
gatewayProbePort | int | 4181 |
The port used for liveliness probing |
gatewayProbeSeconds | int | 3 |
The interval (in seconds) between liveness probes |
gatewayServiceType | string | "LoadBalancer" |
Service Type of gateway Service |
identityTrustDomain | string | "cluster.local" |
Identity Trust Domain of the certificate authority |
installNamespace | bool | true |
If the namespace should be installed |
linkerdNamespace | string | "linkerd" |
Namespace of linkerd installation |
linkerdVersion | string | "linkerdVersionValue" |
Control plane version |
namespace | string | "linkerd-multicluster" |
Service Mirror component namespace |
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