The Oxide Cloud Controller Manager is a Kubernetes control plane component that contains Oxide specific controllers. This allows Kubernetes clusters running on Oxide to integrate with Oxide via the Cloud Controller Manager architecture.
This project is still a work in progress!
A cloud controller manager is free to run any cloud-specific
controllers it needs. However, generally, a cloud controller
manager runs the following controllers by implementing the
cloudprovider.Interface
.
-
Node Controller - Responsible for updating
Node
resources as nodes are added or removed from the Kubernetes cluster. -
Route Controller - Responsible for configuring routes in the cloud provider so that pods running on different nodes can communicate with one another.
-
Service Controller - Responsible for configuring cloud provider infrastructure such as load balancers and IP addresses when a
Service
of typeLoadBalancer
is created.
The Oxide Cloud Controller Manager only implements the following controllers.
-
Node Controller (via
cloudprovider.InstancesV2
)