0Pricing
Kubernetes Basics · Pelajaran

Pembaruan Bergulir dan Pengembalian Versi

Terapkan pembaruan aplikasi tanpa waktu henti dan kembalikan ke versi sebelumnya jika terjadi masalah.

Pembaruan Bergulir dan Pengembalian Versi adalah pelajaran Kubernetes Basics gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kubernetes Basics, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Pembaruan Tanpa Waktu Henti: Mengapa?

Bayangkan Anda sedang memperbarui aplikasi yang aktif digunakan. Tanpa perencanaan yang matang, pengguna mungkin mengalami waktu henti atau kesalahan. Di sinilah pembaruan bergulir Kubernetes sangat bermanfaat!

Pembaruan bergulir memungkinkan Anda memperbarui aplikasi ke versi baru tanpa mengganggu layanan. Versi baru diluncurkan secara bertahap agar aplikasi Anda tetap tersedia.

Cara Deployment Menangani Pembaruan

Saat Anda memperbarui templat Pod milik Deployment (misalnya, mengganti citra kontainer), Kubernetes tidak langsung mematikan semuanya lalu memulai ulang. Sebagai gantinya, Kubernetes menggunakan strategi RollingUpdate secara default.

  • Kubernetes membuat Pod baru dengan konfigurasi yang diperbarui.
  • Kubernetes secara bertahap menghentikan Pod lama setelah Pod baru siap.
  • Proses ini memastikan transisi yang lancar dengan waktu henti minimal atau tanpa waktu henti.

Mengatur Kecepatan Peluncuran

Anda dapat menyesuaikan perilaku pembaruan bergulir menggunakan dua parameter penting di bagian .spec.strategy.rollingUpdate pada Deployment:

  • maxUnavailable: Jumlah maksimum Pod yang boleh tidak tersedia selama pembaruan. Nilainya dapat berupa angka mutlak atau persentase.
  • maxSurge: Jumlah maksimum Pod yang dapat dibuat melebihi jumlah Pod yang diinginkan. Nilainya juga dapat berupa angka mutlak atau persentase.

Secara default, keduanya ditetapkan sebesar 25%.

Deployment Awal Kita

Mari mulai dengan deployment Nginx sederhana. YAML ini mendefinisikan aplikasi awal kita yang menjalankan 3 replika nginx:1.14.2.

Kita akan menggunakannya sebagai dasar untuk melakukan pembaruan bergulir pada langkah berikutnya.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Melakukan Pembaruan Bergulir

Sekarang, mari perbarui versi Nginx dari 1.14.2 menjadi 1.15.0. Kita cukup mengubah citra dalam YAML lalu menerapkannya.

Kubernetes akan mendeteksi perubahan tersebut dan memulai pembaruan bergulir secara otomatis. Amati bidang image di bawah ini:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.15.0
        ports:
        - containerPort: 80

Memantau Status Peluncuran

Setelah menerapkan YAML yang diperbarui, Anda dapat memantau kemajuan pembaruan bergulir menggunakan perintah kubectl rollout status:

kubectl rollout status deployment/my-nginx

Anda akan melihat pesan yang menunjukkan pembuatan Pod baru dan penghentian Pod lama hingga pembaruan selesai. Anda juga dapat menggunakan kubectl get rs untuk melihat ReplicaSet lama dan baru.

Memeriksa Riwayat Peluncuran

Kubernetes menyimpan riwayat revisi Deployment Anda. Hal ini sangat berguna untuk memahami perubahan dan melakukan pengembalian jika diperlukan.

Untuk melihat riwayat tersebut, gunakan perintah:

kubectl rollout history deployment/my-nginx

Anda akan melihat daftar revisi, yang masing-masing mewakili keadaan Deployment yang berbeda. CHANGE-CAUSE sering kali mencerminkan perubahan perintah atau YAML.

Kapan Pengembalian Diperlukan

Bahkan dengan pengujian yang cermat, terkadang versi aplikasi baru memperkenalkan kesalahan atau masalah kinerja yang tidak terdeteksi. Dalam situasi kritis seperti ini, Anda memerlukan cara cepat untuk kembali ke keadaan stabil yang telah diketahui.

Di sinilah pengembalian diperlukan. Pengembalian memungkinkan Anda membatalkan pembaruan yang bermasalah dan mengembalikan Deployment ke versi sebelumnya yang berfungsi dari riwayatnya.

Melakukan Pengembalian

Untuk kembali ke revisi yang tepat sebelumnya, gunakan:

kubectl rollout undo deployment/my-nginx

Jika ingin kembali ke revisi tertentu (misalnya, revisi 1), Anda dapat menentukannya:

kubectl rollout undo deployment/my-nginx --to-revision=1

Kubernetes akan melakukan pembaruan bergulir lainnya untuk mengembalikan Pod ke konfigurasi historis yang ditentukan.

Pemeriksaan Strategi Peluncuran

Manakah dari parameter berikut yang dapat digunakan untuk mengatur perilaku strategi RollingUpdate milik Deployment Kubernetes?

Ringkasan: Pembaruan Lancar & Jaring Pengaman

Kita telah mempelajari cara Deployment Kubernetes memungkinkan pembaruan bergulir tanpa waktu henti, sehingga aplikasi Anda beralih ke versi baru secara lancar. Anda telah mempelajari:

  • Deployment menggunakan RollingUpdate secara default.
  • maxUnavailable dan maxSurge mengatur kecepatan pembaruan.
  • kubectl rollout status memantau kemajuan.
  • kubectl rollout history melacak revisi.
  • kubectl rollout undo memungkinkan pengembalian cepat ke versi yang stabil.

Fitur-fitur ini sangat penting untuk mempertahankan ketersediaan tinggi dan keandalan aplikasi Anda!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pembaruan Bergulir dan Pengembalian Versi” gratis?

Ya — teks lengkap “Pembaruan Bergulir dan Pengembalian Versi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kubernetes Basics, upgrade ke CoddyKit PRO. Kursus Kubernetes Basics mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pembaruan Bergulir dan Pengembalian Versi”?

Terapkan pembaruan aplikasi tanpa waktu henti dan kembalikan ke versi sebelumnya jika terjadi masalah. Kamu berlatih Kubernetes Basics dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Kubernetes Basics?

Tidak diperlukan pengalaman sebelumnya. Kubernetes Basics di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pembaruan Bergulir dan Pengembalian Versi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Kubernetes Basics ini?

Ya. Setiap pelajaran Kubernetes Basics menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memahami Deployment
  2. Menskalakan Aplikasi dengan ReplicaSets
  3. Pembaruan Bergulir dan Pengembalian Versi
  4. Strategi Deployment: Blue-Green dan Canary
← Kembali ke Kubernetes Basics