Configuring multi-cluster policy
If you have installed BEL’s
multi-cluster extension,
it includes a policy configuration that prevents unauthorized access to pods
running in the linkerd-multicluster namespace. This policy configuration only
grants access to the core Linkerd control plane by default. To see multi-cluster
metrics in the dashboard, you’ll need to add the following configuration to the
linkerd-multicluster namespace:
kubectl apply -f - <<EOF
apiVersion: policy.linkerd.io/v1alpha1
kind: MeshTLSAuthentication
metadata:
name: service-mirror-dashboard-authn
namespace: linkerd-multicluster
spec:
identityRefs:
- name: linkerd-dashboard
namespace: monitoring
kind: ServiceAccount
---
apiVersion: policy.linkerd.io/v1alpha1
kind: AuthorizationPolicy
metadata:
namespace: linkerd-multicluster
name: linkerd-admin-linkerd-dashboard
labels:
app.kubernetes.io/part-of: linkerd-buoyant
spec:
targetRef:
group: policy.linkerd.io
kind: Server
name: linkerd-admin
requiredAuthenticationRefs:
- group: policy.linkerd.io
kind: MeshTLSAuthentication
name: service-mirror-dashboard-authn
---
apiVersion: policy.linkerd.io/v1alpha1
kind: AuthorizationPolicy
metadata:
namespace: linkerd-multicluster
name: service-local-mirror-linkerd-dashboard
labels:
app.kubernetes.io/part-of: linkerd-buoyant
spec:
targetRef:
group: policy.linkerd.io
kind: Server
name: local-service-mirror
requiredAuthenticationRefs:
- group: policy.linkerd.io
kind: MeshTLSAuthentication
name: service-mirror-dashboard-authn
---
apiVersion: policy.linkerd.io/v1alpha1
kind: AuthorizationPolicy
metadata:
namespace: linkerd-multicluster
name: controller-linkerd-dashboard
labels:
app.kubernetes.io/part-of: linkerd-buoyant
spec:
targetRef:
group: policy.linkerd.io
kind: Server
name: controller
requiredAuthenticationRefs:
- group: policy.linkerd.io
kind: MeshTLSAuthentication
name: service-mirror-dashboard-authn
EOF
Upgrading from an older BEL installation
If you are upgrading from an older multi-cluster installation (pre-2.19), you’ll also need to apply the following configuration:
kubectl apply -f - <<EOF
apiVersion: policy.linkerd.io/v1alpha1
kind: AuthorizationPolicy
metadata:
namespace: linkerd-multicluster
name: service-mirror-linkerd-dashboard
labels:
app.kubernetes.io/part-of: linkerd-buoyant
spec:
targetRef:
group: policy.linkerd.io
kind: Server
name: service-mirror
requiredAuthenticationRefs:
- group: policy.linkerd.io
kind: MeshTLSAuthentication
name: service-mirror-dashboard-authn
EOF