Posted in

Install ArgorCD on Kubernetes

Introduction

ArgoCD adalah tools yang digunakan untuk GitOps pada sistem Kubernetes. Jadi ketika mau deploy sesuatu itu kita akan menggunakan GitOps. ArgoCD akan melakukan deploy sesuai dengan file yang berada di Git Repository.

Reqruitment

Untuk kebutuhan deploy argocd yaitu

  • Kubernetes cluster
  • Helm
  • LoadBalancer (MetalLB)

Installation

Install helm terlebih dahulu (jika belum ada). Bisa check pada web resmi helm https://helm.sh/docs/intro/install/

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

Add repo argocd via helm

helm repo add argo https://argoproj.github.io/argo-helm
helm repo update

Kita bisa check list repo pada argo

helm search repo argo

Kita akan gunakan argo-cd sesuai kebutuhan kita. Sebelum itu, kita bisa download default values dari argo-cd. (Kita bisa pelajari apa saja yang ada di values tersebut dan mungkin ada beberapa yang kita butuhkan selain yang saya buat, karena ini hanya tutorial saja).

helm show values argo/argo-cd > values-ori.yaml

Kita akan menggunakan values.yaml yang kita custom.

server:
  service:
    type: LoadBalancer
    loadBalancerIP: "10.100.19.91"

configs:
  cm:
    kustomize.buildOptions: "--enable-helm"
    users.session.duration: "24h"
    exec.enabled: true
server.service.typeKita menggunakan LoadBalancer (Butuh MetalLB)
configs.cm.kustomize.buildOptionsKita enable helm karena untuk kedepannya bisa menggabungkan kustomize dan helm pada konfiguarsi argocd
configs.cm.users.session.durationDurasi session pada user login
configs.cm.exec.enabledKita bisa melakukan exec pada argocd

Membuat namespace untuk argocd dan Install argocd menggunakan helm dan values yang kita bua

kubectl create ns argocd
helm install argocd argo/argo-cd -n argocd -f values.yaml

Instalasi sudah selesai sekarang kita check default password untuk admin

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

Karena kita menggunakan LoadBalancer, maka kita check servicenya akan mendapatkan IP Address dari LoadBalancer

kubectl get svc -n argocd

Sekarang kita akses argocd menggunakan IP loadbalancer tersebut menggunakan browser

Login menggunakan user admin dan password yang sudah dicek sebelumnya

Argocd sudah siap digunakan

Leave a Reply

Your email address will not be published. Required fields are marked *