Skip to content

Kubernetes - Manajemen Helm

Helm adalah package manager untuk Kubernetes, memungkinkan Anda untuk deploy dan mengelola aplikasi menggunakan chart. Vapor menyediakan antarmuka komprehensif untuk operasi Helm.

Prasyarat

  • Koneksi cluster Kubernetes yang aktif
  • Helm 3.x terinstal pada sistem
  • Izin RBAC yang sesuai untuk operasi Helm
  1. Dari menu utama, klik Kubernetes
  2. Pilih tab Helm

Helm Release

Bagian Releases menampilkan semua Helm release yang ter-deploy di cluster Anda.

Tampilan Daftar Release

Setiap release menampilkan:

  • Nama release
  • Namespace
  • Nama dan versi chart
  • Versi aplikasi
  • Status (Deployed, Failed, Pending, dll)
  • Waktu update terakhir
  • Nomor revisi

Aksi Release

Melihat Detail Release

Klik pada release untuk melihat:

  • Overview: Informasi dasar release
  • Values: Nilai konfigurasi saat ini (YAML)
  • Manifest: Manifest Kubernetes yang dihasilkan
  • Notes: Catatan instalasi dari chart
  • History: Riwayat revisi dengan opsi rollback

Upgrade Release

  1. Klik tombol Upgrade
  2. Di drawer:
    • Pilih versi chart baru (opsional)
    • Modifikasi values di editor YAML
    • Preview perubahan dengan dry-run
    • Atur opsi upgrade (force, recreate pods, dll)
  3. Klik Upgrade untuk menerapkan perubahan

Rollback

  1. Klik History di detail release
  2. Pilih revisi sebelumnya
  3. Klik Rollback
  4. Konfirmasi operasi rollback

Uninstall

  1. Klik tombol Delete
  2. Pilih opsi penghapusan:
    • Simpan history untuk potential rollback
    • Hapus sepenuhnya
  3. Konfirmasi uninstall

Repository Chart

Kelola repository Helm chart untuk instalasi aplikasi.

Menambahkan Repository

  1. Klik Add Repository
  2. Masukkan detail repository:
  3. Klik Add

Operasi Repository

  • Update: Refresh index repository
  • Remove: Hapus repository
  • Browse: Lihat chart yang tersedia

Repository Default

Repository umum yang mungkin Anda tambahkan:

  • Bitnami: https://charts.bitnami.com/bitnami
  • Stable: https://charts.helm.sh/stable
  • Nginx: https://kubernetes.github.io/ingress-nginx
  • Prometheus: https://prometheus-community.github.io/helm-charts

Instalasi Chart

Cari dan Install

  1. Klik Install Chart
  2. Cari atau browse chart yang tersedia
  3. Pilih chart untuk melihat detail:
    • Deskripsi
    • Versi yang tersedia
    • Nilai default
    • Dependencies

Proses Instalasi

  1. Klik Install pada chart yang dipilih
  2. Konfigurasi instalasi:
    • Release Name: Identifier unik
    • Namespace: Namespace target
    • Version: Versi chart untuk diinstall
    • Values: Kustomisasi konfigurasi
  3. Review dengan dry-run (disarankan)
  4. Klik Install untuk deploy

Konfigurasi Values

Menggunakan Values Editor

Values editor menyediakan:

  • Syntax highlighting YAML
  • Validasi schema
  • Auto-completion
  • Referensi nilai default

Override Values Umum

yaml
# Resource limits
resources:
  limits:
    cpu: 500m
    memory: 512Mi
  requests:
    cpu: 250m
    memory: 256Mi

# Konfigurasi service
service:
  type: LoadBalancer
  port: 80

# Persistence
persistence:
  enabled: true
  size: 10Gi
  storageClass: fast-ssd

# Ingress
ingress:
  enabled: true
  hostname: app.example.com
  tls: true

Pengembangan Chart

Membuat Chart Custom

  1. Navigasi ke Charts > Create
  2. Pilih template atau mulai dari awal
  3. Edit file chart:
    • Chart.yaml - Metadata chart
    • values.yaml - Nilai default
    • templates/ - Manifest Kubernetes

Testing Chart

  1. Gunakan Lint untuk memeriksa error
  2. Dry Run untuk preview manifest yang dihasilkan
  3. Install di namespace development
  4. Iterasi dan update sesuai kebutuhan

Packaging Chart

  1. Pilih chart Anda
  2. Klik Package
  3. Pilih nomor versi
  4. Download file .tgz yang dipackage

Template dan Library Chart

Menggunakan Template Vapor

Vapor menyediakan template pre-configured untuk aplikasi umum:

  • Web Application: Deployment, Service, Ingress
  • Database: StatefulSet dengan persistence
  • Microservice: Multiple deployment dengan service mesh
  • Batch Job: Konfigurasi CronJob

Membuat Template

  1. Deploy release yang dikonfigurasi
  2. Klik Save as Template
  3. Beri nama dan kategorikan template Anda
  4. Gunakan kembali untuk deployment serupa

Fitur Lanjutan

Helm Hook

Kelola lifecycle hook:

  • Pre-install
  • Post-install
  • Pre-upgrade
  • Post-upgrade
  • Pre-rollback
  • Post-rollback
  • Pre-delete
  • Post-delete

Dependencies

Kelola chart dependencies:

  1. Lihat dependency tree
  2. Update versi dependency
  3. Override nilai sub-chart

Multiple Values Files

  1. Buat values spesifik environment:
    • values-dev.yaml
    • values-staging.yaml
    • values-prod.yaml
  2. Pilih file yang sesuai saat instalasi

Praktik Terbaik

  1. Version Control: Simpan file values di git
  2. Dry Run Dulu: Selalu preview perubahan sebelum apply
  3. Resource Limits: Atur limit CPU dan memory yang sesuai
  4. Isolasi Namespace: Gunakan namespace terpisah untuk environment berbeda
  5. Security Scanning: Scan chart untuk vulnerabilities
  6. Dokumentasi: Dokumentasikan values dan konfigurasi custom
  7. Backup Values: Export values sebelum upgrade

Pemecahan Masalah

Instalasi Gagal

  • Periksa namespace ada dan memiliki resource cukup
  • Verifikasi izin RBAC
  • Review pesan error di status release
  • Periksa event dan log pod

Upgrade Macet

  • Periksa pod pending
  • Verifikasi ketersediaan resource
  • Gunakan force upgrade jika perlu
  • Pertimbangkan rollback ke versi sebelumnya

Values Tidak Diterapkan

  • Verifikasi syntax YAML
  • Periksa path value cocok dengan schema chart
  • Review manifest yang dihasilkan
  • Pastikan tidak ada typo di key value

Masalah Repository

  • Verifikasi URL repository dapat diakses
  • Periksa kredensial autentikasi
  • Update index repository
  • Clear cache lokal jika korup

Rollback Gagal

  • Periksa apakah history disimpan saat penghapusan
  • Verifikasi target revisi ada
  • Review pesan error rollback
  • Intervensi manual mungkin diperlukan

Dibuat dengan semangat gotong royong demi kemajuan bangsa 🇮🇩