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 settingphpsshdockerdomain

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
  • Cluster Automated Upgrade

Cluster Automated Upgrade

5 min read

Fleksibilitas, percepatan pengembangan dan pengiriman, peningkatan skalabilitas, serta ketersediaan tinggi adalah alasan utama mengapa banyak perusahaan mengadopsi teknologi Kubernetes (K8s). Namun, mengelola dan menjaga sistem agar tetap mutakhir bisa menjadi sangat kompleks bagi organisasi, hingga mereka perlu membentuk departemen terpisah hanya untuk menangani semua itu dengan benar.

Dengan otomatisasi Kubernetes dari Jelastic, Kamu bisa meningkatkan produktivitas DevOps dan lebih fokus pada tujuan bisnismu daripada harus bergulat dengan kompleksitas infrastruktur. Dalam artikel ini, kita akan membahas bagaimana menyederhanakan lifecycle cluster Kubernetes melalui pengiriman pembaruan secara otomatis.

Kubernetes Cluster Versioning #

Sebelum memutuskan untuk melakukan upgrade, Kamu perlu memeriksa versi saat ini dari cluster Kubernetes-mu dengan salah satu cara berikut:

  • Melalui dashboard, terletak di sebelah node master dan worker.

  • Melalui klien WebSSH dengan menjalankan perintah berikut untuk melihat versi Kubernetes:
kubectl version --short 

Lalu, bandingkan versi cluster yang sedang digunakan dengan paket pembaruan otomatis yang tersedia di halaman versi Kubernetes milik Jelastic.

Meskipun versi Kubernetes terbaru dirilis secara rutin, tidak semuanya langsung cocok untuk proses pembaruan otomatis. Ketika suatu versi K8s telah melewati pengujian QA dari Jelastic dan telah digunakan secara luas sehingga terbukti stabil seiring waktu, maka versi tersebut dapat ditambahkan sebagai opsi upgrade.

Dengan menggunakan add-on khusus dari Jelastic (yang dijelaskan di bagian berikutnya), proses upgrade dapat dilakukan secara otomatis ke rilis berikutnya yang sudah mencakup semua patch menengah. Jika versi cluster yang sedang digunakan sudah terlalu lama dibandingkan versi terbaru, maka add-on upgrade perlu dijalankan beberapa kali secara bertahap hingga mencapai versi final. Pendekatan bertahap ini membantu mengurangi risiko ketidakcocokan dan memastikan proses pembaruan berjalan lancar.

 


📝 NOTE

Cluster Kubernetes akan menjadi tidak berfungsi jika kamu mencoba melakukan upgrade secara manual ke versi yang belum diadopsi oleh Jelastic.

Kubernetes Cluster Auto Upgrade Add ON #

Untuk mendapatkan versi terbaru secara otomatis, kamu perlu menggunakan add-on “Cluster Upgrade”.

1. Tekan tombol Add-Ons pada node Master dan klik Start Cluster Upgrade.

2. Konfirmasi proses upgrade untuk melanjutkan.

 


📝 NOTE

Setelah Kamu meng-upgrade Kubernetes ke versi yang lebih baru, Kamu tidak bisa melakukan downgrade. Oleh karena itu, Kamu harus memastikan bahwa aplikasi yang dideploy di cluster tersebut kompatibel dengan versi yang akan Kamu aktifkan. Untuk itu, buatlah cluster development dan uji kompatibilitas versi baru tersebut dengan aplikasi Kamu sebelum melakukan upgrade di lingkungan produksi.

3. Sistem secara otomatis akan memeriksa versi Kubernetes baru yang tersedia di platform dan memulai proses upgrade cluster.

Atau bisa juga memberitahu bahwa cluster-mu sudah menggunakan versi terbaru yang tersedia di platform.

4. Ketika cluster berhasil diperbarui ke versi terbaru, akan muncul pop-up konfirmasi yang menyatakan keberhasilan upgrade.

