Kemas Kini Berperingkat dan Pemulihan Versi
Laksanakan kemas kini aplikasi tanpa masa henti dan kembali kepada versi terdahulu jika masalah berlaku.
Kemas Kini Berperingkat dan Pemulihan Versi 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.
Kemas Kini Tanpa Henti: Mengapa?
Bayangkan anda sedang mengemas kini aplikasi yang aktif. Tanpa perancangan yang teliti, pengguna mungkin mengalami masa henti atau ralat. Di sinilah kemas kini berperingkat dalam Kubernetes menyerlah!
Kemas kini berperingkat membolehkan anda mengemas kini aplikasi kepada versi baharu tanpa mengganggu perkhidmatan. Versi baharu dilancarkan secara beransur-ansur supaya aplikasi anda kekal tersedia.
Cara Deployment Mengendalikan Kemas Kini
Apabila anda mengemas kini templat Pod Deployment (contohnya, menukar imej kontena), Kubernetes tidak sekadar mematikan semuanya lalu memulakannya semula. Sebaliknya, Kubernetes menggunakan strategi RollingUpdate secara lalai.
- Ia mencipta Pod baharu dengan konfigurasi yang dikemas kini.
- Ia menamatkan Pod lama secara beransur-ansur selepas Pod baharu bersedia.
- Proses ini memastikan peralihan yang lancar dengan masa henti minimum atau tanpa masa henti.
Mengawal Kelajuan Pelancaran
Anda boleh memperhalus cara kemas kini berperingkat berfungsi menggunakan dua parameter utama dalam bahagian .spec.strategy.rollingUpdate Deployment anda:
maxUnavailable: Bilangan maksimum Pod yang boleh tidak tersedia semasa kemas kini. Nilainya boleh berupa nombor mutlak atau peratusan.maxSurge: Bilangan maksimum Pod yang boleh dicipta melebihi bilangan Pod yang dikehendaki. Nilainya juga boleh berupa nombor mutlak atau peratusan.
Secara lalai, kedua-duanya ditetapkan kepada 25%.
Deployment Awal Kita
Mari kita mulakan dengan Deployment Nginx yang ringkas. YAML ini mentakrifkan aplikasi awal kita yang menjalankan 3 replika nginx:1.14.2.
Kita akan menggunakannya sebagai asas untuk melakukan kemas kini berperingkat dalam langkah seterusnya.
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: 80Melakukan Kemas Kini Berperingkat
Sekarang, mari kita kemas kini versi Nginx daripada 1.14.2 kepada 1.15.0. Kita hanya perlu menukar imej dalam YAML dan menggunakannya.
Kubernetes akan mengesan perubahan itu lalu memulakan kemas kini berperingkat secara automatik. Perhatikan medan image di bawah:
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: 80Memantau Status Pelancaran
Selepas menggunakan YAML yang dikemas kini, anda boleh memantau kemajuan kemas kini berperingkat menggunakan perintah kubectl rollout status:
kubectl rollout status deployment/my-nginx
Anda akan melihat mesej yang menunjukkan Pod baharu sedang dicipta dan Pod lama sedang ditamatkan sehingga kemas kini selesai. Anda juga boleh menggunakan kubectl get rs untuk melihat ReplicaSet lama dan baharu.
Menyemak Sejarah Pelancaran
Kubernetes menyimpan sejarah semakan Deployment anda. Hal ini amat berguna untuk memahami perubahan dan melakukan pengembalian jika perlu.
Untuk melihat sejarah, gunakan perintah:
kubectl rollout history deployment/my-nginx
Anda akan melihat senarai semakan, yang setiap satunya mewakili keadaan Deployment yang berbeza. CHANGE-CAUSE selalunya mencerminkan perintah atau perubahan YAML.
Apabila Pengembalian Diperlukan
Walaupun ujian dilakukan dengan teliti, kadangkala versi aplikasi baharu memperkenalkan pepijat atau masalah prestasi yang tidak dikesan. Dalam situasi kritikal sebegini, anda memerlukan cara pantas untuk kembali kepada keadaan stabil yang diketahui.
Di sinilah pengembalian diperlukan. Pengembalian membolehkan anda membatalkan kemas kini yang bermasalah dan mengembalikan Deployment kepada versi sebelumnya yang berfungsi daripada sejarahnya.
Melaksanakan Pengembalian
Untuk mengembalikan kepada semakan sebelumnya yang terdekat, gunakan:
kubectl rollout undo deployment/my-nginx
Jika anda mahu mengembalikan kepada semakan tertentu (contohnya, semakan 1), anda boleh menentukannya:
kubectl rollout undo deployment/my-nginx --to-revision=1
Kubernetes akan melakukan satu lagi kemas kini berperingkat untuk mengembalikan Pod kepada konfigurasi sejarah yang ditentukan.
Semakan Strategi Pelancaran
Antara parameter berikut, yang manakah boleh digunakan untuk mengawal tingkah laku strategi RollingUpdate Deployment Kubernetes?
Imbas Kembali: Kemas Kini Lancar dan Jaring Keselamatan
Kita telah meneroka cara Deployment Kubernetes membolehkan kemas kini berperingkat tanpa masa henti, dengan beralih kepada versi baharu secara lancar. Anda telah mempelajari perkara berikut:
- Deployment menggunakan
RollingUpdatesecara lalai. maxUnavailabledanmaxSurgemengawal kelajuan kemas kini.kubectl rollout statusmemantau kemajuan.kubectl rollout historymenjejaki semakan.kubectl rollout undomembolehkan pengembalian pantas kepada versi stabil.
Ciri-ciri ini penting untuk mengekalkan ketersediaan tinggi dan kebolehpercayaan dalam aplikasi anda!
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 “Kemas Kini Berperingkat dan Pemulihan Versi” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Kemas Kini Berperingkat dan Pemulihan Versi”, 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 “Kemas Kini Berperingkat dan Pemulihan Versi”?
Laksanakan kemas kini aplikasi tanpa masa henti dan kembali kepada versi terdahulu jika masalah berlaku. 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 “Kemas Kini Berperingkat dan Pemulihan Versi” 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
- Memahami Pelancaran
- Menskalakan Aplikasi dengan ReplicaSets
- Kemas Kini Berperingkat dan Pemulihan Versi
- Strategi Penggunaan: Blue-Green dan Canary