Argo CD is an open-source declarative continuous delivery (CD) tool designed for Kubernetes. It helps automate the deployment and lifecycle management of applications in a Kubernetes cluster using a GitOps approach, where the desired state of the application is defined in a Git repository, ensuring that the deployed application matches that desired state.
Without Plural, Deploying ArgoCD would require an understanding/setup of:
- Kubernetes cluster itself, with appropriate access management, monitoring, and autoscaling
- Git, CD, and GitOps core concepts
- Ingress controller
- DNS/cert management
- Secrets Manager Services
Throughout this article, you’ll learn how to set up a fresh Kubernetes cluster and install Argo CD on that cluster using Plural, an open-source Kubernetes DevOps platform, Plural allows users to deploy Kubernetes clusters and open-source applications with little to no management experience.
What is Argo CD used for?
Argo CD excels at simplifying and automating the continuous delivery of applications, utilizing a GitOps approach to ensure the desired state of applications in a Kubernetes cluster aligns with your Git repository.
Argo CD offers a robust and efficient solution for managing application deployments in Kubernetes environments. It promotes consistency, reliability, and scalability with features like application synchronization, rollbacks, rollouts, multi-environment support, and extensibility.
Furthermore, its extensibility and integration with the Kubernetes ecosystem make it a flexible and powerful tool for managing application deployments in Kubernetes environments.
Argo CD's firm adherence to the GitOps operational model, with declarative configurations stored in Git repositories, ensures version control and collaboration, simplifying the management of deployments makes it a preferable choice over a tool like FluxCD.
To deploy Argo CD on a Plural, you must create an account. To do so, head to app.plural.sh and follow the instructions.
You can also use the Plural CLI to deploy a Kubernetes cluster locally. However, before proceeding, you should already have installed:
- Either an AWS, GCP, or Azure cloud account with admin access
- Your cloud provider CLI installed and configured
- Either a GitHub or GitLab account
Creating and configuring a Kubernetes cluster with Plural
- After creating your account, you will go through Plural's onboarding process.
- Click on use your own cloud. From there you'll be prompted to select if you want to use our cloud shell experience or install the CLI on your local machine. It is recommended to use our cloud shell for a quick and easy experience.
- Create a GitHub or GitLab repository to store the state of the deployment. Plural manages all cluster configurations via Git and will provision a GitHub repository on your behalf. This repository is set up using scoped deploy keys to store the state of your workspace, and no OAuth credentials are persisted.
- Choose your cloud provider. Plural is a solution that deploys and manages infrastructure in a user’s cloud environment, it needs relatively high levels of access to your cloud environment. As a result, you need to provide a service account to Plural so it can authenticate against your cloud environment.
5. Choose a distinct name for the cluster created for the deployment. Afterward, specify a unique prefix for the bucket and a subdomain for creating DNS.
6. Review that the information you entered is correct, and if so click create. Note: This step can take a few minutes.
Plural will now create a cloud shell environment for you, which will take a few minutes. Afterward, you’ll be asked to choose which applications you wish to install on a new Kubernetes cluster.
How to Install Argo CD on the Kubernetes Cluster with Plural
After your project completes initializing, you will be presented with Plural Console. We will install Argo CD - an open-source declarative CD Kubernetes tool.
- Search for argo-cd in the install apps window. Select argo-cd and press Continue.
2. Next, you'll enter a Virtual Private Cloud (VPC) name where the Argo CD deployment will reside, ensuring Plural has a clean environment to deploy into and minimizes disruption to existing systems.
3. Enter a Wal Bucket name
4. Next, If you earlier chose to install the Plural Console alongside your Argo CD installation you’ll be prompted to configure your Plural Console environment.
5. Lastly, enter a hostname for the Argo CD installation. Note: It's recommended to name the hostname after the application. You'll then confirm everything looks good before deploying. Note: This step can take up to 15 minutes.
6. Once everything is up and running your screen should look similar to this:
Accessing the Plural Console
Deployed within the same cluster as the managed applications, the Plural Console acts as a central operational hub and offers several essential functionalities for effective management.
- The Plural Console facilitates automated upgrades from the Kubernetes API.
- The Console serves as a built-in Kubernetes dashboard for all Plural-managed applications within the cluster.
- It conducts app-level health checks to ensure smooth operation.
- The Console also serves as a communication point for reporting incidents to the application owner.
To enter the Plural Console, navigate to the “Plural Console URL” from the Cloud Shell.
Accessing and Configuring the Argo CD Deployment
You can access the Argo CD Dashboard through the Cloud Shell link or the Plural Console.
Inside the Plural Console, press Launch next to argo-cd to access the Dashboard. By enabling OIDC previously, you won’t need to manage authentication.
To start using Argo CD, you can refer to Argo CD’s documentation on how to create your first application.
Next Steps and Resources
In this article you have learned how to:
- Create a Plural Git repository to store your infrastructure information.
- Provision a fully configured Kubernetes cluster with no management experience necessary.
- Install an instance of Argo CD on your fresh Kubernetes cluster.
Are you looking to get your Argo CD instance up and running on Kubernetes with minimal effort?
Join our Discord community for deployment help, discussion, and meeting other Plural users.
Ready to effortlessly deploy and operate open-source applications in minutes? Get started with Plural today.
Be the first to know when we drop something new.