Company
Date Published
Author
Kostis Kapelonis
Word count
1682
Language
English
Hacker News points
None

Summary

Kubernetes clusters with default configurations offer limited deployment strategies, but more advanced options like blue/green and canary deployments can be accessed using a Progressive Delivery controller such as Argo Rollouts. This guide explores how to select specific user groups for canary deployments rather than randomly distributing network requests, a common limitation in default configurations. Two approaches are discussed: static URL routing, which involves creating different URLs for different user groups to control exposure during deployments, and dynamic URL routing using HTTP headers, which allows more flexible and user-specific routing by detecting optional headers to direct specific users to the canary version. While static routing is straightforward and requires no source code changes, it is limited by its rigidity and inability to adjust group assignments mid-deployment. Dynamic routing, on the other hand, offers greater flexibility by enabling on-the-fly changes to user group assignments through headers, making it suitable even for applications with graphical interfaces. Both methods aim to improve the targeting of canary deployments and minimize the impact of potential failures on undesired user groups, though they may necessitate modifications to the application code or network configurations.