Zero downtime upgrade hanya memungkinkan untuk instalasi Production, karena secara default mencakup 3 master, 2 API load balancer, dan 2 worker. Konfigurasi ini siap melakukan pembaruan tanpa gangguan kecuali kemungkinan downtime singkat pada ingress controller (jika ikut diperbarui ke versi baru).

Namun, perlu diingat bahwa zero downtime tidak hanya bergantung pada otomatisasi dari Jelastic, tetapi juga pada cara aplikasi dideploy. Misalnya, ada dua node worker, yakni worker1 dan worker2. Developer menjalankan aplikasi dengan satu replika di worker 1. Saat rolling update, semua pod akan dijadwalkan ulang dari worker1 ke worker2. Artinya, aplikasi akan mengalami downtime saat proses upgrade. Sebaliknya, jika aplikasi dijalankan dengan dua replika (masing-masing satu di worker 1 dan worker 2), tidak akan ada downtime saat rolling update dilakukan.

Jadi, seluruh prosedur upgrade ini sepenuhnya otomatis dan akan berjalan seperti ilustrasi yang dijelaskan berikutnya.

 

Kubernetes Cluster Update Process #

Mari kita periksa lebih detail bagaimana proses pembaruan dilakukan di dalam dan komponen apa saja yang terpengaruh. Semua perubahan ini dilakukan secara otomatis oleh platform, jadi Kamu hanya perlu mengikuti prosesnya dan tidak diperlukan campur tangan.

Cluster Kubernetes terdiri dari master dan worker node. Beban kerja yang dijalankan oleh kedua jenis node ini berbeda. Dan komponen yang membentuknya juga berbeda.

Node master sebenarnya adalah bagian dari control plane yang harus di-upgrade terlebih dahulu, baru kemudian giliran node worker. Urutan langkah upgrade dan aksi tambahan yang dilakukan berdasarkan package manifest dijelaskan sebagai berikut:

1. addon-upgrade-init #

  • Validasi tag pada setiap instance
  • Menampilkan notifikasi jika upgrade tidak memungkinkan
  • Menyusun daftar versi yang tersedia
  • Menyusun urutan proses upgrade yang akan dijalankan

2. addon-upgrade-start #

  • Menjalankan skrip upgrade Kubernetes
  • Menampilkan notifikasi bahwa proses upgrade cluster telah dimulai
  • Menjalankan manifest upgrade cluster (upgrade.jps)

3. check-cluster-status #

  • Mengecek status cluster sebelum dilakukan upgrade.
  • Memvalidasi respon API, status komponen penting, dan kesiapan setiap node dalam cluster. Kalau ditemukan masalah, proses upgrade akan dihentikan dan Kamu akan diminta untuk mengecek kembali kondisi cluster.

4. upgrade-configuration #

  • Melakukan konfigurasi ulang pada cluster
  • Komponen khusus dari distribusi Kubernetes Jelastic akan dideteksi dan di-update
  • Komponen yang sudah usang dihapus dan diganti dengan versi terbaru
  • Bagian ini spesifik untuk tiap versi, jadi bisa berbeda-beda tergantung versinya

5. upgrade-masters-cluster (master) #

  • Validasi konfigurasi control plane (k8sm) yang sedang digunakan
  • Instalasi kubeadm untuk versi Kubernetes yang baru, mengubah status master menjadi maintenance, dan membersihkan pod
  • Mengaplikasikan konfigurasi versi baru ke instance saat ini
  • Melakukan upgrade ke versi baru, lalu keluar dari status maintenance

6. upgrade-masters-cluster (slave) #

  • Dilakukan secara berurutan untuk semua instance k8sm lainnya
  • Validasi konfigurasi saat ini
  • Instalasi kubeadm versi baru
  • Masuk ke status maintenance, membersihkan pod
  • Terapkan konfigurasi versi baru, upgrade instance
  • Keluar dari status maintenance

7. upgrade-jps-manifests #

  • Update main manifest sesuai versi yang ditentukan dalam kubernetes assembly
  • Update addon manifest sesuai versi yang ditentukan dalam kubernetes assembly

