In this lab, you will deploy ArgoCD via Helm to your GKE cluster.
To begin, create a dedicated directory for this lab and switch into it:
cd ~
mkdir argocd && cd argocd
Retrieve the Argo repository:
helm repo add argo https://argoproj.github.io/argo-helm
The Argo repository contains the Helm charts for all of the Argo tools (Workflows, Events, etc.). You can view all the repos with the helm search repo argo command. You will see an output similar to below:
NAME CHART VERSION APP VERSION DESCRIPTION
argo/argo 1.0.0 v2.12.5 A Helm chart for Argo Workflows
...
argo/argocd-notifications 1.8.1 v1.2.1 A Helm chart for ArgoCD notifications, an add-o...
The next step is to create your Helm values file to customize the ArgoCD deployment. Using the following YAML as a starting point and the documentation here as well as here, craft your values file to also add an Ingress object for ArgoCD.
Your Ingress object should have:
- The following annotation:
cert-manager.io/cluster-issuer: letsencrypt-production - A host named:
argocd.<YOUR_STUDENT_ID>.<RANDOM_ID>.workshops.acceleratorlabs.ca - Use the Ingress Class:
nginx - A TLS block where the secret name is:
argocd-tlsand the same host as above.
configs:
params:
"server.insecure": true
server:
ingress:
enabled: true
Once your values file is complete, you can deploy ArgoCD with the following command:
helm install argocd argo/argo-cd \
--namespace argocd \
--create-namespace \
--values <YOUR_YAML_FILE>
To validate that your ArgoCD deployment is ready, validate that the pods are all in a “Running” state and that your Ingress object is properly configured. Your Ingress object should look similar to the following:
kubectl get ingress -n argocd
NAME CLASS HOSTS ADDRESS PORTS AGE
argocd-server nginx <YOUR_STUDENT_ID>.<RANDOM_ID>.workshops.acceleratorlabs.ca <your-public-IP> 80 38m
You will then be able to access the UI of your ArgoCD instance through your browser. You can log into your instance with the admin account and the initial admin password. Note, the Helm output will show you how to retrieve that password.
Once you have successfully logged into ArgoCD, you can move onto the next lab.