Are you employing canary releases or any other flavor of progressive delivery? If you are, which tools are you using? IMPORTANT: For reasons I do not comprehend (and Google support could not figure out), UA-cam tends to delete comments that contain links. Please do not use them in your comments.
Hi Viktor, Thanks again for the awesome content!! Quick question: Why did you choose flagger instead os argo rollouts? I've been noticing that you like a lot the argo umbrella. Your choice made me curios.
I like both, even though I might be using Argo projects more than others in this channel. The main reason I used Flagger in this video is that I wanted to explore canary deployments with Istio. Since I already did a video about Argo Rollouts, I thought that using Flagger in this one would add variety. I intentionally avoided any comparison between Argo Rollouts and Flagger in this video since I'm planning to create a separate video that will compare the two.
Thanks for the useful hands-on demo! I think Argo Rollouts should definitely be in your todo list. One question about Flagger: does it work properly with HPA?
@@nnutipa It creates a copy of the HPA. That's why it was referenced in the canary manifests. It essentially does the same as for the Deployment. Copies of those are created so that it knows what are the "original" definitions that should be used together with the manifests of the new release.
@@DevOpsToolkit Sadly Linkerd tends to have an issue with HPA as long as you do it by matching resources, because if you do it needs annotations to assing requests/limits to the linkerd pod otherwise the service that it is attached to doesn't scale and the HPA doesn't recognize it (eg. can't get metrics for cpu/memory requests)
@@stormrage8872 Are you referring to `config.linkerd.io/proxy-cpu-limit` and similar annotations that provide the information about memory and CPU requests and limits for the proxy container injected by Linkerd? If that's the case, I tend not to use it in demo environments mostly to avoid potential problems from not having enough resources. I do have them in "real" environments though.
Thanks for this..... Can you do a video on Argo Rollouts vs Flagger? I have had my eye set on Argo Rollouts, but flagger sounds like it may be the better option..
Yes, but only for apps accessed through ingress. Flagger can do the "magic" through nginx and a few other ingresses. For internal apps not accessible from outside you need service mesh.
@@DevOpsToolkit Hey Please could you please help me if you can, in this regard?? I would like to know whether we can have multiple canary versions at a time using flagger
Hi, can you please tell me what exactly happens between canary status initializing and initialized? I have an application stuck in the initializing status and wanted to know why is that. Thanks in advance!
@@DevOpsToolkit the pods of the app are in running state, but still the canary status shows as initializing. Hence, I wanted to know what exactly happens between canary status initializing and initialized.
Linkerd is a service mesh providing advanced networking capabilities. Among it's many features, what matters in that context is that it allows us to set weights to services. We can, for example, configure Linkerd service to send 20% of traffic one way and 80% the other. Flagger, on the other hand, is using that capability to execute canary deployments. It is dynamically changing weights by reconfiguring Linkerd. That is happening in the background and, if that's the only reason for using Linkerd, you can consider it an implementation detail.
Awesome content. I will test flagger and Argo CD, but I didn't find file for silly-demo used to in this scenario , I check link github.com/fluxcd/flagger also , please send deployment ,ingress and.. for silly-demo.
Did you check the commands from the Gist (URL is in the description of the video)? It, among other things, contains the link to the repo with all the manifests, including silly-demo.
Are you employing canary releases or any other flavor of progressive delivery? If you are, which tools are you using?
IMPORTANT: For reasons I do not comprehend (and Google support could not figure out), UA-cam tends to delete comments that contain links. Please do not use them in your comments.
great as always, direct to the point! Obviously waiting for the compare with argo rollouts :)
Will do, hopefully soon.
Many thanks for this new high quality video !!
Yes a special comparison video will be great !
And I hope also to see a video from you about Dapr :)
I already added both suggestions to my TODO list. Let me bump them towards the top :)
Dapr is now live: ua-cam.com/video/-4sHUvfk2Eg/v-deo.html :)
Eagerly waiting video on linkerd with argo rollout
Awesome content as always my man.
Awesome as always sir👍
Hi Viktor,
Thanks again for the awesome content!!
Quick question: Why did you choose flagger instead os argo rollouts?
I've been noticing that you like a lot the argo umbrella. Your choice made me curios.
I like both, even though I might be using Argo projects more than others in this channel. The main reason I used Flagger in this video is that I wanted to explore canary deployments with Istio. Since I already did a video about Argo Rollouts, I thought that using Flagger in this one would add variety.
I intentionally avoided any comparison between Argo Rollouts and Flagger in this video since I'm planning to create a separate video that will compare the two.
If you please create similar tutorial for argo that will be great.
Thanks for the useful hands-on demo! I think Argo Rollouts should definitely be in your todo list. One question about Flagger: does it work properly with HPA?
I do not think there is any direct relation between linkerd and hpa. Linkerd mostly works with k8s services and containers (proxies) attached to pods.
@@DevOpsToolkit yeah, I meant Flagger, not Linkerd of course. How does Flagger work with HPA?
@@nnutipa It creates a copy of the HPA. That's why it was referenced in the canary manifests. It essentially does the same as for the Deployment. Copies of those are created so that it knows what are the "original" definitions that should be used together with the manifests of the new release.
@@DevOpsToolkit Sadly Linkerd tends to have an issue with HPA as long as you do it by matching resources, because if you do it needs annotations to assing requests/limits to the linkerd pod otherwise the service that it is attached to doesn't scale and the HPA doesn't recognize it (eg. can't get metrics for cpu/memory requests)
@@stormrage8872 Are you referring to `config.linkerd.io/proxy-cpu-limit` and similar annotations that provide the information about memory and CPU requests and limits for the proxy container injected by Linkerd? If that's the case, I tend not to use it in demo environments mostly to avoid potential problems from not having enough resources. I do have them in "real" environments though.
Thanks for this..... Can you do a video on Argo Rollouts vs Flagger? I have had my eye set on Argo Rollouts, but flagger sounds like it may be the better option..
I'll do that. Adding it to my TODO list... :)
Waiting for new video with argo rollout
It's on my TODO list. The problem is that the he list is growing faster than I can handle...
Great video again. 1 question, without service mesh is it possible to do canary deployment ?
Yes, but only for apps accessed through ingress. Flagger can do the "magic" through nginx and a few other ingresses. For internal apps not accessible from outside you need service mesh.
what will happen if we deploy one more image tag while a canary is in progressing state
Not sure... Haven't had that case yet 😔
@@DevOpsToolkit Hey Please could you please help me if you can, in this regard??
I would like to know whether we can have multiple canary versions at a time using flagger
@@saikrishnapalakollu2575 That should be fairly easy to test. Just appply a third release while the second is still in progress.
Hi, can you please tell me what exactly happens between canary status initializing and initialized? I have an application stuck in the initializing status and wanted to know why is that. Thanks in advance!
The issue us most likely with the status of the pods of your app.
@@DevOpsToolkit the pods of the app are in running state, but still the canary status shows as initializing. Hence, I wanted to know what exactly happens between canary status initializing and initialized.
@Pranav-mw3jt the info should be output as events of the CR.
If events do not show anything, I can take a look myself if you can send me a Gist that would allow me to reproduce it.
I have the same problem can you help me ?
how do i increase the flagger rollout time ?
Each step in the manifest can define the duration.
Didn't quite understand what Linkerd's role is in this scenario, seems like everything is done by Flagger
Linkerd is a service mesh providing advanced networking capabilities. Among it's many features, what matters in that context is that it allows us to set weights to services. We can, for example, configure Linkerd service to send 20% of traffic one way and 80% the other. Flagger, on the other hand, is using that capability to execute canary deployments. It is dynamically changing weights by reconfiguring Linkerd. That is happening in the background and, if that's the only reason for using Linkerd, you can consider it an implementation detail.
Thank you for the detailed answer. Makes sense
#til
Awesome content. I will test flagger and Argo CD, but I didn't find file for silly-demo used to in this scenario , I check link github.com/fluxcd/flagger also , please send deployment ,ingress and.. for silly-demo.
Did you check the commands from the Gist (URL is in the description of the video)? It, among other things, contains the link to the repo with all the manifests, including silly-demo.