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/uninitialized taint 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