CI/CD

ArgoCD Playground

Get access to the ArgoCD playground with one click

What Is ArgoCD

ArgoCD is a Continuous Delivery (CD) and GitOps tool for Kubernetes.

Think about how apps are usually deployed into Kubernetes. Someone writes a YAML file, and then uses a "kubectl apply" command to deploy stuff declared in that file. But this can quickly become a problem when multiple people are managing a Kubernetes cluster. It will be hard to track who created what, and what changes have happened lately. But a tool like ArgoCD makes this much more transparent and simple.

People won't create YAML files on their laptops and then push changes to Kubernetes directly, making others wonder what might have changed last night. Instead, everyone will work through a Git repository. They'll all have a common middleground, instead of working on their own files, in isolation. And ArgoCD can continuously synchronize Kubernetes with the states that are defined in that repository. So it makes Kubernetes continuously follow the state declared in that Git repository. This is part of the reason why it's called a continuous delivery tool.

It's worth noting that this depends on how ArgoCD is configured. It can be configured to require manual resynchronization when changes are pushed to Git, or it can be configured to do so automatically.

For example, if John wants to create a cool deployment, he'll create a YAML file, and then upload it to this repository. ArgoCD will notice the new file and automatically deploy this to Kubernetes. Now Jane can take a look at the repository, and see exactly what John did. And if Jane has a nice idea about how to improve this deployment, she can suggest some edits to John's YAML file. John approves them, ArgoCD notices the changes again, and immediately resynchronizes Kubernetes with this new deployment definition.

In a nutshell, the Git repository makes it very convenient for multiple people to collaborate on the changes they want to push to Kubernetes. And ArgoCD synchronizes Kubernetes with the states defined in this repository, at all times.

Features of ArgoCD

  • Automates the deployments of the apps on specific environments.
  • Supports multiple configuration management and templating tools such as Helm, Kustomize, and Jsonnet. 
  • Can manage multiple clusters at the same time.
  • Can analyze health status for application resources.
  • Has a web user interface that can be used to explore application activity.
  • Provides Prometheus metrics to enable better monitoring.
  • Integrates with different platforms such as GitHub, BitBucket, and GitLab, using webhooks.
  • Plus many other features that you can check out on the product's page.

ArgoCD Playground

Setting up Kubernetes, ArgoCD, and a Git repository would take a very long time. So we saved you the trouble and prepared an environment where everything is provided.

The playground is pre-configured with ArgoCD and Gitea. Gitea is a self-hosted Git service that is used to store files in a repository - an alternative to GitHub. For ease of use, we also provide web user interfaces for both Gitea and ArgoCD.

Start pushing changes to your Git repository and see ArgoCD in action! We hope you'll have a great time learning and experimenting in our playground.

And if you don't know enough about this continuous delivery/GitOps tool, you can check out this course about ArgoCD to help you out.