ncsokas / 100-days-of-code

Fork this template for the 100 days journal - to keep yourself accountable (multiple languages available)
http://www.100daysofcode.com
0 stars 0 forks source link

argo rollouts (W7) #38

Open sync-by-unito[bot] opened 7 months ago

sync-by-unito[bot] commented 7 months ago

https://argoproj.github.io/rollouts/

Similar to deployment controller, but with more rollout features.

The native Kubernetes Deployment Object supports the RollingUpdate strategy which provides a basic set of safety guarantees (readiness probes) during an update. However the rolling update strategy faces many limitations.

Argo Rollouts is a Kubernetes controller and set of CRDs which provide advanced deployment capabilities such as blue-green, canary, canary analysis, experimentation, and progressive delivery features to Kubernetes.

Questions:

Setup: * Minikube

┆Issue is synchronized with this Trello card by Unito

sync-by-unito[bot] commented 7 months ago

➤ Amruta Shetye commented:

Link to Slack thread ( https://eficode.slack.com/archives/C052Y3S1S6S/p1708092935543689 )

Spike summary from Argo Rollouts (16th Feb):

We installed argo rollout and argo dashboard (kubectl plugin) in minikube on \@Daniel Redelberger’s laptop.

Findings: Argo rollouts brings the ability to do blue green deployments and canary deployments out of the box Easy to install through helm You initiate blue green deployment or canary deployment by changing the pod spec in rollout manifest 2 services are required for blue green deployment whereas canary only needs 1 service Documentation unclear - we weren't sure how the manifests were specified and how rollouts were triggered Also possible to integrate with ingress controller and Istio service mesh but we didn't try that

Benefits: Definitely recommended for customers using blue green and canary deployments on regular basis Easy rollbacks if anything goes wrong It has its own cli with the kubectl plugin

Downsides: Brings a lot of complexity which might be unnecessary for many It has a lot of automation that could cause more problems than solve them