Skip to content
Jagoan Cloud Docs
  • Solutions
    • Server Ujian Online
    • Scalable WordPress
  • Products
    • Jagoan Cloud PaaS
      • Pricing
    • Cloud Backup
    • VPS Windows
    • Business Mail
    • SSL Certificate
  • Login App
Popular Search settingsshphpdockerdomain

Rapor Digital Madrasah

  • Cara Instalasi RDM

Panduan Dasar

  • Cara Memasang SSL di Jagoan Cloud
  • Mengubah domain Jagoan Cloud ke Domain Sendiri
  • Cara Menambahkan IP Public

Moodle

  • Cara Login ke Server Moodle di Jagoan Cloud
  • Cara Login ke Aplikasi Moodle di Jagoan Cloud
  • Cara Menggunakan Domain Pribadi untuk Aplikasi Moodle

Quick Start

  • Getting Started
  • Dashboard Guide
  • Welcome Tutorial
  • Software Stack Versions

Platform Overview

  • What is Platform-as-a-Service
  • Concept and Terminology
  • What are System Containers
  • What are Application Containers
  • Isolated Containers
  • What is Auto-Clustering
  • Cloudlet

Containers

  • Container Types
  • Container Image Requirements
  • Connect to Custom Container
  • Custom Container SSH Access
  • Private Registry Inside PaaS
  • Building Custom Containers

Environment Management

  • HTTP Headers
  • Clone Environment

Application Settings

  • Configuration File Manager
  • Managing Timezone Settings

Development Tools

  • FTP/FTPS Support

Account and Pricing

  • Account Registration
  • Account Types
  • Account Statuses
  • Account Password Reset
  • Quotas System
  • Two Factor Authentication
  • Personal Access Token
  • Upgrade and Refill Account
  • Pricing Model Overview

Architecture Overview

  • Cluster Overview
  • Cluster Orchestrator

Container Deployment

  • Certified Containers Deployment
  • Custom Containers Deployment
  • Docker Engine Deployment

Container Redeploy

  • Redeploy Overview
  • Preserve Data

Container Configuration

  • Configuration Tools
  • Container Environment Variables
  • Container Linking
  • Container Volumes
  • Container Ports
  • Container Run Configuration

Environment Variables

  • Java Options and Arguments
  • Default Environment Variables
  • Custom Environment Variables

Environment Groups

  • Overview
  • Group Creation
  • Navigation Between Groups
  • Group Management
  • Environment Isolations

Scaling and Clustering

  • Automatic Vertical Scaling
  • Horizontal Scaling
  • Automatic Horizontal Scaling
  • Data Synchronization
  • File Synchronization in Cluster
  • Auto-Clustering of Instances

Built-In Monitoring

  • Log Files
  • Statistics
  • Load Alerts

SSH

  • Generate SSH Key
  • Add SSH Key
  • SSH Access

Resource Charging

  • Pricing FAQ
  • Charged Resources
  • Monitoring Consumed Resource

Kubernetes

  • GitLab CI/CD Integration
  • Cluster Automated Upgrade
  • Public IP for Access to Kubernetes
  • Traefik v2 Ingress Controller

Kubernetes Cluster

  • Kubernetes Overview
  • System Requirements
  • Cluster Installation
  • Cluster Versions

Managing Kubernetes

  • Cluster Access
  • Access Controll
  • Cluster Troubleshooting
  • Cluster Upgrade
  • Velero Backup

Kubernetes Scalability

  • Vertical Scalling
  • Horizontal Scalling

Application Deployment

  • Helm Integration
  • YAML Deployments
  • Internal Networking
  • Exposing Services
  • Creating Ingresses

Persistent Data

  • Volume Provisioner
  • Persistent Volume Claim
  • Custom Storage

Domain Name Management

  • Swap Domain
  • Multiple Domain for PHP
  • Container DNS Hostnames

External Access to Applications

  • Shared Load Balancer
  • Public IP
  • Container Firewall
  • Endpoints

Traffic Distributor

  • Traffic Distributor Overview
  • Routing Methods
  • Traffic Distributor Installation
  • Traffic Distributor Integration
  • Use Case

SSL

  • Secure Socket Layer
  • Built-In SSL
  • Custom SSL
  • Custom SSL via SLB

Scheduling Configuration

  • Setting Up Cronjob
View Categories
  • Docs
  • Panduan Penggunaan Layanan & Platform Jagoan Cloud
  • Jagoan Cloud PaaS
  • Kubernetes
  • Application Deployment
  • Helm Integration

