Well, I'm not about to do manual installs for everything, and I like to automate and keep thing up to date as much as possible. So first thing is to install argocd. I'm following this tutorial and this is the first step I performed after I finished configuring Talos.
All works from the machine where we have access to the cluster.
Note: I'll assume the files and environment variables from the "When finished" section are still valid.
Installing argocd
First add the helm repo:
helm repo add argo https://argoproj.github.io/argo-helm
Then create the argocd
namespace:
kubectl create namespace argocd
You should have something like:
Monitor creation
You can monitor the status of deployment via:
kubectl -n argocd get pods -o wide -w
All is OK
All is OK when the Status
for all pods is Running. You can go to the next phase 😄
Access the UI
Get the admin password
When argocd finishes installing, it'll display a readme of what to do next. Instructions to get the admin password are there too. For mine, the command is:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
xposing ports
For the quick intro, we expose the argocd port in a dynamic manner with the following process:
- Edit the server port type with
kubectl edit svc argocd-server -n argocd
- Change the line
type: ClusterIP
 totype: NodePort
This will then expose the service's port as a random(?) free port. In my case, I got:
kubectl -n argocd get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE argocd-applicationset-controller ClusterIP 10.98.154.4 7000/TCP 19m argocd-dex-server ClusterIP 10.97.193.219 5556/TCP,5557/TCP 19m argocd-redis ClusterIP 10.109.98.143 6379/TCP 19m argocd-repo-server ClusterIP 10.96.237.67 8081/TCP 19m argocd-server NodePort 10.103.87.115 80:30314/TCP,443:31641/TCP 19m
I can access then the argocd server with https://MAIN_CLUSTER_IP:30314
(... remember the MAIN_CLUSTER_IP
from Configure Talos linux?)
HTH,
Member discussion: