Skip to content

Implement the service controller #106

@sudomateo

Description

@sudomateo

Implement the service controller within the Cloud Controller Manager to manage services of type LoadBalancer.

This one may be tricky since Oxide does not, at the time of this writing, have a load balancer offering. In lieu of that perhaps this service controller can do one of the following.

  • Create an instance running HAProxy or Nginx with an external IP whenever a LoadBalancer service is created in Kubernetes.
  • Update a floating IP to point to some healthy Kubernetes node. This isn't exactly a load balancer but it could be a proof of concept way to expose node ports externally until a load balancer exists in Oxide.
  • Emit some sort of event when a LoadBalancer service is created that a user is meant to receive via automation to update some external load balancer.

Implementing the service controller without an Oxide load balancer present will still provide good learning for future iterations on the Cloud Controller Manager.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions