linode-cloud-controller-manager

command module
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2025 License: Apache-2.0 Imports: 19 Imported by: 0

README

Kubernetes Cloud Controller Manager for Linode

Go Report Card Continuous Integration codecov Docker Pulls Twitter

Overview

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.

Core Components
Node Controller
  • 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
Service Controller
  • 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
Route Controller
  • 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
NodeIPAM Controller
  • Manages and configures pod CIDRs to nodes

Requirements

  • Kubernetes 1.22+
  • Kubelets, controller-manager, and apiserver with --cloud-provider=external
  • Linode APIv4 Token
  • Supported Linode region

Documentation

Quick Start
Configuration
Examples and Development

Getting Help

Community Support

For general help or discussion, join us in #linode on the Kubernetes Slack.

To sign up for Kubernetes Slack, use the Kubernetes Slack inviter.

Issue Tracking

If you've found a bug or want to request a feature:

Additional Resources

Contributing

Want to improve the Linode Cloud Controller Manager? Please see our contributing guidelines.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
linode/client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
nodeipam
Package nodeipam contains code for syncing cloud instances with node registry
Package nodeipam contains code for syncing cloud instances with node registry
nodeipam/ipam
Package ipam provides different allocators for assigning IP ranges to nodes.
Package ipam provides different allocators for assigning IP ranges to nodes.
Package sentry implements logic for using Sentry for error reporting.
Package sentry implements logic for using Sentry for error reporting.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL