---
# System prepended metadata

title: kube-controller-manager slice-and-dice

---

# kube-controller-manager slice-and-dice

## Separate instance for gc controller

tasks:
- audit RBAC for lower-permission role

key configuration [here](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/apis/config/types.go)

reconciler initializers collected [here](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/cmd/kube-controller-manager/app/controllermanager.go#L408)

[Disable GC in main replica](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/garbagecollector/config/types.go)

Avoid races elsewhere in controller manager:
- [core.go loops](https://github.com/kubernetes/kubernetes/blob/master/cmd/kube-controller-manager/app/core.go):
  - [attach-detach](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/volume/attachdetach/config/types.go) - toggle exists
  - [cloud controller](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/staging/src/k8s.io/cloud-provider/config/types.go) - investigate
  - [cert controller](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/certificates/signer/config/types.go) - changes needed possibly
  - [daemon set controller](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/daemon/config/types.go) - concurrent syncs only, changes may be needed
  - [stateful set controller](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/statefulset/config/types.go) - concurrent syncs only, changes may be needed
  - [endpoint controller](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/endpoint/config/types.go#L24) - concurrent syncs only 
  - [endpoint slice controller](https://github.com/kubernetes/kubernetes/blob/5be21c50c269fc1d28e0bd31ab9dcb572ae7fac5/pkg/controller/endpointslice/config/types.go#L25) - 