Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linkerd: Upgrade to 2.12 release #70

Closed
ricsanfre opened this issue Aug 29, 2022 · 2 comments · Fixed by #75
Closed

Linkerd: Upgrade to 2.12 release #70

ricsanfre opened this issue Aug 29, 2022 · 2 comments · Fixed by #75
Labels
enhancement New feature or request
Milestone

Comments

@ricsanfre
Copy link
Owner

Upgrade software request

Upgrade Linkerd to the latest stable version, 2.12, released in Aug. See this linkerd announcement.

New features of release 2.12:

@ricsanfre ricsanfre added the enhancement New feature or request label Aug 29, 2022
@ricsanfre
Copy link
Owner Author

ricsanfre commented Aug 30, 2022

Helm chart linkerd-viz latest stable version (2.12) fails during installation, when using latest linkerd2 chart, current documented installation. Latest linkerd2 chart is v.2.11.4.

The installation failure is the following

helm install linkerd-viz --create-namespace linkerd/linkerd-viz
Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: [unable to recognize "": no matches for kind "AuthorizationPolicy" in version "policy.linkerd.io/v1alpha1", unable to recognize "": no matches for kind "MeshTLSAuthentication" in version "policy.linkerd.io/v1alpha1", unable to recognize "": no matches for kind "NetworkAuthentication" in version "policy.linkerd.io/v1alpha1"]

It fails because it is not able to find linkerd's CRDs that are installed only as part of new linkerd 2.12 chart (linkerd-crds).

Linkerd v2.12 has a a new installation procedure using helm Now the installation requires to deploy two different new charts (old chart linkerd2 is not used anymore):

  • linkerd-crd
  • linkerd-control-plane

To solve this installation error, linkerd-viz previous release must be installed (specifying --version argument)

helm install linkerd-viz --version 2.11.4 linkerd/linkerd-viz

@ricsanfre
Copy link
Owner Author

Traefik proxy injection is not working with new version

linkerd-control-plane helm chart includes configuration for proxyInjector to avoid proxy injection in some namespaces (kube-system and cert-manager):

# proxy injector configuration
proxyInjector:
  # -- Do not create a secret resource for the proxyInjector webhook.
  # If this is set to `true`, the value `proxyInjector.caBundle` must be set
  # or the ca bundle must injected with cert-manager ca injector using
  # `proxyInjector.injectCaFrom` or `proxyInjector.injectCaFromSecret` (see below).
  externalSecret: false

  # -- Namespace selector used by admission webhook.
  namespaceSelector:
    matchExpressions:
    - key: config.linkerd.io/admission-webhooks
      operator: NotIn
      values:
      - disabled
    - key: kubernetes.io/metadata.name
      operator: NotIn
      values:
      - kube-system
      - cert-manager

With this new configuration traefik proxy injection is not happening.

Instead of removing kube-system namespace from the list of namespaces to be avoided, it is better to deploy traefik in a separate namespace. For doing that traefik k3s addon first need to be disabled. (k3s server argument --no-deploy=traefik)

Currently, Traefik k3s default configuration was already being changed by redeploying the Helm chart with a set of values (enabling prometheus metrics and access logs). Moreover a specific traefik namespace is being used for traefik resources: Middelware, Ingress, etc. So it make sense to deploy Traefik from its helm chart instead of using default k3s add-on, so all traefik resources are in the same namespace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant