Introduction
En 2024, un nombre croissant de clients souhaitaient faire tourner Kubernetes sur l'infrastructure Oxide. Le problème ? Aucune intégration supportée n'existait pour faciliter ce processus. En tant que premier ingénieur logiciel solutions chez Oxide, ma mission était claire : simplifier le déploiement et l'exploitation de Kubernetes sur notre plateforme.
Comprendre les besoins des clients
Les clients cherchaient une solution simple et efficace pour provisionner des clusters Kubernetes. Grâce à une demande de pull client et un brouillon de RFD, nous avons commencé à explorer leurs besoins réels. Plutôt que d'imaginer des solutions dans l'abstrait, nous avons suivi un cycle de feedback constant.
Rancher Node Driver : Premier pas vers l'intégration
Le premier défi était de maintenir l'intégration soumise par un client via un pull request pour un driver de nœud Rancher. Cela signifiait comprendre non seulement Rancher, mais aussi comment ce plugin pouvait interagir avec l'API d'Oxide.
Une approche multi-intégration
Aucune méthode de provisionnement unique ne convenait à tous les workflows clients. Ainsi, nous avons publié trois intégrations : le Rancher Node Driver, Omni et Cluster API. Chaque intégration a permis de répondre à des besoins spécifiques tout en nous offrant des perspectives nouvelles sur l'évolution nécessaire de notre plateforme.
Défis d'exploitation des clusters
Une fois les clusters provisionnés, le prochain défi était leur exploitation. Les clients ont rencontré des problèmes de réconciliation d'infrastructure, de mise en réseau et de stockage.
Réconciliation de l'infrastructure
Pour garantir une utilisation fluide, nous avons travaillé sur des mécanismes de réconciliation qui permettent d'aligner les états souhaités et réels des infrastructures.
Exposition d'applications et lacunes réseau
Les problèmes de mise en réseau ont été révélés lors de l'exposition des applications. Cela nous a poussés à développer des solutions pour combler ces lacunes et améliorer l'expérience utilisateur.
Contraintes de stockage
Les workloads stateful ont exposé des contraintes de stockage, nous obligeant à repenser nos solutions de stockage pour répondre aux besoins croissants des clients.
Conclusion
Le développement de Kubernetes sur Oxide a été guidé par les besoins et les retours des clients. Chaque étape nous a permis d'améliorer notre plateforme tout en répondant directement aux attentes des utilisateurs. Discutons de ton projet en 15 minutes.