Workflow to Install ArgoCD
Before You Begin
This tutorial involves working with a variety of tools and technologies such as Digital.ai Release, Argo CD, Digital.ai Release Runners, Kubernetes, GitHub, and so on. You can perform this task by simply following the instructions. However, being familiar with these tools and technologies can help you considerably when you try this out in your test environment.
What's the objective?
The objective is to illustrate how to use the ArgoCD install workflow in Digital.ai Release to install Argo CD in a Kubernetes cluster.
Though the Digital.ai Release supports GitHub, GitLab, and BitBucket repositories, this tutorial is built with the GitHub repository for illustrative purposes.
What do you need?
You must have the following:
- A computer that runs Windows, macOS, or Linux to install and run the kubectl and other CLIs.
- You must have a Release runner setup.
- A Kubernetes cluster where Argo CD will be installed.
- kubectl
What do you have?
To get your ArgoCD install workflow, see how to Run Workflows.
Here's a detailed step-by-step.
Step 1 - Set up your Kubernetes Cluster
Note: The instructions to set up the cluster are indicative of the process. You may have to keep abreast of the latest developments with regards to the cloud platform you work with and set up the cluster to suit your requirements.
The process of setting up a Kubernetes cluster and the tools required for the same varies from one platform to the other. However, there are certain things that you must think through before setting up a Kubernetes cluster in general.
You can install Argo CD on the following Kubernetes platforms.
- Plain Multi-node Kubernetes Cluster On-premise
- Amazon EKS
- Azure AKS
- Google GKE
- OpenShift
Step 2 - Connect to your Kubernetes Server
Go to the Connections page to configure your Kubernetes server.
Step 3 - Run the ArgoCD Install Workflow
- Open the folder in which the templates are imported.
- In the left navigation pane, click Application pipelines > Application management > Create application. The Choose Application Creation Workflow screen opens as a service catalog with the list of workflows.
- Hover over ArgoCD install workflow and click Run workflow.
Step 4 - Check if Runner Exists
This step checks if the Release instance has a Runner enabled. Also, the enabled Runner needs to have the capabilities set to remote.
Step 5 - Input for ArgoCD Installation
- In the Kubernetes API server field, select a Kubernetes server where the Argo CD will be installed. Alternatively, you can also create a new connection by clicking Create new Kubernetes API Server.
- In the Namespace field, enter a value. This is the namespace where Argo CD will be installed.
- Click Next.
Step 6 - Check if ArgoCD Namespace Exists
This step checks if the namespace already exists. If it exists, the next step gets skipped automatically. However, a check will be performed to see, if the Argo CD services already exist.
Step 7 - List all Services in ArgoCD Namespace
If the namespace exists, this step is skipped automatically.
If the namespace does not exist in the previous step, then this task will list all the services and after that will check if there are any Argo CD services.
Step 8 - Validate that ArgoCD Services don't Exist
If the namespace exists, this step is skipped automatically.
This step checks if there are any Argo CD services already existing in this namespace. If there are some, it means that Argo CD is already installed, and the release fails.
Step 9 - Create ArgoCD Namespace
This step creates a namespace to install Argo CD after confirming that there are no existing Argo CD services.
Step 10 - Apply ArgoCD Installation on Cluster
This step applies the Argo CD installation YAML on the created Argo CD namespace.
Step 11 - Check Status of Pods in ArgoCD Namespace
This step checks if the Argo CD services are running successfully and displays its current status.
Step 12 - Fetch Secret
In the Secure Response field, the secret is fetched and masked. Click Next.
Step 13 - Input for ArgoCD CI
- In the ArgoCD API Server Title field, enter the title of the Argo CD CI.
- In the ArgoCD API Server Host field, enter the URL of the ArgoCD API Server, where Argo CD is installed.
- Click Next.
Step 14 - Create ArgoCD live deployment CIs
This step creates an ArgoCD API server CI with given ArgoCD API Server Title and ArgoCD API Server Host.
Note: Authentication is set to basic with admin username and initial password. For live deployments, webhook endpoint and event source are created.
Step 15 - View Applications
- Click Finish when the steps are completed.
- The created applications are visible by navigating to Application Pipeline > Applications management screen.