Conozca Argo Rollouts v1.0

El enfoque correcto para la entrega progresiva







¡El equipo de Argo se enorgullece de presentar Argo Rollouts v1.0! Descubra por qué se lanzó este proyecto y cómo trabajamos en él. Consulte la página de versiones para obtener instrucciones de instalación .







imagen







2019 Intuit Kubernetes. Kubernetes , blue-green canary, — Spinnaker. , API . Rolling update . staging preview, . Kayenta, , Spinnaker.







deployment controller Kubernetes, , . Argo Rollouts, blue-green canary- Kubernetes.







, . - . Rollouts — progressive delivery.







Progressive delivery — , , , (, ).

- (, ), . progressive delivery KubeCon.







progressive delivery Rollouts, , . Intuit , , , . Argo Rollouts , canary ingress service mesh. . , Prometheus, DataDog, NewRelic, Wavefront, Kayenta, Job -:







imagen







ingress service mesh Rollouts , Linkerd (SMI), Istio, AWS LoadBalancer, Ambassador NGINX Ingress Controller.







imagen







KubeCon (1, 2) Argo Argo Rollouts v1.0! Rollouts , Intuit QuickBooks TurboTax, . v1.0.







Rollouts



, canary progressive delivery, , . , kubectl argo rollouts . , dashboard



http://localhost:3100/:







$ kubectl argo rollouts dashboard
      
      





, .







imagen







, canary, — , , . .







imagen







, , Service/Ingress ( ). , , Argo CD .







Kubernetes Prometheus



: Kubernetes, Rollout, , . , .







TYPE      REASON                 OBJECT               MESSAGE
Normal    RolloutUpdated         rollout/guestbook    Rollout updated to revision 1
Normal    NewReplicaSetCreated   rollout/guestbook    Created ReplicaSet guestbook-698fbfb9dc (revision 1) with size 1
Normal    RolloutCompleted       rollout/guestbook    Rollout completed update to revision 1 (698fbfb9dc): Initial deploy
Normal    RolloutUpdated         rollout/guestbook    Rollout updated to revision 2
Normal    NewReplicaSetCreated   rollout/guestbook    Created ReplicaSet guestbook-644bd86dd8 (revision 2) with size 1
Normal    ScalingReplicaSet      rollout/guestbook    Scaled down ReplicaSet guestbook-644bd86dd8 (revision 2) from 1 to 0
Warning   RolloutAborted         rollout/guestbook    Rollout aborted update to revision 2
Normal    ScalingReplicaSet      rollout/guestbook    Scaled up ReplicaSet guestbook-644bd86dd8 (revision 2) from 0 to 1
Normal    RolloutStepCompleted   rollout/guestbook    Rollout step 1/2 completed (setWeight: 50)
Normal    RolloutPaused          rollout/guestbook    Rollout is paused (CanaryPauseStep)
Normal    RolloutStepCompleted   rollout/guestbook    Rollout step 2/2 completed (pause: 3s)
Normal    RolloutResumed         rollout/guestbook    Rollout is resumed
Normal    ScalingReplicaSet      rollout/guestbook    Scaled down ReplicaSet guestbook-698fbfb9dc (revision 1) from 1 to 0
Normal    RolloutCompleted       rollout/guestbook    Rollout completed update to revision 2 (644bd86dd8): Completed all 2 canary steps
      
      





, Prometheus, Prometheus:







# HELP rollout_events_total Count of rollout events
# TYPE rollout_events_total counter
rollout_events_total{name="guestbook",namespace="default",reason="NewReplicaSetCreated",type="Normal"} 4
rollout_events_total{name="guestbook",namespace="default",reason="RolloutAborted",type="Warning"} 2
rollout_events_total{name="guestbook",namespace="default",reason="RolloutCompleted",type="Normal"} 4
rollout_events_total{name="guestbook",namespace="default",reason="RolloutPaused",type="Normal"} 4
rollout_events_total{name="guestbook",namespace="default",reason="RolloutResumed",type="Normal"} 2
rollout_events_total{name="guestbook",namespace="default",reason="RolloutStepCompleted",type="Normal"} 6
rollout_events_total{name="guestbook",namespace="default",reason="RolloutUpdated",type="Normal"} 4
rollout_events_total{name="guestbook",namespace="default",reason="ScalingReplicaSet",type="Normal"} 6
      
      





Rollout — . Rollout. (Slack, PagerDuty . .) , , , canary .









Argo Rollouts Deployment. Rollout , Rollouts Deployment Rollout. v1.0 — (workload referencing).







, spec.template



Deployment Rollout , Deployment:







apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: guestbook-rollout
spec:
  replicas: 5
  workloadRef:
    apiVersion: apps/v1
    kind: Deployment
    name: guestbook-deploy
  strategy:
    canary:
      steps:
        - setWeight: 20
        - pause: {duration: 10s}
      
      





— Deployment. Rollouts. Rollouts :







  • Rollouts
  • , , Rollouts
  • replias: 0



    Deployment.


ArgoRollouts, kubernetes deployment controller.







kustomize, , , , . — Deployment, Rollout .









( . ):







  • Ambassador Edge Stack.
  • canary- Istio, DestinationRules VirtualService .
  • Kubectl (, Rollout ).
  • , 500.




. Argo Rollouts! : Bilibili, Bucketplace, CodeFresh, DataDog, Datawire, Dynatrace, Intuit, NewRelic, Onfido, Paypal, Quizlet, Salesforce, Shipt, Skillz Spotify.









, v1.0. ingress , stage . .








All Articles