ArgoCD Starter Guide: Full Tutorial for ArgoCD in Kubernetes

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 85

  • @DevOpsJourney
    @DevOpsJourney  2 роки тому +12

    Let me know what technology you are trying to learn next

    • @naveenkumarps9217
      @naveenkumarps9217 Рік тому +2

      monitoring argocd applications using promethues and grafana

    • @donwilsonobido4196
      @donwilsonobido4196 Рік тому +2

      How to deploy argo cd in EKS using terraform? and how we will access argo cd gui without comprimising security?

    • @mefirst5427
      @mefirst5427 Рік тому

      Argo Rollout is very confusing to setup, please do a tutorial on it.

    • @ChuckCo135
      @ChuckCo135 Рік тому

      Bitbucket and Bamboo 😢

    • @dillibabu4703
      @dillibabu4703 10 місяців тому

      Hi bro
      Video is nice, as i have small, can you please do video of "install argocd using helm" please

  • @MK007-y2x
    @MK007-y2x День тому

    Thank you, I think this is the only tutorial which explains rollback process clearly.🎉

  • @ayencoscolfield3312
    @ayencoscolfield3312 3 місяці тому +3

    this was a delight to watch absolutely brilliant presentation on Argocd, thanks for the effort

  • @matk2283
    @matk2283 Рік тому +2

    Excellent Tutorial on ArgoCD !! - Absolute pleasure to listen to you. Gratitude !!

  • @kazwalker764
    @kazwalker764 Рік тому +8

    Around 25:00, when using Helm, you should use a checksum annotation of the config map in the deployment. Google "helm tricks automatically roll deployments", it'll be the first result from the Helm docs.
    Great video, cheers!

  • @anantharamakrishnan19
    @anantharamakrishnan19 Рік тому +1

    😍The Video. Clear concise explanations. I knew Kustomize before and I always wondered why config generator. Now I get the reason. Thanks for your explanations.

  • @nguyenhoangphuckan
    @nguyenhoangphuckan 3 місяці тому

    This video was so helpful. Thank you for making it!

  • @sonnix31
    @sonnix31 Рік тому

    great simple and clear tutorial, thank you sir.

  • @Maksat....
    @Maksat.... 5 місяців тому

    Great tutorial! Thank you so much, Brad!

  • @RockyScenes
    @RockyScenes 5 місяців тому +1

    Regarding the destination cluster URL - if there were more than one, what would they look like? How do we define them so we know which one is which? I am guessing that one shows as default because it was not configured with a different name?

  • @vicentepriegoaviles4844
    @vicentepriegoaviles4844 2 місяці тому

    Great tutorial, thanks so much ❤

  • @jalandharbehera99
    @jalandharbehera99 11 місяців тому

    Its too very good informative videos. thank you so much sir ❤

  • @sudo-bandit
    @sudo-bandit 2 роки тому +3

    Can you do another real time DevOps CI/CD lab? Really enjoyed your last one and found your mentorship insightful!

  • @antoniosmoljo6472
    @antoniosmoljo6472 6 днів тому

    Great great tutorial. My first encounter with Argo CD. Short and clear. However, when I tried like you with kustom-dev-app and put kustom-webapp/overlays/dev in Path, Argo CD doesn't recognize it as a Kustomize application, but puts Directory instead. But if I put kustom-webapp/base in the Path, then it recognizes that it is a Kustomize application. I don't know what the problem is. Can you help me please?

  • @tejit2004
    @tejit2004 Рік тому +1

    Hi, at 10:37, you are saying one argocd installation can manage multiple kubernates cluster, but i don't understand how? because argocd is going to be installed in a specific cluster, so is there not one-to-one relationship between argocd and K8S cluster, if not how you can manage multiple K8S cluster?

    • @DevOpsJourney
      @DevOpsJourney  Рік тому +2

      There is a clusters tab. You can add other clusters into ArgoCD there. ArgoCD will just need credentials and a URI for connecting/managing other clusters

  • @Shrivanurag
    @Shrivanurag Рік тому

    great tutorial to begin with. clear and concise.

  • @sonnygarcia607
    @sonnygarcia607 Рік тому

    @DevOpsJourney Why wouldn't you just use a `checksum` annotation inside of your Helm deployment that digests the contents of the ConfigMap? When the contents of the ConfigMap changes, it changes the Deployment triggering a rolling update of the pods? Does ArgoCD do something different than stock Helm + K8s?

  • @TAsSos101000
    @TAsSos101000 2 місяці тому

    Thanks a lot for this nice and easy guide regarding ArgoCD! The only that wasn't clear to me is the best way to update our app. Actually I have exactly this issue in my environment. I have to change every time the Helm Chart version if I want to actually deploy a new change on configMaps. So I'm looking for a way to fix this. If we have no a new release but some configuration changes how to setup ArgoCD to update the application directly if it detects just a simple change in the configMap.
    I will go now to watch also your videos regarding the Helm chart and I'm curios to see the differences between ArgoCD and Helm cli, since argocd looks like it is able to do what exactly helm client can do and much more.

  • @luislla3142
    @luislla3142 Рік тому

    You are a hero!

  • @olisaarinze6640
    @olisaarinze6640 Рік тому +3

    hi, i tried the lab for kustom-webapp, i got this error: Unable to create application: application spec for kustom-webapp-dev is invalid: InvalidSpecError: Unable to generate manifests in kustom-webapp/overlays/dev: rpc error: code = Unknown desc = Manifest generation error (cached): `kustomize build /kustom-webapp/overlays/dev` failed exit status 1: Error: invalid Kustomization: json: cannot unmarshal string into Go struct field Kustomization.patches of type types.Patch. Please how can that be resolved?

    • @seadragonrock7235
      @seadragonrock7235 Рік тому +6

      Update line #5 of kustom-webapp/overlays/dev/kustomization.yaml file to "- path: replicas.yaml". It should work.

    • @victorchidi9973
      @victorchidi9973 Рік тому

      @@seadragonrock7235 Thanks

  • @MuhammadKamranAzeem
    @MuhammadKamranAzeem Рік тому +1

    Thanks for the video, but apparently the most important piece is missing. When the actual application code changes, how do you build a new image (with a new tag other than "latest"? and how do you update the helm and kustomize configurations with that new image name:tag, and how do you trigger anrgo CD that application code has been changed, new image has been created and it (argo cd) should kick off and deploy the newest version? In your video you only showed what happens when the configuration part changes. So it is incomplete IMHO.

    • @DevOpsJourney
      @DevOpsJourney  Рік тому +4

      Thanks for the comment. I briefly mention this at 1:35. You would have two repositories, one for the image and one for the configuration. The CI/CD for the first repository would work like any other container pipeline, but at the end it would submit a PR to your config repository to update it with the new image tag.
      I didn't work it into the practical portion of the video because I didn't want to overcomplicate things I just wanted to show the basics of ArgoCD. Most people when getting started with ArgoCD update the configuration repository manually with the new image tag.
      I hope that makes sense. Thanks again for your feedback - I was thinking of doing a video of a complete Gitops flow that does exactly what you mentioned and your comment has inspired me to do that, so check back in a month or so :)

  • @newentshini1229
    @newentshini1229 5 місяців тому

    Great tutorial thank you !

  • @buddhika71
    @buddhika71 6 місяців тому

    Great Tutorial!

  • @adithjawahar1638
    @adithjawahar1638 Рік тому

    After performing the port forwarding, while trying to browse the url i am having issue as "unable to connect"

  • @omerapl3511
    @omerapl3511 7 місяців тому

    Great video, thanks!

  • @sudheer5379
    @sudheer5379 Рік тому

    you are the best!! no words to say :)

  • @ChantiKumar-j1g
    @ChantiKumar-j1g Рік тому

    very nice explanation sir

  • @vdevenr
    @vdevenr Рік тому

    Great tutorial!!

  • @pawelek1481
    @pawelek1481 5 місяців тому

    great video!

  • @shellcasing1040
    @shellcasing1040 2 роки тому +1

    How does ArgoCD know or detect which Kubernetes clusters are available to deploy to?

    • @DevOpsJourney
      @DevOpsJourney  2 роки тому +2

      1. Create a kubeconfig file containing the cluster's credentials.
      2. Login to ArgoCD and navigate to the Clusters page.
      3. Select the “Create Cluster” button at the top right.
      4. Select the type of cluster you want to add and provide the necessary credentials.
      5. When prompted, select the kubeconfig file you created in step 1. Click Create
      CLI commands:
      argocd cluster add dev-cluster1 --name dev-cluster1
      argocd cluster list

  • @Blankblankets
    @Blankblankets 9 місяців тому

    I'm trying to deploy this on an M series mac, how can I specify the architecture of the nodes? I'm looking at the values.yaml file but I'm not sure how I can edit the files so it deploys as arm64

    • @DevOpsJourney
      @DevOpsJourney  9 місяців тому

      If running on a M series Mac the architecture of minikube will be arm64. The key is to make sure our images are ARM64 compatible. The deployment is using the image devopsjourney1/mywebapp:latest - which does support ARM64. I only recently shipped the ARM64-compatible image, so you may have an older one cached. try removing and re-pulling devopsjourney1/mywebapp:latest.
      If that doesn't work then I will try creating a new image for you that is only ARM64. I think the issue might be that minikube doesn't always understand how to use multi-arch images properly

  • @naveenkumarps9217
    @naveenkumarps9217 Рік тому

    How to monitor these application using prometheus and grafana ??

  • @nicholaskiprono5466
    @nicholaskiprono5466 2 роки тому

    Amazing video. Thank you.

  • @williamcassanova8692
    @williamcassanova8692 3 місяці тому

    So let's assume that we have created our applications in the UI. If we now want to to use the app-of-apps pattern is there a way of using argo-cli to add those to a global root-app.yaml file? In other words I eventually want to eventually be able to sync what is showing up in Argo with was I have defined in my Repo that manages Argo itself. The Source of Truth should be what's stored in Github or Bitbucket and not what was done by potentially many users of the system. If one of those user's is in-experienced and makes a mistake I want to be able to get Argo back to the state before the mistake was made.

  • @JasonBerk
    @JasonBerk Місяць тому

    I'd love to see a video that covers bootstrapping and using Argo CD from the ground up without using the UI

  • @gozh2002
    @gozh2002 Рік тому

    if it is helm chart and deployed by argocd, would I still able to use helm CLI to rollback and list etc? or I have to use argocd CLI then?

  • @omkarhalankar3256
    @omkarhalankar3256 2 роки тому

    How can resources created using Terraform be managed using ArgoCD ?

  • @himahima8714
    @himahima8714 Рік тому

    Please explain Argo cd with helm charts

  • @asandalamba7055
    @asandalamba7055 Рік тому

    "kubectl create namespace argocd" gives me "The connection to the server localhost:8080 was refused - did you specify the right host or port?"

    • @DevOpsJourney
      @DevOpsJourney  Рік тому +1

      Hey there. this sounds like your minikube environment is not running. Make sure docker is running then do a `minikube start`

  • @user-ano-x5c
    @user-ano-x5c 11 місяців тому

    I noticed that you are using an animated moving background which is really cool .. How do you create those?

    • @DevOpsJourney
      @DevOpsJourney  11 місяців тому +2

      I use Davinci Resolve, chose a gradient color then added icons and animated them in Fusion

    • @user-ano-x5c
      @user-ano-x5c 11 місяців тому

      @@DevOpsJourney Thanks

  • @diegomorais49
    @diegomorais49 6 місяців тому

    Which terminal tool is that you are using?

  • @AlexSchapelle
    @AlexSchapelle 2 роки тому

    could you do tutorials on taskfile and just ?

  • @pavangrandhi
    @pavangrandhi 3 місяці тому

    Thank you

  • @PHOENIX-he9fl
    @PHOENIX-he9fl 2 місяці тому

    actually i have a doubt that why all are using the port forwarding method why you are not using the ingress method?

  • @fabmartel
    @fabmartel Рік тому

    very nice. Im from Belgium, i speak french, but i have all understand ;-)
    I'm interested in a video showing ArgoCD - GitLab not deploying a web app, but an Apache Camel-K integration.
    Would it be possible for you to make one? I think you will have the right reflexes directly on ArgoCD.
    The Kustomize version is really interesting, especially when you don't want to create the entire helm ecosystem.
    THANKS

  • @AlexUncut
    @AlexUncut 5 місяців тому

    Good video but "Deploying a Kustomize app with ArgoCD" code in repo at 18.XX min no longer works with argo v2.11

  • @SamSpiri
    @SamSpiri 11 місяців тому

    There is an old tool to handle configmap changes, called stakater/Reloader

  • @itlabox
    @itlabox 11 місяців тому

    🎉🎉🎉

  • @charugondlaakhil6851
    @charugondlaakhil6851 Рік тому

    cant we open Argocd using public IP instead of localhost ?

    • @DevOpsJourney
      @DevOpsJourney  Рік тому +1

      Yes create a kubernetes ingress and point it to the argocd server service

  • @mailman2097
    @mailman2097 Рік тому

  • @everythingiscoolio
    @everythingiscoolio Місяць тому

    Why would you actually do this, instead of just upgrading your helm template in your pipeline? I really don't see the reason for ArgoCD at all.

  • @QwickGainz
    @QwickGainz 8 місяців тому

    pod stuck at pending in the early stages of this video..

    • @DevOpsJourney
      @DevOpsJourney  8 місяців тому

      You on a M series laptop?

    • @QwickGainz
      @QwickGainz 8 місяців тому

      @@DevOpsJourney asus g14 2023

    • @QwickGainz
      @QwickGainz 8 місяців тому

      @@DevOpsJourney using wsl (ubuntu 20)

  • @lotengproject
    @lotengproject 2 роки тому

    nice nice nice nice ....

  • @myfocus7447
    @myfocus7447 Рік тому

    Openshift vs kubernetes

  • @myfocus7447
    @myfocus7447 Рік тому

    Inginix

  • @zabbli8289
    @zabbli8289 10 місяців тому

    cute cuddle?

  • @navi-charlotte
    @navi-charlotte Рік тому

    kube kutle lmao

  • @anonymous_anonymity
    @anonymous_anonymity Рік тому

    You don't need kubernetes unless you are FMANG

    • @DevOpsJourney
      @DevOpsJourney  Рік тому +2

      yeah but a lot of companies want to be FMANG, and I like being paid by those companies :)

    • @miguelalba2106
      @miguelalba2106 11 місяців тому

      You need k8s in many companies, not only FMANG

    • @yangdai8347
      @yangdai8347 11 місяців тому

      Sometimes you dont have a choice. Some tools offer self managed option, and used kube platform.

    • @ValidUserName-fl3uh
      @ValidUserName-fl3uh 5 місяців тому

      Sucks to work on a small company isn't it

    • @anonymous_anonymity
      @anonymous_anonymity 5 місяців тому

      @@ValidUserName-fl3uh not really 😬

  • @mitsaoua
    @mitsaoua 6 місяців тому

    when I click "Create"for the helm-webapp-dev I get "Unable to create application: application spec for helm-web app-dev is invalid: InvalidSpecError: Unable to generate manifests in helm-webapp: rpc error: code = Unknown desc = `helm template . --name-template helm-web app-dev --namespace dev --kube-version 1.30 --values /helm-webapp/values-dev.yaml --include-crds` failed exit status 1: Error: release name "helm-web app-dev": invalid release name, must match regex ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ and the length must not be longer than 53"
    Any idea?