Introduction
In 2024, an increasing number of customers were eager to run Kubernetes on Oxide's infrastructure. The problem? There were no supported integrations to facilitate this process. As Oxide's first Solutions Software Engineer, my mission was clear: simplify the deployment and operation of Kubernetes on our platform.
Understanding Customer Needs
Customers were looking for a simple and effective solution to provision Kubernetes clusters. Thanks to a customer-submitted pull request and a draft RFD, we began exploring their real needs. Instead of imagining solutions in the abstract, we followed a constant feedback loop.
Rancher Node Driver: The First Step Towards Integration
The first challenge was maintaining the integration submitted by a customer via a pull request for a Rancher node driver. This meant understanding not only Rancher but also how this plugin could interact with Oxide's API.
A Multi-Integration Approach
No single provisioning method suited all customer workflows. Thus, we published three integrations: the Rancher Node Driver, Omni, and Cluster API. Each integration addressed specific needs while providing us with new insights into the necessary evolution of our platform.
Challenges in Cluster Operations
Once clusters were provisioned, the next challenge was their operation. Customers encountered issues with infrastructure reconciliation, networking, and storage.
Infrastructure Reconciliation
To ensure smooth usage, we worked on reconciliation mechanisms that allow the alignment of desired and actual infrastructure states.
Application Exposure and Networking Gaps
Networking issues were revealed when exposing applications. This pushed us to develop solutions to fill these gaps and improve user experience.
Storage Constraints
Stateful workloads exposed storage constraints, forcing us to rethink our storage solutions to meet growing customer needs.
Conclusion
The development of Kubernetes on Oxide was guided by customer needs and feedback. Each step allowed us to improve our platform while directly meeting user expectations. Let's discuss your project in 15 minutes.