top of page
Suche
adamszendrei4

ArgoCD with Minikube

Minikube Setup


Install Minikube

 

 

Start Minikube

minikube start

 

Start Minikube Dashboard

 

minikube dashboard

 

If the LoadBalancer gets stuck on Minikube in Pending state, you can create a tunnel executing minikube tunnel

 

Since Minikube runs locally on your machine and doesn’t have access to cloud load balancers, LoadBalancer services don’t get external IP addresses by default.


When you run minikube tunnel, it essentially creates a routing layer that provides external IP addresses for LoadBalancer services in Minikube, mimicking how LoadBalancer services would work in a cloud environment.

 

minikube tunnel

Installing ArgoCD in Minikube


You can use Helm for the deployment:


 

Installing ArgCD and creating LoadBalancer for external access

 

helm upgrade argocd argo/argo-cd --set server.service.type=LoadBalancer --namespace argocd --install --create-namespace

 

Accessing ArgoCD

 

We need to forward our ArgoCD port, otherwise we don’t get an access to the dashboard:

 

kubectl port-forward service/argocd-server -n argocd 8080:443

 

The deployment creates the following services:


(base) adamszendrei@mac manifests % kubectl get svc --namespace argocd                          

NAME                               TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE

argocd-applicationset-controller   ClusterIP      10.109.226.54    <none>        7000/TCP                     23d

argocd-dex-server                  ClusterIP      10.106.183.129   <none>        5556/TCP,5557/TCP            23d

argocd-redis                       ClusterIP      10.97.128.188    <none>        6379/TCP                     23d

argocd-repo-server                 ClusterIP      10.100.51.206    <none>        8081/TCP                     23d

argocd-server                      LoadBalancer   10.103.234.146   127.0.0.1     80:32454/TCP,443:32325/TCP   23d


Now you can access to the dashboard:



After reaching the UI the first time you can login with username: admin and the random password generated during the installation. You can find the password by running:

 

kubectl -n argo-system get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

 

or you can find the secret on the Kubernetes dashboard as well:



(You should delete the initial secret afterwards as suggested by the Getting Started Guide: https://argo-cd.readthedocs.io/en/stable/getting_started/#4-login-using-the-cli)

 

After logging in ArgoCD:



Creating application

 

You can use the following application:

 

You can specify the application and the project name:



You can specify the Helm chart path and namespace where you want to deploy the application:



After specifying the Helm path ArgoCD automatically detects the values.yaml



After clicking on Create the application deployment is starting:



The pod is starting up, but it is unhealthy:




It looks like we need to add the initialDelaySeconds:


You can modify the deployment.yaml file and create a pull request:


After merging the pull request back to the Master branch, you can see the changes clicking on the History and Rollback:



After the sync the configuration is applied to the deployment.yaml and the application is now up and running:



Now we can access to the application via its LoadBalancer service:





6 Ansichten0 Kommentare

Aktuelle Beiträge

Alle ansehen

Comments


bottom of page