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
Navigasi ke Manajemen Helm
- Dari menu utama, klik Kubernetes
- 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
- Klik tombol Upgrade
- Di drawer:
- Pilih versi chart baru (opsional)
- Modifikasi values di editor YAML
- Preview perubahan dengan dry-run
- Atur opsi upgrade (force, recreate pods, dll)
- Klik Upgrade untuk menerapkan perubahan
Rollback
- Klik History di detail release
- Pilih revisi sebelumnya
- Klik Rollback
- Konfirmasi operasi rollback
Uninstall
- Klik tombol Delete
- Pilih opsi penghapusan:
- Simpan history untuk potential rollback
- Hapus sepenuhnya
- Konfirmasi uninstall
Repository Chart
Kelola repository Helm chart untuk instalasi aplikasi.
Menambahkan Repository
- Klik Add Repository
- Masukkan detail repository:
- Name: Identifier repository
- URL: URL repository (mis. https://charts.bitnami.com/bitnami)
- Username/Password: Untuk repository privat
- 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
- Klik Install Chart
- Cari atau browse chart yang tersedia
- Pilih chart untuk melihat detail:
- Deskripsi
- Versi yang tersedia
- Nilai default
- Dependencies
Proses Instalasi
- Klik Install pada chart yang dipilih
- Konfigurasi instalasi:
- Release Name: Identifier unik
- Namespace: Namespace target
- Version: Versi chart untuk diinstall
- Values: Kustomisasi konfigurasi
- Review dengan dry-run (disarankan)
- 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: truePengembangan Chart
Membuat Chart Custom
- Navigasi ke Charts > Create
- Pilih template atau mulai dari awal
- Edit file chart:
- Chart.yaml - Metadata chart
- values.yaml - Nilai default
- templates/ - Manifest Kubernetes
Testing Chart
- Gunakan Lint untuk memeriksa error
- Dry Run untuk preview manifest yang dihasilkan
- Install di namespace development
- Iterasi dan update sesuai kebutuhan
Packaging Chart
- Pilih chart Anda
- Klik Package
- Pilih nomor versi
- 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
- Deploy release yang dikonfigurasi
- Klik Save as Template
- Beri nama dan kategorikan template Anda
- 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:
- Lihat dependency tree
- Update versi dependency
- Override nilai sub-chart
Multiple Values Files
- Buat values spesifik environment:
- values-dev.yaml
- values-staging.yaml
- values-prod.yaml
- Pilih file yang sesuai saat instalasi
Praktik Terbaik
- Version Control: Simpan file values di git
- Dry Run Dulu: Selalu preview perubahan sebelum apply
- Resource Limits: Atur limit CPU dan memory yang sesuai
- Isolasi Namespace: Gunakan namespace terpisah untuk environment berbeda
- Security Scanning: Scan chart untuk vulnerabilities
- Dokumentasi: Dokumentasikan values dan konfigurasi custom
- 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
