Kem Intensif DevOps · Pelajaran

Pelancaran Bergilir di Belakang Pengimbang Beban

Keluarkan versi tanpa masa henti dalam urutan.

Pelajaran 3 daripada 413 langkah

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: webapp

Peratusan 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: lb1

Mengapa 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 app

Pemeriksaan 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: 3

Dayakan 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: lb1

max_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: 20

run_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: true

Keseluruhan 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. 🟢

Percuma untuk bermula

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

  1. Bina Seni Bina Projek: Role & Inventori
  2. Sediakan, Keraskan & Mulakan Hos
  3. Pelancaran Bergilir di Belakang Pengimbang Beban
  4. Ujian Asap, Undur Balik & Pemberitahuan
← Kembali ke Kem Intensif DevOps