Argo CD
GitOps Continuous Delivery for Kubernetes
Argo CD is an open-source tool for continuously deploying applications to Kubernetes clusters.
Argo CD
GitOps for Kubernetes
Argo CD is an open source tool for continuous deployment (CD) of applications on Kubernetes clusters. It was designed to make it easier to automate and manage application deployments in Kubernetes and streamline the deployment process. With Argo CD you and your DevOps teams can configure your applications declaratively via Git repositories. This means that all infrastructure including applications and their dependencies are described in YAML configuration files. These files are stored in a Git repository and monitored by Argo CD. Argo CD continuously checks the Git repository for configuration changes and automatically synchronizes the state of applications in the Kubernetes cluster to match the desired state in the Git repository. As a result, the state of the applications in the Kubernetes environment is declaratively controlled and automatically brought to the desired state.
Features
Declarative management of your environment
Argo CD follows the principles of GitOps, which means that all system configuration is stored and versioned in Git repositories. This promotes transparency, traceability and consistent rollback management when needed. The tool also offers the ability to manage multiple environments, including development, staging, and production, and allows you to seamlessly switch between these environments.
Continuous Deployment
Argo CD enables continuous delivery of applications on Kubernetes. It monitors Git repositories for configuration changes and automatically updates running applications in the cluster to match the desired status in the repository.
Declarative Configuration
Argo CD uses declarative YAML configuration files to describe applications and their dependencies. This supports version control and simplifies rollback management.
GitOps Principals
Argo CD is a pioneer of the GitOps movement, where all application infrastructure and its states are stored in Git repositories. This ensures a clear and repeatable process for deploying and managing applications.
Automatic Synchronization
Argo CD ensures that the state of the applications in the Kubernetes cluster matches the desired state in the Git repository. In case of configuration changes or errors, it performs automatic synchronizations to restore the desired state.
Ability to roll back
Argo CD allows developers to easily revert to previous versions of the application. This allows for easy rollback in case an update fails or unexpected issues arise.
Multiple environment support
Argo CD allows for easy management of multiple environments (e.g. development, staging, production) with different configurations and permissions. This allows developers to seamlessly switch between environments and test application deployment at different stages.
Architecture
The components of Argo CD
Argo CD’s architecture is based on the Kubernetes principle that everything is a resource. This means that applications in Kubernetes are defined as custom resources and managed by special controllers provided by Argo CD.
This architecture enables efficient and reliable deployment of applications in Kubernetes clusters and supports the GitOps principles that support declarative and versioned infrastructure configuration.
API Server
The API server is a gRPC/REST server that provides the APIs used by the web interface, the CLI and the CI/CD systems.
- Application management and status reports
- Invoke application operations
- Repository and cluster credential management
- Authentication and authentication delegation to external identity providers
- Listener/forwarder for Git webhook events
Repository Server
The repository server is an internal service that maintains a local cache of the Git repository containing the application manifests. It is responsible for generating and returning the Kubernetes manifests given the following inputs:
- Repository URL
- Revision (Commit, Tag, Branch)
- Application Path
- Template specific settings: parameters, Helm values.yaml
Application Controller
The Application Controller is a Kubernetes controller that continuously monitors running applications and compares the current live state to the desired target state (as specified in the repo). It detects the application’s OutOfSync status and optionally takes corrective action. It is responsible for calling all custom lifecycle event hooks (PreSync, Sync, PostSync).
Service
Argo CD Consulting
We help you with the conception, installation and integration of your environment – for more power, know-how, peace of mind!
Power
Years of experience
We have been supporting our customers in operating their IT infrastructures for many years. Industries, tools, operating systems – we’ve seen, operated and built everything. We know the best practices with Argo CD, Kubernetes, Rancher, Prometheus & Co. and many topics related to Open Source and Linux.
Know How
Full Understanding
We not only understand your IT systems and services, but the big picture and the countless aspects of operating complex IT infrastructures. There is often a lack of time and personnel with increasing complexity and a rapidly changing IT world.
Peace of Mind
Targeted Reinforcement
As Linux generalists and open source experts, we have a broad base and are well integrated into the open source communities. With us you are never alone! Whether as an IT consultant, engineer, support or architect – we strengthen your team and relieve you of work.
Everything from a single source
The holistic portfolio of NETWAYS
You need support with the planning, implementation and operation of Argo CD. NETWAYS supports you in all matters relating to consulting, outsourcing and, of course, training.
IT Outsourcing
Support
With us you get quick help from your personal systems engineer. Whether by phone, chat, email or ticket: we are always there for you! Argo CD not doing what it’s supposed to? Get in touch with us!
Trainings
News
Articles from our Blog
Webinars
Our Webinar archive