siderolabs / talos-cloud-controller-manager

Generic cloud controller manager for hybrid deployments using Talos OS
MIT License
58 stars 11 forks source link

"node-csr-approval" is not in the list of known controllers #193

Closed nogweii closed 2 months ago

nogweii commented 2 months ago

Bug Report

Description

With the most recent chart release, talos-ccm crash loops with the error message that it doesn't recognize the controller name. I figure it's because there wasn't a version released that included the code yet, although the chart is configured for it.

Logs

"node-csr-approval" is not in the list of known controllers
E0828 19:00:49.247979       1 run.go:74] "command failed" err="\"node-csr-approval\" is not in the list of known controllers"

(I had to manually approve the node's CSR to get the logs, avoiding a catch-22 I found myself in before realizing that was an option. I thought I can't capture the logs as there is a TLS error, but the error won't be resolved as talos-ccm isn't running. :smile: )

Environment

sergelogvinov commented 2 months ago

Hi, this param appears here https://github.com/siderolabs/talos-cloud-controller-manager/blob/main/docs/deploy/cloud-controller-manager-edge.yml for edge version. It has imagePullPolicy: Always policy.

How do you deploy the CCM ?

nogweii commented 2 months ago

I'm using Helmfile to deploy, with the following configuration entry:

releases:
  - name: talos-cloud-controller-manager
    namespace: kube-system
    chart: oci://ghcr.io/siderolabs/charts/talos-cloud-controller-manager
    version: 0.4.0
    values:
      - ./chart-values/talos-ccm.yaml
sergelogvinov commented 2 months ago

Thank you for feedback. Yap not I see what append here.

I update the documentation and remove node-csr-approval controller by default #194

sergelogvinov commented 2 months ago

merged

Rhymen commented 2 months ago

I deployed the helm chart 0.4.1 with the example values.yaml from the README.md

# talos-ccm.yaml

replicaCount: 2

enabledControllers:
  - cloud-node
  - node-csr-approval

# Deploy CCM only on control-plane nodes
nodeSelector:
  node-role.kubernetes.io/control-plane: ""
tolerations:
  - key: node-role.kubernetes.io/control-plane
    effect: NoSchedule

I get the same error as explained in the issue here: "node-csr-approval" is not in the list of known controllers

Environment

sergelogvinov commented 2 months ago

Hi, you force the list of controllers:

enabledControllers:
  - cloud-node
  - node-csr-approval

Documentation was updated recently for new (future) release. It will work for edge version. We are waiting Talos release right now, to release CCM.

Rhymen commented 2 months ago

I see, i was missing that the changes are only deployed on the edge version. Thank you for the clarification.