Тёмный

Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows 

DevOps Toolkit
Подписаться 78 тыс.
Просмотров 54 тыс.
50% 1

Опубликовано:

 

23 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 85   
@hawk1290
@hawk1290 3 года назад
Thanks for this series, starting to believe that you've already demystified any modern solution I've come across. Keep it up!
@DevOpsToolkit
@DevOpsToolkit 3 года назад
That is the problem with our jobs and tech in general. Things change fast and I am likely going to say in the near future "this is horrible, don't use it" for most of the things I'm claiming are great today.
@hawk1290
@hawk1290 3 года назад
@@DevOpsToolkit Absolutely, community adoption really makes or breaks that support - so thanks for being part of that. Awesome content for sure.
@emonymph6911
@emonymph6911 3 месяца назад
@@DevOpsToolkit is dapr, argo and jenkins all ci/cd? i don't really understand if dapr is ci/cd.
@DevOpsToolkit
@DevOpsToolkit 3 месяца назад
@emonymph6911 CI/CD are processes, not tools. You can codify those processes using one, or two, or more tools. That being said, I do not see dapr as being one of the tools involved in CI/CD processes.
@emonymph6911
@emonymph6911 3 месяца назад
@@DevOpsToolkit what should we use for CI/CD in 2024? ^.^ (for devsecops tests on pushed code)
@valour.se47
@valour.se47 3 года назад
Yes a video about combining these all things together will definitely help people.
@DevOpsToolkit
@DevOpsToolkit 3 года назад
It's (probably) coming up next week :)
@fabiodbr
@fabiodbr 3 года назад
Awesome. Didn't know anything about Argo since this video and now I'm almost an expert haha
@DevOpsToolkit
@DevOpsToolkit 3 года назад
Glad I could help!
@cesarvarela4679
@cesarvarela4679 3 года назад
Thank you, very good video. My vote is Yes make the video combine argo tools.
@DevOpsToolkit
@DevOpsToolkit 3 года назад
You got it! It's probably coming up next Thursday.
@bewilderedlearningevolving
@bewilderedlearningevolving 3 года назад
Yes! Thanks Viktor I've been wrestling with the workflows side of argo for months 💵💵💵💵💵
@DevOpsToolkit
@DevOpsToolkit 3 года назад
In that case, I think you'll like the video I'll (probably) publish next Thursday. It's about combining Argo Workflows with Events (and CD, and Rollouts, and SealedSecrets). Workflows really shines only when it is combined with Events, and gets even more boost with other Argo projects.
@MohammedNoureldin
@MohammedNoureldin Год назад
Thank you for this! Please make a video comparing Argo Workflows with Jenkins.
@DevOpsToolkit
@DevOpsToolkit Год назад
Adding it to my to-do list... 🙂
@andreasluber9752
@andreasluber9752 3 месяца назад
Really nice series, very helpful. What is your view on the codefresh Enterprise ArgoCD? Or, issues running GitOps at scale?
@DevOpsToolkit
@DevOpsToolkit 3 месяца назад
I worked at Codefresh for a shortwhile and chose to move elsewhere. I guess that tells you what I think without me saying what I think about Codefresh. As for running GitOps at scale... It depends on what the scale is and how you set it up. If you have one ArgoCD or Flux instance in every cluster, you should not have issues with scale (assuming that control plane nodes are not underprovisioned). If you have a single instance of ArgoCD or Flux that manages hundreds of clusters, than you will indeed face issues. That's usually the situation where companies (running at that scale) are looking at enterprise solutions like Akuity.
@TankaNafaka
@TankaNafaka 3 года назад
Looks like aws step functions to me. You can also do cmd overrides etc, run job in parallel or serial, and schedule runs via cwatch. Anyways really nice work Viktor, thank you for your effort.
@mysticaltech
@mysticaltech 2 года назад
Hey Victor, thanks! Please make a video of the combination of all Argo tools, as not obvious to beginners!
@mysticaltech
@mysticaltech 2 года назад
Found it ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-XNXJtxkUKeY.html !! 🙏
@DevOpsToolkit
@DevOpsToolkit 2 года назад
I already did that in ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-XNXJtxkUKeY.html. However, it has been a while since i published it so I will add it to my TODO list to do an updated version.
@diptochakrabarty2420
@diptochakrabarty2420 3 года назад
Great content in the argo playlist , one suggestion if you could please add the link of your github repository you use in your demos in the description it would be helpful.
@DevOpsToolkit
@DevOpsToolkit 3 года назад
Argo CD video was one of the first ones I created and it was done in a "weird" way. I adapted the material from my book without creating a Gist that people can follow. I think that all the videos after that one do have a Gist. For example, if you take a look at the description of this video, you'll see the "Gist with the commands" link with all the commands, including `git clone` of the repos I used.
@felipeozoski
@felipeozoski Год назад
Love this channel ❤❤ for real !!
@shubhendupoothia
@shubhendupoothia 3 года назад
Man this is so awesome!! Thank you so much!
@xinitbm9453
@xinitbm9453 3 года назад
Thank you so much, this is awesome
@gagyboki799
@gagyboki799 2 года назад
Hi Victor, thanks for video.If I understand this workflow is not like Camunda or Spring Activity?This is for orchastration of micro services?Can you build kind of workflow like Camunda workflow and read from MQ?
@DevOpsToolkit
@DevOpsToolkit 2 года назад
Unfortunately, I haven't used either of those so I cannot compare them or say whether they are similar. Argo workflows is a pipeline tool just like Jenkins, GitHub actions, tekton, GitLab ci, etc. As such, it is not limited to microservices but can be used to automate any type of pipeline.
@gagyboki799
@gagyboki799 2 года назад
@@DevOpsToolkit so it is not meant for data flow workflows?
@DevOpsToolkit
@DevOpsToolkit 2 года назад
The initial use case was for data pipelines but, since then, it evolved into pipelines of any kind.
@gagyboki799
@gagyboki799 2 года назад
So can it be used to run data flow like IIB data flow?
@gagyboki799
@gagyboki799 2 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-gEIOAUZLJuo.html Something like this?
@wollginator
@wollginator 3 года назад
Awesome, great introduction and regarding your question: yes, I admit it, I want to use the whole argo stack, so lemme just click your next video! PS: Subscribed!
@YT3716-w4y
@YT3716-w4y 2 года назад
Hi Viktor, thank you for the video! I managed to run your example. A question i have is what if the git repo is a private repo? where do i set up the credentials in order to access the git repo? Thanks for the help.
@DevOpsToolkit
@DevOpsToolkit 2 года назад
Something like argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/ should do
@YT3716-w4y
@YT3716-w4y 2 года назад
​@@DevOpsToolkit , thanks for the reply. I think the link you provided is for Argo CD. Using argo workflows to build image referencing a private git repo doesn't seem to work as the the argo workflow UI doesn't have this tab.
@DevOpsToolkit
@DevOpsToolkit 2 года назад
If you need to access a private git repo, you need to define git artifact and provide the secret with the username and password. You can find an example in github.com/argoproj/argo-workflows/blob/master/examples/input-artifact-git.yaml
@KanshiTV-INT
@KanshiTV-INT 3 года назад
Hey Viktor, I've followed your video and deployed workflows and implemented a Traefik ingressRoute apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: argo-workflow-https spec: entryPoints: - websecure routes: - match: Host(`workflow.xxxx.co.uk`) && PathPrefix(`/`) kind: Rule services: - name: argo-server port: 2746 tls: certResolver: le-staging domains: - main: workflow.xxxx.co.uk but all I get is bad gateway. Any ideas of what could be the problem or how to troubleshoot.
@KanshiTV-INT
@KanshiTV-INT 3 года назад
Hey Viktor, I managed to get it working buy adding the following - server - --secure=false and letting Traefik do the certificates
@7siwy1
@7siwy1 2 года назад
Victor, what would be the best way to run integration tests during the build phase of CICD? My dev team need few databases to test an app like mariadb, posgress etc. So far we did it by keeping docker-compose in each app repository. Before the tests start we run 'docker-compose up' that provides mocks of all the services needed. How that could work with argo workflows?
@DevOpsToolkit
@DevOpsToolkit 2 года назад
Argo Workflows, just as any other pipeline solution, allows you to execute any command as a step. Since all the steps are executed in containers, you need to specify an image that contains the tools you need. Now, Docker is gone from Kubernetes clusters so you should either connect to Docker running in a VM (you can use environment variables for that) or spin up the DB inside a Kubernetes cluster. I suggest doing the latter. You can, for example, use MariaDB Helm chart. If that DB is temporary, create a new Namespace, spin up MariaDB (or whichever other DB you might need) inside that Namespace, run the tests, and delete that Namespace when you're done. You can also use virtual clusters with, let's say, vCluster if you'd like to have better isolation from the rest of the workloads in that cluster. Also, virtual clusters help with cleanup. If you deploy something that uses cluster-wide resources (e.g., CRDs), deleting the Namespace will not delete everything, but, if that is inside vCluster, you can delete the whole (virtual) cluster.
@alexanderdo3122
@alexanderdo3122 3 года назад
What is your recommended way of installing a cluster locally on a mac for testing things like this?
@DevOpsToolkit
@DevOpsToolkit 3 года назад
I prefer k3d. It's the fastest and the least resource-intensive local Kubernetes cluster. KinD is a good alternative. You can find videos about both in this channel :)
@raoufmnif6569
@raoufmnif6569 2 года назад
Well done like always Viktor. Can you provide us the installation of argoworkflow with serviceaccount and with the right privilege?
@DevOpsToolkit
@DevOpsToolkit 2 года назад
Adding it to my TODO list...
@sanjaytiwari3176
@sanjaytiwari3176 3 года назад
I couldn't find the video where you installed workflow and setup any security context as its failing for the same.
@DevOpsToolkit
@DevOpsToolkit 3 года назад
The instructions with both the commands I executed before and during the video are in a Gist and the link to the Gist is in the description. It includes everything I did to set it up (install it). As for the security context... I used Minikube for the demo so I did not do anything with the context. Most of the time, that's not directly related to a specific app but applicable in general and, sometimes, specific to the k8s platform you chose.
@akshaymungekar4748
@akshaymungekar4748 2 года назад
How can I run python scripts in an Argo workflow? Could you provide any implementation details to achieve this task?
@DevOpsToolkit
@DevOpsToolkit 2 года назад
I do not use python myself. However, that should not matter since Argo workflows allow you to use any container image for any of the steps. If the image you're using is based on python, you should be able to execute any python command inside your workflow.
@mandolinean3057
@mandolinean3057 3 года назад
great video!
@ashutoshtiwari6947
@ashutoshtiwari6947 3 года назад
How can i create volume to have a folder path shared across containers . i.e. all using argo workflow??
@DevOpsToolkit
@DevOpsToolkit 3 года назад
You can found a couple of examples in argoproj.github.io/argo-workflows/examples/#volumes with more detailed info in the spec section of the docs.
@ashutoshtiwari6947
@ashutoshtiwari6947 3 года назад
@@DevOpsToolkit thanks!! I had a look at it.... But was a bit difficult to comprehend... I am looking for something replica to docker run -v sourcepath: destinationpath container-name.... If you can further explain it that would be great... Thanks in advance
@DevOpsToolkit
@DevOpsToolkit 3 года назад
@@ashutoshtiwari6947 I don't have an example at hand. I'll do my best to create one over the weekend. In the meantime... You need to define a Kubernetes volume (it could be almost any time) in, more or less, the same way you would do it for any k8s resource. From there on, it's all about telling workflows to use that volume.
@ashutoshtiwari6947
@ashutoshtiwari6947 3 года назад
@@DevOpsToolkit Cool... really looking forward to your next video wherein we can use volumes used via docker run.. or docker artifacts as an alternative to it.
@DevOpsToolkit
@DevOpsToolkit 3 года назад
@@ashutoshtiwari6947 To clarify... When I do such a video (can't promise the date), it will not involve Docker. I do not think that anyone should use Docker inside Kubernetes. There are much better (and safer) alternatives. For building images that could be, for example, Kaniko. As for running containers, that's completely irrelevant since the decision is made by the Kubernetes distro you're using (and is almost certainly not Docker). On top of that, volumes are typically used for temporary storage so that you can pass artifacts from one step to another, not from one pipeline to another. When a permanent storage is needed, it would be a container image or artiface registry like ECR, ACR, Docker Hub, Artifactory, etc.
@abdullahshaikh6989
@abdullahshaikh6989 2 года назад
how to pull private git repo in this case? like how to add github secrets in kaniko?
@DevOpsToolkit
@DevOpsToolkit 2 года назад
You need to store auth info as secrets and then mount those secrets inside containers that need them.
@DevOpsToolkit
@DevOpsToolkit 2 года назад
One more thing... Pull repo using Kaniko only if you are not already pulling it for other reasons. More often than not, you will already have the repo cloned for testing or other reasons.
@primaadi
@primaadi 2 года назад
please make the combined full flaged aroproc CI CD
@DevOpsToolkit
@DevOpsToolkit 2 года назад
Do you mean something like ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-XNXJtxkUKeY.html or you have something else in mind?
@johndesposito
@johndesposito Год назад
Are you available for consultation?
@DevOpsToolkit
@DevOpsToolkit Год назад
I am not available for any type of activity that requires dedication. I can spare an hour or two if that can help.
@johndesposito
@johndesposito Год назад
@@DevOpsToolkit - Hi. It would only be one or two hours to help architect an ARGO workflow/CD solution to allow for propagating changes to different environments. Thank You. Please let me know how I can reach your or if you want me to leave my contact information. I greatly appreciate your guidance. Thank You
@DevOpsToolkit
@DevOpsToolkit Год назад
@@johndesposito Feel free to pick a time that works for you from calendly.com/vfarcic/meet.
@johndesposito
@johndesposito Год назад
@@DevOpsToolkit Will do .. thank you
@cokegen
@cokegen Год назад
That Marla poster ...
@DevOpsToolkit
@DevOpsToolkit Год назад
Oh yeah. My favorite.
@cokegen
@cokegen Год назад
@@DevOpsToolkit BTW, going through everything argo you published ... it's awesome and being of great help ...
@kubernetestn
@kubernetestn 3 года назад
Thanks a lot ! where can i find source code ?
@DevOpsToolkit
@DevOpsToolkit 3 года назад
There is a gist in the description of the video.
@Teej42
@Teej42 3 года назад
Please enable captions for us folks who can’t hear.
@DevOpsToolkit
@DevOpsToolkit 3 года назад
I think it's one of the things RU-vid does without explaining how. When I look at that video, there are no captions, but when I look at, for example, at ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-LGNEG-t96eE.html, there is the CC button to enable captions. I'm not sure how and why RU-vid choose one but not the other. Maybe it's doing it automatically in all the new videos?
@quant-daddy
@quant-daddy 3 года назад
How does this compare to tekton pipelines?
@DevOpsToolkit
@DevOpsToolkit 3 года назад
I haven't been using tekton for some 6 months now so I need to get up-to-speed with what they are doing lately before answering that question :(
@tigercat123456
@tigercat123456 2 года назад
@@DevOpsToolkit .... a bit late to the party ... but I would really like to see a comparison between Argo Workflows and Tekton. Imho Tekton pipelines can be quite flexible but also verbose/tedious to write (aside from a hello-world usecase :), and I am wondering if Argo accomplishes that in a neater way? Also debugging of pipeline runs/workflows/jenkinsfiles/... can be a huge issue and is usually not a built-in feature.
@SanjeevKumar-nq8td
@SanjeevKumar-nq8td 2 года назад
It is Tekton principle taken over.
@DevOpsToolkit
@DevOpsToolkit 2 года назад
Actually, the first release of Argo workflows was published a year and a half before the first release of Tekton.
@DevOpsToolkit
@DevOpsToolkit 2 года назад
To be more precise, that was the first release in the current GitHub repo and it was v2.0.0 in November 2017. I did not follow Argo workflows at that time so I'm not sure when was the release release made before it moved to the current repo nor I know how it looked at that time. In any case, I am not sure who copied whom and how Argo evolved back then but it is definitely older than tekton.
@michaeljuliano8839
@michaeljuliano8839 6 месяцев назад
“What it looks like,” or “how it looks,” but never “how it looks like.” “What” is a placeholder for a thing. You need “like” when you say “what” so we know you are comparing to the thing that “what” is standing in for. “It looks like what?” or “What does it look like?” “It looks like this.” “What” stands in for “this.” “How” is a placeholder for a description (e.g. good, quickly, slowly, etc.). because there is nothing to compare to, “like” doesn’t make sense. “It looks how?” or “How does it look?” “It looks good.” “How” stands in for “good.”
@DevOpsToolkit
@DevOpsToolkit 6 месяцев назад
Thank you for that clarification. My English is self-tought and there are too many things i still struggle with.
@michaeljuliano8839
@michaeljuliano8839 6 месяцев назад
⁠​​⁠Don’t get me wrong. Your English is very good. I would even say it’s much better than average for someone from what I’m guessing is Eastern Europe. This is a very common mistake, even among native speakers, and I was just being a bit picky because I was in a bad mood.
Далее