The Katapult Container Engine Cloud Controller Manager is a set of tools that is designed to monitor nodes & provision load balancers.
As it stands, kce-ccm creates LoadBalancers and LoadBalancerRule objects in Katapult to direct traffic to k8s LoadBalancer type services.
See the following other CCMs as good guidance:
- https://github.com/kubernetes/cloud-provider-gcp/
- https://github.com/kubernetes/cloud-provider-aws/
- https://github.com/digitalocean/digitalocean-cloud-controller-manager (uses older CCM framework, so take with a pinch of salt)
The following environment variables are mandatory:
KATAPULT_API_TOKEN
- the API token to use to authenticate withKATAPULT_ORGANIZATION_RID
- the organization RID for the clusterKATAPULT_DATA_CENTER_RID
- the data centre that the cluster is deployed inKATAPULT_NODE_TAG_RID
- the tag that has been applied to all worker nodes in the cluster
The following environment variables are optional:
KATAPULT_API_HOST
- the hostname for the API service
A set of command line arguments are also available. Use --help to view these in full.
The token requires the following scopes:
load_balancers