Lifecycle automation reference

BEL provides lifecycle automation for Linkerd in the form of a Kubernetes operator that runs on the cluster and allows for automated installation and upgrades of Linkerd, across both control plane and data plane.

Operator behavior is determined by two custom resources: ControlPlane and DataPlane, both in the linkerd.buoyant.io namespace. You may use one or both CRs to configure operator behavior.

The ControlPlane custom resource determines how the operator handles Linkerd’s control plane.

FieldDescription
componentsTop-level key for all Linkerd components.
FieldDescription
linkerdLinkerd Control Plane configuration.
FieldDescription
versionDesired version of the Linkerd Control Plane (e.g. enterprise-2.16.0).
licenseLicense obtained via the Buoyant Portal. Exactly one of license or licenseSecret must be set.
licenseSecretName of the secret containing the BEL license. Default is buoyant-license, at key license. Exactly one of license or licenseSecret must be set.
crdsConfigDesired state of the linkerd-crds component.
controlPlaneConfigDesired state of the linkerd-control-plane component.
apiVersion: linkerd.buoyant.io/v1alpha1
kind: ControlPlane
metadata:
  name: linkerd-control-plane
spec:
  components:
    linkerd:
      crdsConfig: ...
      controlPlaneConfig: ...

(See the Production-grade BEL installation guide for a more complete example.)

The DataPlane custom resources enable automatic upgrades of Linkerd proxies running in your application workloads.

FieldDescription
workloadSelectorA Kubernetes LabelSelector that matches the workloads to be managed by the operator.
apiVersion: linkerd.buoyant.io/v1alpha1
kind: DataPlane
metadata:
  name: dp-update
  namespace: default
spec:
  workloadSelector:
    matchLabels: {}