Pelancaran Bergilir di Belakang Pengimbang Beban
Keluarkan versi tanpa masa henti dalam urutan.
Pelancaran Bergilir di Belakang Pengimbang Beban ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Masa Henti Sifar ialah Janjinya
Kemas kini semua nod web tanpa menggugurkan satu pun permintaan. Caranya ialah pelancaran bergilir: ubah beberapa hos pada satu masa. 🔄
serial Mengawal Kelompok
Tambahkan serial pada play anda supaya Ansible memproses hos dalam gelombang kecil dan bukannya kesemuanya serentak.
- hosts: web
serial: 1
tasks:
- import_role:
name: webappPeratusan Juga Boleh Digunakan
serial menerima peratusan atau senarai saiz, jadi anda boleh meningkat secara beransur-ansur: canary dahulu, kemudian kelompok yang lebih besar.
serial:
- 1
- 25%
- 50%Kosongkan sebelum Menyentuhnya
Sebelum mengemas kini nod, keluarkannya daripada giliran. Gunakan delegate_to untuk memberitahu pengimbang beban supaya berhenti menghantar trafik kepadanya.
- name: Drain node
community.general.haproxy:
state: disabled
host: "{{ inventory_hostname }}"
delegate_to: lb1Mengapa delegate_to kepada LB
Hos web tidak boleh melumpuhkan dirinya sendiri dalam pengimbang; pengimbang beban yang mesti melakukannya. delegate_to menjalankan tugas itu pada lb1 bagi setiap hos web.
Laksanakan Versi Baharu
Dengan nod yang telah dikosongkan, laksanakan kod, jana konfigurasi dan biarkan pengendali memuat semula perkhidmatan aplikasi untuk hos itu sahaja.
- name: Pull release
ansible.builtin.git:
repo: "{{ app_repo }}"
version: "{{ app_version }}"
dest: /srv/app
notify: Reload appPemeriksaan Kesihatan sebelum Mendayakan Semula
Sahkan nod sihat dengan uri sebelum menghantar pengguna kembali. Jangan sekali-kali menambah semula hos yang rosak ke dalam kumpulan.
- name: Wait for health
ansible.builtin.uri:
url: http://localhost:8080/health
status_code: 200
retries: 5
delay: 3Dayakan Semula dalam Pengimbang
Setelah sihat, masukkan nod kembali ke dalam giliran, sekali lagi melalui delegate_to kepada pengimbang beban. Trafik kini mengalir ke versi baharu.
- name: Enable node
community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
delegate_to: lb1max_fail_percentage Melindungi Anda
Tetapkan max_fail_percentage supaya pelancaran dihentikan jika terlalu banyak hos gagal, lalu menghalang keluaran yang buruk daripada tersebar lebih jauh.
- hosts: web
serial: 1
max_fail_percentage: 20run_once untuk Langkah Dikongsi
Sesetengah langkah, seperti migrasi db sekali sahaja, perlu dijalankan satu kali. Gunakan run_once supaya hanya satu hos melaksanakannya.
- name: Migrate db
ansible.builtin.command: /srv/app/migrate
run_once: trueKeseluruhan Gelung
Bagi setiap hos: kosongkan, laksanakan, lakukan pemeriksaan kesihatan, kemudian dayakan semula. serial mengulangi gelung itu dalam gelombang yang selamat sehingga seluruh armada dikemas kini. ✅
Semakan Pantas
Satu kata kunci menjadikan langkah LB ini berfungsi.
Imbas Kembali
Anda telah membina pelancaran bergilir: kelompok serial, pengosongan dan pendayaan semula melalui delegate_to, pemeriksaan kesihatan serta perlindungan kegagalan. Masa henti sifar. 🟢
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Pelancaran Bergilir di Belakang Pengimbang Beban” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Pelancaran Bergilir di Belakang Pengimbang Beban”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pelancaran Bergilir di Belakang Pengimbang Beban”?
Keluarkan versi tanpa masa henti dalam urutan. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Pelancaran Bergilir di Belakang Pengimbang Beban” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Bina Seni Bina Projek: Role & Inventori
- Sediakan, Keraskan & Mulakan Hos
- Pelancaran Bergilir di Belakang Pengimbang Beban
- Ujian Asap, Undur Balik & Pemberitahuan