The Linode Cloud Controller Manager (CCM) is a crucial component that integrates Kubernetes with Linode's infrastructure services. It implements the cloud-controller-manager binary, running cloud-specific control loops that are essential for cluster operation.
A Cloud Controller Manager (CCM) is a Kubernetes control plane component that embeds cloud-specific control logic. It lets you link your cluster to your cloud provider's API, separating out the components that interact with that cloud platform from components that only interact with your cluster.
- Initializes node configuration with Linode-specific information
- Sets node addresses (public/private IPs)
- Labels nodes with region/zone information
- Configures node hostnames
- Monitors node health and lifecycle
- Detects node termination
- Updates node status
- Manages node cleanup
- Manages LoadBalancer service implementations using Linode NodeBalancers
- Creates and configures NodeBalancers
- Updates backend pools
- Manages SSL/TLS certificates
- Handles automatic provisioning and configuration
- Health checks
- Session affinity
- Protocol configuration
- Supports multiple load balancing approaches
- Traditional NodeBalancer deployment
- BGP-based IP sharing for cost optimization
- Custom firewall rules and security configurations
- Manages VPC and private network integration
- Configures routes for pod CIDR ranges
- Handles cross-node pod communication
- Ensures proper network connectivity
- Sets up pod-to-pod networking
- Manages network policies
- Configures network routes for optimal communication
- Kubernetes 1.22+
- Kubelets, controller-manager, and apiserver with
--cloud-provider=external
- Linode APIv4 Token
- Supported Linode region
- Getting Started Guide - Start here for installation and setup
- Overview - Learn about CCM basics
- Requirements - Check prerequisites
- Installation - Install the CCM
- Helm Installation - Install using Helm
- Manual Installation - Manual setup instructions
- Verification - Verify your installation
- Troubleshooting - Common issues and solutions
- Configuration Guide - Detailed configuration options
- Examples - Real-world usage examples
- Development Guide - Contributing to CCM
For general help or discussion, join us in #linode on the Kubernetes Slack.
To sign up for Kubernetes Slack, use the Kubernetes Slack inviter.
If you've found a bug or want to request a feature:
- Check the GitHub Issues
- Submit a Pull Request
Want to improve the Linode Cloud Controller Manager? Please see our contributing guidelines.