Helm Integration

8 min read

Kubernetes Cluster : Helm Integration #

Kubernetes menyediakan berbagai opsi untuk melakukan deployment aplikasi. Salah satu metode yang paling umum adalah menggunakan Helm package manager. Jika Kamu ingin menjalankan solusi yang populer atau cukup dikenal di dalam cluster Kubernetes, kemungkinan besar solusi tersebut sudah tersedia sebagai paket yang telah dikonfigurasi sebelumnya dan bisa diinstal hanya dalam hitungan menit. Helm memudahkan instalasi aplikasi Kubernetes dari repository jarak jauh maupun pembuatan Helm chart lokal.

Helm sudah tersedia di semua control plane node dalam klaster Kubernetes secara default dan tidak memerlukan konfigurasi tambahan. Cukup sambungkan ke node (misalnya melalui Web SSH), dan Kamu bisa langsung mulai bekerja dengan Helm. Versi Helm ini akan diperbarui secara otomatis saat cluster Kubernetes di-upgrade.

Helm bekerja berdasarkan tiga konsep utama :

  • Chart adalah paket Helm yang berisi semua definisi resource yang dibutuhkan untuk menjalankan suatu aplikasi, alat, atau layanan di dalam cluster Kubernetes.
  • Repository adalah tempat di mana chart dikumpulkan dan dibagikan.
  • Release adalah instansi dari suatu chart yang dijalankan di cluster Kubernetes. Satu chart dapat diinstal berkali-kali di dalam cluster yang sama dengan nama release yang unik, contohnya beberapa instansi database.

Helm akan menginstal chart ke dalam Kubernetes dengan membuat release baru setiap kali instalasi dilakukan. Untuk menemukan chart baru, Kamu bisa mencari melalui repository Helm.

Dalam panduan ini, kita akan membahas seluruh tahapan utama dalam menggunakan Helm:

  • mencari chart dan bekerja dengan repository
  • menginstal aplikasi Helm baru
  • mengelola aplikasi yang sudah ada

 


πŸ“ NOTE
Helm berguna tidak hanya karena menyediakan solusi siap pakai, tetapi juga sebagai alat versioning dan standarisasi dalam pengembangan proyek. Pada awalnya, ketika Kamu mengerjakan proyek kecil, pendekatan deployment menggunakan skrip mungkin sudah cukup. Namun, kompleksitas proyek bisa dengan cepat meningkat, sehingga Kamu harus terus menyesuaikan file YAML.Sebagai contoh, saat Kamu ingin melakukan deployment ke lingkungan staging dan production, biasanya perlu ada perubahan konfigurasi seperti URL database.Pada titik tertentu, Kamu mungkin mulai merasa kesulitan untuk melacak interaksi dan ketergantungan antar komponen. Biasanya ini menjadi tanda bahwa kompleksitas environment-mu sudah melampaui kemampuan skrip deployment buatan sendiri. Dalam situasi seperti ini, bisa jadi saat yang tepat untuk mempertimbangkan penggunaan Helm sebagai solusi pengganti skrip manualmu.Panduan Chart Development akan membantumu memahami cara mengembangkan chart Helm milikmu sendiri.

 

Finding Helm Charts #

Ada banyak solusi yang sudah dikonfigurasi sebelumnya dan bisa langsung diinstall ke dalam Kubernetes Cluster hanya dalam hitungan menit. Helm package manager memiliki pusat repositori utama yang berisi banyak solusi siap pakai. Selain itu, Kamu juga bisa menggunakan custom repository sendiri.

Helm memiliki perintah search yang cukup kuat dan bisa digunakan untuk mencari dari dua jenis sumber :

  • helm search hub akan mencari di Artifact Hub (repositori Helm chart komunitas terdistribusi) yang mencantumkan Helm chart dari puluhan repositori.

Sebagai contoh, Kamu bisa menemukan semua chart WordPress yang tersedia secara publik dengan menjalankan perintah:

helm search hub wordpress

  • helm search repo digunakan untuk mencari chart di repository yang sudah kamu tambahkan ke Helm client lokal (dengan helm repo add). Pencarian ini dilakukan menggunakan data lokal, jadi tidak memerlukan koneksi internet.

Helm 3 (yang digunakan sejak Kubernetes 1.18.10) tidak lagi menyertakan repositori chart bawaan. Kamu bisa menggunakan perintah helm repo untuk menambahkan, melihat, dan menghapus repository. Sebagai contoh, mari kita tambahkan Bitnami repository :Β 

