Deployment Bergulir di Belakang Load Balancer
Rilis tanpa waktu henti secara serial.
Deployment Bergulir di Belakang Load Balancer adalah pelajaran DevOps Bootcamp 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Tanpa Waktu Henti Adalah Janjinya
Perbarui semua node web tanpa menggagalkan satu pun permintaan. Triknya adalah penerapan bergulir: ubah beberapa mesin setiap kali. 🔄
serial Mengontrol Kelompok
Tambahkan serial ke play agar Ansible memproses mesin dalam gelombang kecil, bukan semuanya sekaligus.
- hosts: web
serial: 1
tasks:
- import_role:
name: webappPersentase Juga Dapat Digunakan
serial menerima persentase atau daftar ukuran, sehingga Anda dapat meningkatkan tahapannya: canary terlebih dahulu, lalu kelompok yang lebih besar.
serial:
- 1
- 25%
- 50%Keluarkan dari Rotasi Sebelum Memperbarui
Sebelum memperbarui sebuah node, keluarkan node tersebut dari rotasi. Gunakan delegate_to untuk memberi tahu penyeimbang beban agar berhenti mengirimkan trafik kepadanya.
- name: Drain node
community.general.haproxy:
state: disabled
host: "{{ inventory_hostname }}"
delegate_to: lb1Mengapa delegate_to ke LB
Host web tidak dapat menonaktifkan dirinya sendiri di penyeimbang; penyeimbang bebanlah yang harus melakukannya. delegate_to menjalankan tugas tersebut pada lb1 untuk setiap host web.
Terapkan Versi Baru
Setelah node dikosongkan, terapkan kode, hasilkan konfigurasi, dan biarkan handler memuat ulang layanan aplikasi hanya untuk host tersebut.
- name: Pull release
ansible.builtin.git:
repo: "{{ app_repo }}"
version: "{{ app_version }}"
dest: /srv/app
notify: Reload appPemeriksaan Kesehatan Sebelum Mengaktifkan Kembali
Pastikan node sehat dengan uri sebelum mengirim pengguna kembali. Jangan pernah menambahkan host yang rusak ke kumpulan.
- name: Wait for health
ansible.builtin.uri:
url: http://localhost:8080/health
status_code: 200
retries: 5
delay: 3Aktifkan Kembali di Penyeimbang
Setelah sehat, masukkan node kembali ke rotasi, sekali lagi melalui delegate_to ke penyeimbang beban. Trafik akan mengarah ke versi baru.
- name: Enable node
community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
delegate_to: lb1max_fail_percentage Melindungi Anda
Atur max_fail_percentage agar peluncuran berhenti jika terlalu banyak mesin gagal, sehingga rilis yang buruk tidak menyebar lebih jauh.
- hosts: web
serial: 1
max_fail_percentage: 20run_once untuk Langkah Bersama
Beberapa langkah, seperti migrasi basis data satu kali, harus dijalankan satu kali saja. Gunakan run_once agar hanya satu mesin yang mengeksekusinya.
- name: Migrate db
ansible.builtin.command: /srv/app/migrate
run_once: trueSeluruh Siklus
Per mesin: keluarkan dari rotasi, terapkan, periksa kesehatan, lalu aktifkan kembali. serial mengulangi siklus tersebut dalam gelombang yang aman hingga seluruh kumpulan mesin diperbarui. ✅
Pemeriksaan Singkat
Satu kata kunci membuat langkah LB berfungsi.
Rangkuman
Anda telah membuat penerapan bergulir: kelompok yang diatur oleh serial, pengosongan dan pengaktifan kembali melalui delegate_to, pemeriksaan kesehatan, serta perlindungan terhadap kegagalan. Tanpa waktu henti. 🟢
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Deployment Bergulir di Belakang Load Balancer” gratis?
Ya — teks lengkap “Deployment Bergulir di Belakang Load Balancer” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Deployment Bergulir di Belakang Load Balancer”?
Rilis tanpa waktu henti secara serial. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 “Deployment Bergulir di Belakang Load Balancer” 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 DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp 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
- Merancang Proyek: Role & Inventory
- Menyediakan, Memperkuat & Melakukan Bootstrap Host
- Deployment Bergulir di Belakang Load Balancer
- Pengujian Awal, Rollback & Notifikasi