Implementasi Aplikasi Multi-Tier dengan ArgoCD

How can we help?
< All Topics
Print

Implementasi Aplikasi Multi-Tier dengan ArgoCD

Definisi Singkat

ArgoCD merupakan sebuah alat yang membolehkan tim pengembang untuk mengimplementasikan perubahan pada aplikasi ke dalam klaster Kubernetes. Ini dilakukan dengan memanfaatkan repositori Git sebagai sumber utama untuk mendefinisikan serta menjaga status yang diinginkan dari aplikasi tersebut.

Pada kesempatan kali ini, kita akan membahas cara deploy aplikasi Multi-Tier menggunakan ArgoCD.

Environment Setup

  • Buatlah sebuah klaster Kubernetes. Pada langkah ini kita akan memanfaatkan klaster Kubernetes yang dibuat menggunakan RKE (Rancer Kubernetes Engine). Silahkan merujuk pada artikel berikut untuk mempersiapkan klaster Kubernetes Anda.
  • Anda dapat meng-install kubectl untuk berinteraksi pada cluster terkait.
  • Install ArgoCD menggunakan Helm atau Manifest file.
    • kubectl create namespace argocd
    • kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
    • Konfig ArgoCD agar expose public menggunakan Ingress
    • contoh:

      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
          nginx.ingress.kubernetes.io/backend-protocol: HTTPS
          nginx.ingress.kubernetes.io/ssl-passthrough: 'true'
        name: argocd.ahmadcloud.my.id
        namespace: argocd
        resourceVersion: '6106299'
      spec:
        ingressClassName: nginx
        rules:
          - host: argocd.ahmadcloud.my.id
            http:
              paths:
                - backend:
                    service:
                      name: argocd-server
                      port:
                        number: 443
                  path: /
                  pathType: Prefix
        tls:
          - hosts:
              - argocd.ahmadcloud.my.id
            secretName: star.ahmadcloud.my.id
      

Definisi Aplikasi dan Proyek

  • Buat proyek ArgoCD untuk aplikasi Multi-Tier
  • Tentukan repositori Git untuk setiap komponen (frontend, backend, dan basis data).
  • Konfigurasikan akses ke repositori Git di dalam ArgoCD. Jika Anda menggunakan private repository yang membutuhkan akses, harap lakukan konfigurasi tersebut bisa melalui web UI.

Pembuatan Manifest Aplikasi

  • Silahkan untuk mendapatkan contoh manifest file pada repository berikut: https://gitlab.com/ahmadnromiz/learn-argocd. Pada path manifest/overlay terdapat file kustomisasi yang digunakan untuk deklaratif kustom workload sebelum di-deploy ke klaster kubernetes.
  • Contoh base file manifest
  • Contoh overlay file manifest

Kesimpulan

ArgoCD memfasilitasi implementasi aplikasi yang efisien, mengotomatiskan proses sinkronisasi, dan memastikan bahwa klaster Kubernetes selalu dalam keadaan sesuai dengan keinginan. Semoga, artikel ini bisa memberikan insight dan bermanfaat untuk kelancaran pekerjaan Anda.

Butuh lebih banyak tutorial artikel? Silakan mengunjungi halaman Knowledge Base kami. Atau, Anda juga bisa mengunjungi blog CloudRaya untuk menemukan artikel seputar teknologi.

Referensi

  1. High Availability Kubernetes Using RKE in Cloud Raya Part 1
  2. High Availability Kubernetes Using RKE in Cloud Raya Part 2
  3. High Availability Kubernetes Using RKE in Cloud Raya Part 3
  4. ArgoCD – Ingress Configuration
  5. ArgoCD – Getting Started
  6. Replatforming Apps to K8s with RKE and GitLab CI
Table of Contents

Leave a Reply

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

Post comment

Ready, Set, Cloud

Ready, Set, Cloud