Cloud Controller Manager

Cloud Controller Manager in Thalassa Cloud Kubernetes

The Cloud Controller Manager (CCM) is a Kubernetes control plane component that integrates Kubernetes with Thalassa Cloud’s infrastructure services. In Thalassa Cloud Kubernetes, the CCM is pre-installed and fully managed by the platform, ensuring full integration between your Kubernetes cluster and Thalassa Cloud infrastructure.

The Cloud Controller Manager embeds cloud-specific control logic, allowing Kubernetes to interact with Thalassa Cloud’s infrastructure services. It runs within the Control Plane and is not visible to users on the Managed Kubernetes services from Thalassa Cloud. The CCM is automatically configured during cluster creation and is fully managed by Thalassa Cloud.

Key Features

FeatureDescription
Load Balancer IntegrationAutomatically provisions and manages load balancers for Kubernetes services
Node Lifecycle ManagementMonitors node health and handles node lifecycle events
Instance MetadataProvides cloud-specific metadata for nodes
Zone and Region SupportSupports availability zones and regions for proper node placement
Configurable AuthenticationSupports both Personal Access Token and OIDC authentication methods

How It Works

The CCM integrates with Thalassa Cloud’s infrastructure services to provide:

  1. Load Balancer Management

    • Automatically provisions load balancers for LoadBalancer-type services
    • Configures health checks and routing rules
    • Manages load balancer lifecycle
  2. Node Management

    • Monitors node health and status
    • Handles node lifecycle events
    • Provides cloud-specific metadata to nodes
  3. Infrastructure Integration

    • Manages VPC and subnet configurations
    • Handles zone and region awareness
    • Integrates with Thalassa Cloud’s networking features

Configuration

If you are installing the Cloud Controller Manager on your own Kubernetes Distribution, you have to provide the following settings:

# Basic configuration
organisation: "your-org"
endpoint: "https://api.thalassa.cloud"

# Authentication
cloudCredentials:
  personalAccessToken: "your-token"
  # OR
  clientID: "your-client-id"
  clientSecret: "your-client-secret"

# Infrastructure configuration
vpcIdentity: "your-vpc-id"
defaultSubnet: "your-subnet"
cluster: "your-cluster-id"

# Feature configuration
loadBalancer:
  enabled: true
  creationPollInterval: 5  # seconds
  creationPollTimeout: 300  # seconds

instancesV2:
  enabled: true
  zoneAndRegionEnabled: true

Integration with Kubernetes Services

Load Balancer Services

When you create a LoadBalancer-type service, the CCM automatically:

  1. Provisions a Thalassa Cloud Load Balancer
  2. Configures health checks
  3. Sets up routing rules
  4. Manages the load balancer lifecycle

Example:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: production
  annotations:
    loadbalancer.k8s.thalassa.cloud/type: "public"
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: my-app

Node Management

The CCM automatically:

  1. Labels nodes with cloud-specific information
  2. Handles node lifecycle events
  3. Provides cloud metadata to the Kubernetes scheduler

Troubleshooting

Common Issues

  1. Load Balancer Creation Fails

    • Check if the service has valid annotations
    • Verify network connectivity
    • Ensure sufficient quota
  2. Node Metadata Issues

    • Verify node labels
    • Contact Thalassa Cloud support if issues persist

Support

Since the CCM runs on the control plane and is not directly accessible to users, any issues related to the CCM should be reported to Thalassa Cloud support. The support team can help diagnose and resolve any problems with the CCM’s operation.

Additional Resources