You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make service mirror controller per target cluster (linkerd#4710)
This PR removes the service mirror controller from `linkerd mc install` to `linkerd mc link`, as described in linkerd/rfc#31. For fuller context, please see that RFC.
Basic multicluster functionality works here including:
* `linkerd mc install` installs the Link CRD but not any service mirror controllers
* `linkerd mc link` creates a Link resource and installs a service mirror controller which uses that Link
* The service mirror controller creates and manages mirror services, a gateway mirror, and their endpoints.
* The `linkerd mc gateways` command lists all linked target clusters, their liveliness, and probe latences.
* The `linkerd check` multicluster checks have been updated for the new architecture. Several checks have been rendered obsolete by the new architecture and have been removed.
The following are known issues requiring further work:
* the service mirror controller uses the existing `mirror.linkerd.io/gateway-name` and `mirror.linkerd.io/gateway-ns` annotations to select which services to mirror. it does not yet support configuring a label selector.
* an unlink command is needed for removing multicluster links: see linkerd#4707
* an mc uninstall command is needed for uninstalling the multicluster addon: see linkerd#4708
Signed-off-by: Alex Leong <[email protected]>
Signed-off-by: Eric Solomon <[email protected]>
|`controllerComponentLabel`| Control plane label. Do not edit |`linkerd.io/control-plane-component`|
16
+
|`controllerImage`| Docker image for the Service mirror component (uses the Linkerd controller image) |`gcr.io/linkerd-io/controller`|
17
+
|`controllerImageVersion`| Tag for the Service Mirror container Docker image |`latest version`|
18
+
|`createdByAnnotation`| Annotation label for the proxy create. Do not edit. |`linkerd.io/created-by`|
19
+
|`gateway`| If the gateway component should be installed |`true`|
20
+
|`gatewayLocalProbePath`| The path that will be used by the local liveness checks to ensure the gateway is alive |`/health-local`|
21
+
|`gatewayLocalProbePort`| The port that will be used by the local liveness checks to ensure the gateway is alive |`8888`|
22
+
|`gatewayName`| The name of the gateway that will be installed |`linkerd-gateway`|
23
+
|`gatewayNginxImage`| The Nginx image |`nginx`|
24
+
|`gatewayNginxImageVersion`| The version of the Nginx image |`1.17`|
25
+
|`gatewayPort`| The port on which all the gateway will accept incoming traffic |`4143`|
26
+
|`gatewayProbePath`| The path that will be used by remote clusters for determining whether the gateway is alive |`/health`|
27
+
|`gatewayProbePort`| The port used for liveliness probing |`4181`|
28
+
|`gatewayProbeSeconds`| The interval (in seconds) between liveness probes |`3`|
29
+
|`identityTrustDomain`| Trust domain used for identity of the existing linkerd installation |`cluster.local`|
30
+
|`installNamespace`| If the namespace should be installed |`true`|
31
+
|`linkerdNamespace`| The namespace of the existing Linkerd installation |`linkerd`|
32
+
|`linkerdVersion`| Control plane version | latest version |
33
+
|`namespace`| Service Mirror component namespace |`linkerd-multicluster`|
34
+
|`proxyOutboundPort`| The port on which the proxy accepts outbound traffic |`4140`|
35
+
|`remoteMirrorServiceAccountName`| The name of the service account used to allow remote clusters to mirror local services |`linkerd-service-mirror-remote-access-default`|
36
+
|`remoteMirrorServiceAccount`| If the remote mirror service account should be installed |`true`|
37
+
|`serviceMirror`| If the service mirror component should be installed |`true`|
38
+
|`logLevel`| Log level for the Multicluster components |`info`|
39
+
|`serviceMirrorRetryLimit`| Number of times update from the remote cluster is allowed to be requeued (retried) |`3`|
40
+
|`serviceMirrorUID`| User id under which the Service Mirror shall be ran |`2103`|
0 commit comments