calico-apiserver fails to start

This issue is seen in CI:

  • example on a nightly run: https://gitlab.com/sylva-projects/sylva-core/-/jobs/12688171806
  • example in an MR run: https://gitlab.com/sylva-projects/sylva-core/-/jobs/12686304459

calico-apiserver pods are failing to start, looping on:

time="2026-01-12T14:56:01Z" level=info msg="informer-sync check failed: readyz\n[-]informer-sync failed:
 1 informers not started yet:
 [*v1.ConfigMap]" klog-logger=tigera-apiserver
time="2026-01-12T14:56:19Z" level=error 
msg="Failed to watch" 
error="failed to list *v1.ConfigMap: 
configmaps is forbidden: 
User \"system:serviceaccount:calico-system:calico-apiserver\" cannot list resource \"configmaps\" in API group \"\" at the cluster scope" 

klog-logger=tigera-apiserver
 reflector="pkg/mod/k8s.io/client-go@v0.33.5/tools/cache/reflector.go:285" type="*v1.ConfigMap"

The apiserver pod ServiceAccount is lacking a role/rolebinding that would let it read some ConfigMaps.

Note well: this happens on fresh installs (eg. https://gitlab.com/sylva-projects/sylva-core/-/jobs/12688212457) but without preventing the deployement to complete, because nothing waits for these pods to be up. However it prevents update-xxx-cluster jobs from completing because no calico-apiserver pods being up, the PDB can't be satisfied during a node rolling update and the symptom of this problem is a failure in cluster unit, such as:

         ╰┄╴Machine/sylva-system/mgmt-22584847..  Terminating Resource scheduled for deletion
            ├┄╴┬┄┄[Conditions]
            ┆  ├┄╴Ready                                                                                                                                                                                                       False       Draining             Drain not completed yet (started at 2026-01-12T18:52:19Z):
            ┆  ┆  * Pod calico-system/calico-apiserver-5ff48b7d86-sk4v5: cannot evict pod as it would violate the pod's disruption budget. The disruption budget calico-apiserver needs 1 healthy pods and has 0 currently
...
Edited Jan 13, 2026 by Thomas Morin
Assignee Loading
Time tracking Loading