helm repo add bitnami https://charts.bitnami.com/bitnami

Kamu bisa melihat daftar repository yang sudah dikonfigurasi di Helm dengan perintah:

helm repo list

helm repo list command

Karena isi repositori chart sering berubah, kamu bisa memastikan Helm client-mu selalu menggunakan data terbaru dengan menjalankan:

helm repo update

Installing Helm Package #

Untuk menginstal paket baru menggunakan Helm, kamu bisa menggunakan perintah helm install. Secara sederhana, perintah ini membutuhkan dua argumen:

  • {name} – nama rilis yang kamu tentukan sendiri (contoh: mywordpress)
  • {chart} – nama chart yang ingin kamu install (contoh: bitnami/wordpress)

Kamu juga bisa menambahkan opsi konfigurasi chart agar aplikasinya disesuaikan dengan kebutuhanmu. Misalnya, untuk mengubah nama blog, Kamu bisa gunakan parameter –set.

Contoh perintah:

helm install --set wordpressBlogName='My Blog!' mywordpress bitnami/wordpress

Menginstal sebuah chart akan membuat objek release baru. Jika Kamu ingin agar Helm secara otomatis membuatkan nama untuk release-nya, cukup hilangkan bagian nama rilis dan tambahkan parameter –generate-name.

Selama proses instalasi, helm client akan menampilkan informasi penting seperti resource yang dibuat, status release, dan langkah konfigurasi tambahan (jika ada)

 


πŸ“ NOTE
WordPress adalah solusi yang cukup kompleks karena memerlukan komponen tambahan seperti Storage dan public IP. Jika komponen-komponen ini belum disediakan saat instalasi Kubernetes Cluster, Kamu bisa menambahkannya melalui dashboard platform yang kamu gunakan.

 

Untuk mendapatkan URL WordPress beserta kredensial admin-nya, Kamu bisa jalankan perintah berikut di terminal :

