Please refer to the following github repo for setting up a local kubernetes environment using KinD and LoadBalancer using Metallb.
Create Multi-Node Local Kubernetes Cluster (KinD) with LoadBalancer (Metallb)
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
k get all -n argocd
For the argocd to utilize Metallb, we have to change the service type of "argocd-server" service from "ClusterIP" to "LoadBalancer"
k edit service argocd-server -n argocd
k get all -n argocd
Now we see that the service type of "argocd-server" service has been changed from "ClusterIP" to "LoadBalancer".
- ArgoCD UI admin username: admin
- ArgoCD UI admin password: xxxxxxxxxxxx
k -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
- SYNC POLICY: Automatic
- PRUNE RESOURCES: CHECKED, Argo will delete resources if they are no longer defined in Git
- SELF HEAL: CHECKED, Argo will force the state defined in Git into the cluster when a deviation in the cluster is detected
DESTINATION
- Cluster URL: https://kubernetes.default.svc
- Namespace: default
DIRECTORY
- DIRECTORY RECURSE: CHECKED
Go to "Setting" > "Repositories" > "Connect Repo"
- CONNECT REPO USING HTTPS
- Type: helm
- Repository URL: https://charts.bitnami.com/bitnami
Go to "Application" > "New App"
-
SOURCE
- Repository URL: https://charts.bitnami.com/bitnami
- Chart: wordpress
-
DESTINATION
- Cluster URL: https://kubernetes.default.svc
- Namespace: wordpress
- CHECK: AUTO-CREATE NAMESPACE
k get all -n wordpress
k get svc wordpress-website -n wordpress
Copy the "EXTERNAL-IP" and paste in the browser.
- Wordpress UI Admin Username: user
- Wordpress UI Admin Password: xxxxxxxxxxxx
The following command with return the wordpress UI admin password:
k -n wordpress get secret wordpress-website -o jsonpath="{.data.wordpress-password}" | base64 --decode