0

I have a repository set up on Github that is linked to my Kubernetes cluster with FluxCD. I have then written a Kustomization that "should" install LinkerD to my cluster. However here is where things have taken a bad turn... I have followed the documentation for installing LinkerD with helm and successfully managed to install linkerd-crds but when it comes to the linkerd-control-plane the reconciliation gets stuck on InProgress.

My LinkerD kustomization consists of the following files:

apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
  name: linkerd
  namespace: linkerd
spec:
  interval: 2m
  url: https://helm.linkerd.io/stable

kind: Secret
apiVersion: v1
metadata:
  name: linkerd-certs
  namespace: linkerd
data:
  ca.crt: ****
  issuer.crt: ****
  issuer.key: ****

apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: linkerd-crds
  namespace: linkerd
spec:
  timeout: 3m
  interval: 10m
  releaseName: linkerd
  targetNamespace: linkerd
  storageNamespace: linkerd
  chart:
    spec:
      chart: linkerd-crds
      version: 1.4.0
      sourceRef:
        kind: HelmRepository
        name: linkerd
        namespace: linkerd
      interval: 40m
  values:
    installNamespace: false
  install:
    crds: CreateReplace
  upgrade:
    crds: CreateReplace
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: linkerd-control-plane
  namespace: linkerd
spec:
  timeout: 3m
  interval: 10m
  releaseName: linkerd
  targetNamespace: linkerd
  storageNamespace: linkerd
  chart:
    spec:
      chart: linkerd-control-plane
      version: 1.9.5
      sourceRef:
        kind: HelmRepository
        name: linkerd
        namespace: linkerd
      interval: 40m
      valuesFiles:
        - values.yaml
        - values-ha.yaml
  valuesFrom:
    - kind: Secret
      name: linkerd-certs
      valuesKey: ca.crt
      targetPath: identityTrustAnchorsPEM
    - kind: Secret
      name: linkerd-certs
      valuesKey: issuer.crt
      targetPath: identity.issuer.tls.crtPEM
    - kind: Secret
      name: linkerd-certs
      valuesKey: issuer.key
      targetPath: identity.issuer.tls.keyPEM
  install:
    crds: CreateReplace
  upgrade:
    crds: CreateReplace     

kind: Namespace
apiVersion: v1
metadata:
  name: linkerd
  annotations:
    linkerd.io/inject: disabled
  labels:
    linkerd.io/is-control-plane: "true"
    config.linkerd.io/admission-webhooks: disabled
    linkerd.io/control-plane-ns: linkerd

I also found that the helm-controller deployment logs the following error every time it tries to reconcile:

Helm install failed: YAML parse error on linkerd-control-plane/templates/identity.yaml: error converting YAML to JSON: yaml: control characters are not allowed

0 Answers0