export SERVICE_IP=$(kubectl get svc --namespace default mywordpress --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")

printf "WordPress URL: http://$SERVICE_IP/\nWordPress Admin URL: http://$SERVICE_IP/admin\nUsername: user\nPassword: $(kubectl get secret --namespace default mywordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)\n"

Sekarang, gunakan data yang sudah Kamu dapatkan dari perintah sebelumnya untuk mengakses situs dan halaman admin WordPress.

Seperti yang Kamu lihat, nama blog kustom kita (My Blog!) yang diberikan melalui parameter –set saat instalasi Helm sudah otomatis diterapkan pada situs WordPress.

Managing Helm Applications #

Helm menyediakan berbagai perintah untuk bekerja dengan chart yang sudah terinstal. Beberapa tindakan yang dapat dilakukan antara lain:

  • Upgrade rilis: memperbarui aplikasi dengan versi chart atau konfigurasi yang baru.
  • Rollback (pemulihan): mengembalikan aplikasi ke versi rilis sebelumnya jika terjadi masalah.
  • Cek status: melihat status dari rilis yang berjalan, termasuk informasi resource dan kondisi aplikasi.
  • Cek nilai konfigurasi (values): menampilkan nilai konfigurasi yang digunakan oleh rilis tertentu.

Dengan fitur-fitur ini, Helm memudahkan pengelolaan siklus hidup aplikasi di dalam Kubernetes secara efisien dan terstruktur.

 


πŸ’‘ TIP
Untuk informasi lebih lanjut mengenai perintah-perintah Helm, kamu bisa melihat bantuan bawaan Helm dengan perintah helm helphelm help commandUntuk melihat deskripsi dari perintah tertentu beserta flag-flag opsionalnya, jalankan perintah berikut helm {command} –help

1. Untuk memantau status dari sebuah release atau membaca ulang informasi konfigurasinya, Kamu bisa menggunakan perintah berikut:

helm status mywordpress

2. Sering kali, Kamu akan menyesuaikan chart Helm agar sesuai dengan konfigurasi yang Kamu inginkan. Ini bisa dilakukan dengan memberikan nilai-nilai tertentu menggunakan dua cara saat proses instalasi atau upgrade:

  • Menggunakan file YAML terpisah dengan opsi –values atau -f
    Nilai-nilai kustom dimasukkan dalam file YAML yang disediakan secara terpisah.
  • Memberikan nilai langsung dari baris perintah menggunakan –set
    Nilai-nilai kustom ditentukan langsung lewat terminal, misalnya –set a=b,c=d atau –set outer.inner=value.

Kamu juga bisa menggunakan kedua opsi tersebut sekaligus. Jika ada konflik antara nilai yang diberikan, maka :

  • –set memiliki prioritas lebih tinggi dibanding –values
  • Jika –set digunakan lebih dari sekali, maka nilai terakhir (yang paling kanan) yang akan digunakan.

 


πŸ’‘ TIP
Kamu bisa melihat daftar nilai default dari suatu paket Helm dengan perintah berikut ini (utilitas less akan memudahkan kamu untuk menavigasi output yang panjang):

helm show values bitnami/wordpress | less

3. Kamu bisa menggunakan perintah helm upgrade untuk memperbarui release ke versi chart yang lebih baru atau mengubah konfigurasi dari release yang sudah ada. Selama proses ini, Helm akan mencoba melakukan pembaruan seminimal mungkin dengan hanya memperbarui hal-hal yang berubah sejak release terakhir.

 


πŸ’‘ TIP
Jika diperlukan, Kamu bisa menggunakan perintah upgrade dengan flag –reset-values untuk mengatur ulang semua nilai kustom dan menggunakan nilai bawaan dari chart.

 

Karena spesifikasi chart WordPress yang kita gunakan di bagian instalasi, Kamu harus menyertakan password saat melakukan upgrade release. Untuk mempermudah, mari kita simpan nilai password tersebut ke dalam variabel-variabel berikut:

 

export WORDPRESS_PASSWORD=$(kubectl get secret --namespace "default" mywordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)

export MARIADB_ROOT_PASSWORD=$(kubectl get secret --namespace "default" mywordpress-mariadb -o jsonpath="{.data.mariadb-root-password}" | base64 --decode)

export MARIADB_PASSWORD=$(kubectl get secret --namespace "default" mywordpress-mariadb -o jsonpath="{.data.mariadb-password}" | base64 --decode)

Sekarang, Kamu bisa menyertakan password tersebut menggunakan flag –set saat melakukan upgrade Helm. Contohnya seperti ini:

helm upgrade --set wordpressPassword=$WORDPRESS_PASSWORD,mariadb.auth.rootPassword=$MARIADB_ROOT_PASSWORD,mariadb.auth.password=$MARIADB_PASSWORD mywordpress bitnami/wordpress

 

4. Perintah helm get adalah alat yang berguna untuk melihat detail dari sebuah release di dalam cluster.

helm get values mywordpress

 

Seperti yang bisa Lamu lihat, nilai-nilai password kita tetap tersimpan meskipun setelah dilakukan upgrade.

5. Selain itu, melakukan rollback ke release sebelumnya juga sangat mudah jika terjadi kesalahan.

Perintah yang digunakan adalah helm rollback, dan membutuhkan dua parameter:

  • nama release (misalnya mywordpress)
  • nomor revisi yang ingin dikembalikan

Instalasi awal selalu dianggap sebagai revisi ke-1, dan setiap kali dilakukan install, upgrade, atau rollback, angka revisi akan bertambah satu.

 


πŸ’‘ TIP
Kamu bisa menggunakan perintah helm history untuk melihat daftar revisi (revision numbers) dari sebuah release tertentu.

helm history mywordpress

helm rollback mywordpress 1

 

6. Untuk menghapus (uninstall) sebuah release dari klaster Kubernetes, gunakan perintah berikut:

helm uninstall mywordpress

 


πŸ’‘ TIP
Kalau kamu ingin menyimpan catatan release meskipun sudah dihapus, gunakan flag –keep-history saat menjalankan perintah uninstall. Contohnya:Β 

helm uninstall mywordpress --keep-history

Setelah penghapusan, kamu bisa mengecek daftar release yang masih terpasang saat ini dengan perintah: helm list

Itu dia semua dasar-dasar penggunaan Helm package manager di Kubernetes β€” mulai dari pencarian chart, instalasi, pengelolaan konfigurasi, upgrade, rollback, sampai uninstall. Dengan Helm, kamu bisa menyederhanakan dan menstandarkan proses deployment aplikasi di dalam cluster Kubernetes kamu.

What are your Feelings

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on July 30, 2025
YAML Deployments

Powered by BetterDocs

Daftar Isi
  • Kubernetes Cluster : Helm Integration
  • Finding Helm Charts
  • Installing Helm Package
  • Managing Helm Applications
Β© 2022 Jagoan Cloud