Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts - ADDO

Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts - ADDO

Hossam Barakat

October 27, 2021
Tweet

More Decks by Hossam Barakat

Other Decks in Programming

Transcript

  1. Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts Hossam Barakat

    Engineering Manager at Willow @hossambarakat_ | www.hossambarakat.net
  2. @hossambarakat_ • What is Argo Rollouts • Argo Rollouts Concepts

    • Blue-Green Deployment • Canary Deployment Agenda
  3. @hossambarakat_ • Limited controls over the speed of the rollout

    • Inability to control traffic flow to the new version • No ability to query external metrics to verify an update • Unable to automatically abort and rollback the update K8s Deployment Challenges
  4. @hossambarakat_ • 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. What is Argo Rollouts?
  5. @hossambarakat_ • Controller and Custom Resource Definitions (CRDs) $ kubectl

    create namespace argo-rollouts $ kubectl apply -n argo-rollouts -f install.yaml • Kubectl argo rollouts plugin $ brew install argoproj/tap/kubectl-argo-rollouts $ kubectl argo rollouts version Installation
  6. @hossambarakat_ • A drop-in replacement for a Deployment resource. •

    Provides additional blue-green and canary update strategies. • Automates promotion and rollback based on analysis results. Rollout
  7. @hossambarakat_ Rollout Canary with NGINX Rollout ReplicaSet V2 Pod Pod

    ReplicaSet V1 Pod Pod Stable Service Ingress Canary Service Canary Ingress
  8. @hossambarakat_ Rollout Canary with NGINX Rollout ReplicaSet V2 Pod Pod

    ReplicaSet V1 Pod Pod Stable Service Ingress Canary Service Canary Ingress
  9. @hossambarakat_ Rollout Canary with NGINX Rollout ReplicaSet V2 Pod Pod

    ReplicaSet V1 Pod Pod Stable Service Ingress Canary Service Canary Ingress
  10. @hossambarakat_ • What metrics to measure and its frequency •

    What values are considered successful or failed • Continuously run in the background. Analysis