You are viewing documentation for Cozystack v1, which is currently in beta. For the latest stable version, see the v0 documentation.
Local Cloud Controller Manager
Node IP detection and lifecycle management for multi-location clusters.
The local-ccm package provides a lightweight cloud controller manager for self-managed clusters.
It handles node IP detection and node lifecycle without requiring an external cloud provider.
What it does
- External IP detection: Detects each node’s external IP via
ip route get(default target:8.8.8.8) - Node initialization: Removes the
node.cloudprovider.kubernetes.io/uninitializedtaint so pods can be scheduled - Node lifecycle controller (optional): Monitors NotReady nodes via ICMP ping and removes them after a configurable timeout
Install
cozypkg add cozystack.local-ccm
Talos machine config
All nodes in the cluster (including control plane) must have cloud-provider: external set
so that kubelet defers node initialization to the cloud controller manager:
machine:
kubelet:
extraArgs:
cloud-provider: external
Important
Thecloud-provider: external setting must be present on all nodes in the cluster,
including control plane nodes. Without it, the cluster-autoscaler cannot match Kubernetes
nodes to cloud provider instances (e.g. Azure VMSS).