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
Feature | Description |
---|---|
Load Balancer Integration | Automatically provisions and manages load balancers for Kubernetes services |
Node Lifecycle Management | Monitors node health and handles node lifecycle events |
Instance Metadata | Provides cloud-specific metadata for nodes |
Zone and Region Support | Supports availability zones and regions for proper node placement |
Configurable Authentication | Supports both Personal Access Token and OIDC authentication methods |
How It Works
The CCM integrates with Thalassa Cloud’s infrastructure services to provide:
Load Balancer Management
- Automatically provisions load balancers for
LoadBalancer
-type services - Configures health checks and routing rules
- Manages load balancer lifecycle
- Automatically provisions load balancers for
Node Management
- Monitors node health and status
- Handles node lifecycle events
- Provides cloud-specific metadata to nodes
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:
- Provisions a Thalassa Cloud Load Balancer
- Configures health checks
- Sets up routing rules
- 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:
- Labels nodes with cloud-specific information
- Handles node lifecycle events
- Provides cloud metadata to the Kubernetes scheduler
Troubleshooting
Common Issues
Load Balancer Creation Fails
- Check if the service has valid annotations
- Verify network connectivity
- Ensure sufficient quota
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.