Back in 2017, I attended my first KubeCon in Austin, which had around 1,500 attendees. Fast forward to 2025, KubeCon EU in London saw over 12,000 participants—a testament to how much the Kubernetes community and ecosystem have grown and evolved over the years.
This was my 3rd kubecon, and the first time speaking at KubeCon, and it was an incredible experience!
Takeaways Conference Highlights Attended a lightning talk on Kanister, a framework for application-level data management on Kubernetes. I really enjoed the talk on Kubernetes CRD design for long-term evolution. Key takeaways: Design CRDs to evolve gracefully and avoid unnecessary version upgrades. Prefer copying and adapting external API types rather than embedding them, to prevent breaking changes. Use reusable types like metav1.TypeMeta, ObjectMeta, and Conditions where appropriate. Pay attention to OpenAPI specs, deprecation policies, and CRD markers (use tools like Kubernetes API Linter). Design GitOps-friendly APIs by using list types with ownership keys. Choose clear, descriptive field names and avoid generic terms or camelcase concatenation. Take inspiration from upstream APIs and gather feedback from users. Be mindful of challenges like API removals (example issue). Nick Young has some amazing suggestions on Avoiding common Kubernetes controller mistakes. suggestions on using the Patch instead of Update to send only the changes, instead of the whole object. using a framework like controller-runtime, krt, StateDB instead of hand rolling something. versioning your CRD. Thinking how users will use your CRD API, making sure you spend good amounts of time in thinking about the API design. slides YouTube recording for 2024 talk of Nicks on Avoiding common CRD Design errors My Presentation I had the opportunity to present my talk at KubeCon EU 2025: “Resilient Multi-Cloud Strategies: Harnessing Kubernetes, Cluster API, and Cell-Based architecture” along with my colleague Javier Mosquera
...