ArgoCD Starter Guide: Full Tutorial for ArgoCD in Kubernetes

Поделиться
HTML-код
  • Опубликовано: 3 июн 2024
  • Want to learn GitOps? ArgoCD is GitOps for Kubernetes. In this practical tutorial video I teach you everything you need to know get started with ArgoCD on your Kubernetes cluster. Watch or follow along with your own Kubernetes cluster and let's implement ArgoCD!
    🛍️ Amazon Store (homelab/youtube setup): www.amazon.com/shop/devopsjou...
    ☕ Buy me a coffee: www.buymeacoffee.com/bradmorg
    📁 Code Available here: github.com/devopsjourney1/arg...
    📘 Chapters:
    00:00 What you will learn in this video
    0:30 Helm Theory - Everything you need to know
    1:33 Example Pipeline for ArgoCD
    2:45 ArgoCD Disaster Recovery and Multi-Cluster Support
    3:36 What we will do in the Lab
    4:15 Installing ArgoCD, Portforward, Argo Password, Login
    6:39 Deploying a Helm Application with ArgoCD
    15:12 ArgoCD to Rollback applications
    17:48 Deploying a Kustomize application with ArgoCD
    19:44 Kustomize vs Helm Configmap Demonstration
    25:13 Using ArgoCD CLI to create, sync, delete and troubleshoot
    👨‍💻 Join our Discord Community of DevOps Engineers: / discord
    #Kubernetes #ArgoCD #GitOps #Tutorial #GettingStarted #Declarative #Configuration #ContiuousDelivery #Deployment
  • НаукаНаука

Комментарии • 61

  • @DevOpsJourney
    @DevOpsJourney  Год назад +7

    Let me know what technology you are trying to learn next

    • @naveenkumarps9217
      @naveenkumarps9217 Год назад +1

      monitoring argocd applications using promethues and grafana

    • @donwilsonobido4196
      @donwilsonobido4196 Год назад +1

      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 4 месяца назад

      Bitbucket and Bamboo 😢

    • @dillibabu4703
      @dillibabu4703 2 месяца назад

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

  • @matk2283
    @matk2283 8 месяцев назад

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

  • @ananthasubramanian938
    @ananthasubramanian938 Год назад +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.

  • @sonnix31
    @sonnix31 5 месяцев назад

    great simple and clear tutorial, thank you sir.

  • @Shrivanurag
    @Shrivanurag 9 месяцев назад

    great tutorial to begin with. clear and concise.

  • @PANDApoopish
    @PANDApoopish Год назад +3

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

  • @user-rj6iu2ey2t
    @user-rj6iu2ey2t Год назад

    very nice explanation sir

  • @nicholaskiprono5466
    @nicholaskiprono5466 Год назад

    Amazing video. Thank you.

  • @jalandharbehera99
    @jalandharbehera99 3 месяца назад

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

  • @vdevenr
    @vdevenr Год назад

    Great tutorial!!

  • @sudheer5379
    @sudheer5379 Год назад

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

  • @kazwalker764
    @kazwalker764 Год назад +4

    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!

  • @luisespinosallanos3142
    @luisespinosallanos3142 Год назад

    You are a hero!

  • @sonnygarcia607
    @sonnygarcia607 5 месяцев назад

    @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?

  • @AlexSchapelle
    @AlexSchapelle Год назад

    could you do tutorials on taskfile and just ?

  • @fabmartel
    @fabmartel 8 месяцев назад

    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

  • @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

  • @adithjawahar1638
    @adithjawahar1638 10 месяцев назад

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

  • @omkarhalankar3256
    @omkarhalankar3256 Год назад

    How can resources created using Terraform be managed using ArgoCD ?

  • @himahima8714
    @himahima8714 Год назад

    Please explain Argo cd with helm charts

  • @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?

  • @anas6435
    @anas6435 3 месяца назад

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

    • @DevOpsJourney
      @DevOpsJourney  3 месяца назад +1

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

    • @anas6435
      @anas6435 3 месяца назад

      @@DevOpsJourney Thanks

  • @MuhammadKamranAzeem
    @MuhammadKamranAzeem 10 месяцев назад +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  10 месяцев назад +3

      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 :)

  • @naveenkumarps9217
    @naveenkumarps9217 Год назад

    How to monitor these application using prometheus and grafana ??

  • @naetgween
    @naetgween Месяц назад

    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  Месяц назад

      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

  • @itlabox
    @itlabox 3 месяца назад

    🎉🎉🎉

  • @shellcasing1040
    @shellcasing1040 Год назад +1

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

    • @DevOpsJourney
      @DevOpsJourney  Год назад +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

  • @lotengproject
    @lotengproject Год назад

    nice nice nice nice ....

  • @mailman2097
    @mailman2097 9 месяцев назад

  • @semspiri789
    @semspiri789 3 месяца назад

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

  • @asandalamba7055
    @asandalamba7055 11 месяцев назад

    "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  11 месяцев назад +1

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

  • @myfocus7447
    @myfocus7447 Год назад

    Inginix

  • @myfocus7447
    @myfocus7447 Год назад

    Openshift vs kubernetes

  • @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

  • @zabbli8289
    @zabbli8289 2 месяца назад

    cute cuddle?

  • @navi-charlotte
    @navi-charlotte Год назад

    kube kutle lmao

  • @QwickGainz
    @QwickGainz 21 день назад

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

    • @DevOpsJourney
      @DevOpsJourney  21 день назад

      You on a M series laptop?

    • @QwickGainz
      @QwickGainz 21 день назад

      @@DevOpsJourney asus g14 2023

    • @QwickGainz
      @QwickGainz 21 день назад

      @@DevOpsJourney using wsl (ubuntu 20)

  • @anonymous_anonymity
    @anonymous_anonymity 7 месяцев назад

    You don't need kubernetes unless you are FMANG

    • @DevOpsJourney
      @DevOpsJourney  7 месяцев назад +2

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

    • @miguelalba2106
      @miguelalba2106 3 месяца назад

      You need k8s in many companies, not only FMANG

    • @yangdai8347
      @yangdai8347 3 месяца назад

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

  • @olisaarinze6640
    @olisaarinze6640 5 месяцев назад +1

    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 4 месяца назад +3

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

    • @victorchidi9973
      @victorchidi9973 4 месяца назад

      @@seadragonrock7235 Thanks