Presenters

Source

Argo Rollouts 1.9 GA: A Plugin-Powered Leap Towards Unrivaled Stability and Flexibility! 🚀

Hello, fellow Kubernetes enthusiasts and deployment wizards! Today, we’re diving into some incredibly exciting news from the world of progressive delivery. Alexander Gaudreault just pulled back the curtain on the General Availability (GA) release of Argo Rollouts 1.9, and trust us, this isn’t just another update – it’s a testament to community power and a clear vision for the future of stable, flexible deployments!

Argo Rollouts 1.9 GA: A Community Triumph 🎉

The journey to 1.9 GA has been remarkable, officially graduating from its release candidate status at the last ArgoCon in North America. What truly makes this release stand out? The sheer scale of community engagement! Argo Rollouts 1.9 saw an incredible 69 different contributors lend their expertise. Even more impressively, 55 of those contributors were making their very first contribution! This surge of diverse talent highlights how many companies and individuals are actively engaging with and investing in the Argo Rollouts project, making it a truly collaborative open-source success story.

While this release focuses heavily on maintenance tasks and crucial bug fixes for rock-solid stability, it also introduces some impactful improvements that tackle real-world deployment challenges head-on.

Solving Real-World Deployment Headaches: Key Updates 🛠️

Deploying applications in dynamic Kubernetes environments often comes with its unique set of challenges. Argo Rollouts 1.9 directly addresses a couple of these:

💡 The Progress Threshold: Taming the HPA Tango

One persistent headache for Rollouts users in large, autoscaled environments was the conflict between Argo Rollouts and the Horizontal Pod Autoscaler (HPA). Previously, Rollouts would strictly wait for the exact, desired number of pods before progressing to the next step in a canary deployment. This often led to a frustrating “tug-of-war” with the HPA, which might be scaling pods up or down independently. The impact? Deployments would slow down significantly, sometimes struggling to advance.

Argo Rollouts 1.9 introduces the Progress Threshold, a brilliant solution to this problem. You can now set a threshold that allows Rollouts to progress to the next step even if your application isn’t fully 100% scaled to its target percentage. This small but mighty feature ensures smoother, faster deployments without fighting your HPA!

📚 Kubernetes Library Update: Staying Current with Pod Features

The Kubernetes ecosystem evolves at a rapid pace, with new features constantly being added to the core PodSpec. Historically, Argo Rollouts’ release cycle wasn’t always as fast as Kubernetes upstream, meaning users sometimes couldn’t immediately leverage the latest and greatest PodSpec features within their Rollouts.

Thanks to a significant contribution from Rafael in the community, Argo Rollouts 1.9 now includes an updated Kubernetes library. This update ensures that you can take full advantage of all the new PodSpec features available in upstream Kubernetes, keeping your deployments modern and powerful!

The Future is Modular: Embracing a Plugin-First Approach 💡

Perhaps the most exciting strategic direction Alexander highlighted is Argo Rollouts’ accelerating shift towards a plugin-based mentality. The core argument is clear: users demand stability from their deployment controllers, much like they expect from the Kubernetes Deployment controller itself. You don’t want frequent, disruptive updates to your core deployment mechanism.

However, stability shouldn’t come at the cost of innovation or extensibility. The solution? A robust plugin mechanism that allows new features and integrations to be added without destabilizing the core Rollouts controller. This powerful tradeoff ensures both reliability and adaptability.

We’ve already seen this philosophy in action with existing plugins:

  • Traffic Routers: Seamlessly integrate with various service meshes and ingress controllers.
  • Metrics Providers: Offer diverse metrics for in-depth analysis during deployments.
  • Canary Step Plugins: Empower you to add virtually any kind of automation into your rollout process.
  • Gateway API Integration: Expanding connectivity options.

Beyond Deployments: Expanding Horizons 🚀

Get ready for some truly groundbreaking news! Argo Rollouts is currently aiming to support more than just traditional deployment patterns. The project is actively working towards bringing canary deployment capabilities to StatefulSets and DaemonSets! This has been a highly requested feature, with an issue open on the project since 2020 – a testament to its long-standing demand.

The solution under development involves creating a new RolloutPlugin Custom Resource Definition (CRD). This CRD will allow you to reference any kind of workload, while a separate plugin integration will handle the business logic for deploying that specific workload type. This means you’ll soon be able to leverage the power of progressive delivery for your stateful applications and cluster-wide DaemonSets!

What’s more, this plugin architecture is designed to be incredibly flexible. If you have custom types (CRDs) handling workloads within your enterprise, you’ll be able to integrate them with Rollouts using private plugins. Your custom CRDs won’t even need to be open source to benefit from this powerful integration!

Get Involved! Your Chance to Shape the Future 🤝

The development for StatefulSet and DaemonSet support is currently in progress, and it’s a highly impactful feature where community contributions can make a real difference. If you’re passionate about Kubernetes and progressive delivery, this is an incredible opportunity to get involved with the Argo Rollouts project. Architecture proposals and experimental PRs are already open, paving the way for this exciting evolution.

Argo Rollouts 1.9 isn’t just a maintenance release; it’s a clear signal of the project’s maturity, its vibrant community, and its ambitious vision for a future where stable, flexible, and powerful deployments are accessible to everyone. Dive in and experience the difference!

Appendix