8. env.control.ApplyNodeGroupData [k8sm, cp] #

  • Menghapus batasan pada proses redeploy untuk instance k8sm dan cp

9. upgrade-masters-redeploy (master) #

  • Menetapkan parameter redeploy untuk k8sm master
  • Melakukan redeploy ke versi baru
  • Menjalankan skrip inisialisasi untuk mengatur instance dengan versi Kubernetes baru
  • Validasi status layanan dan melakukan restart jika diperlukan

10. upgrade-masters-redeploy (slave) #

  • Dilakukan secara berurutan pada setiap instance slave
  • Menentukan parameter redeploy
  • Redeploy ke versi baru
  • Menjalankan skrip inisialisasi untuk menyesuaikan instance ke versi Kubernetes terbaru
  • Validasi dan restart layanan

11. upgrade-masters-post (master) #

  • Konfigurasi lanjutan setelah upgrade selesai pada k8sm master
  • Menyiapkan set integrasi yang akan digunakan pada node worker

12. upgrade-masters-post (slave) #

  • Dilakukan satu per satu pada slave k8sm lainnya
  • Konfigurasi lanjutan setelah upgrade selesai

13. upgrade-workers #

  • Upgrade setiap worker node secara berurutan
  • Mengubah status instance menjadi maintenance
  • Update kubeadm ke versi baru, menetapkan parameter redeploy, dan melakukan redeploy
  • Menjalankan skrip inisialisasi setelah redeploy
  • Konfigurasi lanjutan untuk worker, menerapkan data integrasi
  • Mengembalikan instance dari status maintenance

Selama proses redeploy container, direktori dan file berikut tetap tidak disentuh:

/data
/etc/cni
/etc/kubernetes/etc/machine-id
/etc/sysconfig/iptables
/etc/sysconfig/kubelet
/root
/var/lib/cni
/var/lib/docker
/var/lib/etcd
/var/lib/weave
/var/lib/kubelet
/var/log/containers
/var/log/kubernetes
/var/log/kubeadm-init.log
/var/log/kubeadm-join.log
/var/log/kubeadm-join-error.log
/var/log/pods

 


📝 NOTE

Mulai dari versi paket 1.18.14, pengguna bisa menambahkan file dan direktori kustom ke daftar yang tidak disentuh tersebut dengan mengubah file /etc/jelastic/redeploy.conf di node master

Selain komponen internal Kubernetes, platform juga memperbarui fungsi-fungsi yang disediakan oleh Jelastic, seperti:

  • Aksi-aksi yang men-trigger event tertentu (misalnya: configure-master, connect-workers, scaling, dan lainnya)
  • File konfigurasi (seperti kubernetes-dashboard.yaml, jelastic-values.yaml, dll)
  • Add-on yang sudah terintegrasi

Hasil akhirnya, cluster Kubernetes bisa diupgrade dengan lancar dan minim intervensi manual. Otomatisasi dari Jelastic membuat proses ini jadi lebih sederhana dan membantu menjaga environment cloud Kamu tetap up to date. Yuk cobain di Jagoan Cloud!

What are your Feelings

Share This Article :

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

How can we help?

Updated on August 14, 2025
Public IP for Access to KubernetesGitLab CI/CD Integration

Powered by BetterDocs

Daftar Isi
  • Kubernetes Cluster Versioning
  • Kubernetes Cluster Auto Upgrade Add ON
  • Kubernetes Cluster Update Process
    • 1. addon-upgrade-init
    • 2. addon-upgrade-start
    • 3. check-cluster-status
    • 4. upgrade-configuration
    • 5. upgrade-masters-cluster (master)
    • 6. upgrade-masters-cluster (slave)
    • 7. upgrade-jps-manifests
    • 8. env.control.ApplyNodeGroupData [k8sm, cp]
    • 9. upgrade-masters-redeploy (master)
    • 10. upgrade-masters-redeploy (slave)
    • 11. upgrade-masters-post (master)
    • 12. upgrade-masters-post (slave)
    • 13. upgrade-workers
© 2022 Jagoan Cloud