Triển Khai Kubernetes: Khôi Phục & Khởi Động Cuộn
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách:
- Khôi phục một Deployment về phiên bản trước
- Khôi phục về một phiên bản cụ thể
- Thực hiện khởi động cuộn của ứng dụng
Cuối cùng, bạn sẽ hiểu cách Kubernetes đảm bảo khôi phục an toàn và khởi động liền mạch mà không có thời gian chết.
📌 Bước 00: Giới thiệu
Kubernetes cung cấp hai chiến lược khôi phục chính:
- Khôi phục về Phiên bản Trước → Quay trở lại trạng thái đã biết tốt nhất gần nhất.
- Khôi phục về Phiên bản Cụ thể → Quay lại bất kỳ phiên bản trước nào được theo dõi trong lịch sử triển khai.
Ngoài ra, Khởi Động Cuộn cho phép bạn khởi động lại các Pod một cách có kiểm soát, không có thời gian chết.
🔹 Bước 01: Khôi phục Deployment về Phiên bản Trước
1️⃣ Kiểm tra Lịch sử Triển khai
bash
kubectl rollout history deployment/my-first-deployment
2️⃣ Xem Xét Mỗi Phiên bản
Kiểm tra các chú thích và hình ảnh được sử dụng trong các phiên bản trước.
bash
kubectl rollout history deployment/my-first-deployment --revision=1
kubectl rollout history deployment/my-first-deployment --revision=2
kubectl rollout history deployment/my-first-deployment --revision=3
3️⃣ Khôi phục về Phiên bản Trước
Điều này sẽ khôi phục về phiên bản làm việc cuối cùng.
bash
kubectl rollout undo deployment/my-first-deployment
Xác minh lại lịch sử:
bash
kubectl rollout history deployment/my-first-deployment
📌 Ghi chú: Việc khôi phục tạo ra một phiên bản mới (ví dụ: khôi phục từ v3 → v2 trở thành phiên bản 4).
4️⃣ Xác minh Deployment, Pods và ReplicaSets
bash
kubectl get deploy
kubectl get rs
kubectl get po
kubectl describe deploy my-first-deployment
5️⃣ Truy cập Ứng dụng qua IP Công cộng
bash
kubectl get svc
http://<External-IP>
✅ Bạn sẽ thấy Phiên bản Ứng dụng: V2.
🔹 Bước 02: Khôi phục Deployment về Phiên bản Cụ thể
1️⃣ Kiểm tra Lịch sử Triển khai
bash
kubectl rollout history deployment/my-first-deployment
2️⃣ Khôi phục về Phiên bản Cụ thể (Ví dụ: Phiên bản 3)
bash
kubectl rollout undo deployment/my-first-deployment --to-revision=3
3️⃣ Xác minh Lịch sử
bash
kubectl rollout history deployment/my-first-deployment
📌 Ghi chú: Khôi phục về phiên bản 3 tạo ra một mục phiên bản 5 mới trong lịch sử triển khai.
4️⃣ Truy cập Ứng dụng qua IP Công cộng
bash
kubectl get svc
http://<External-IP>
✅ Bạn sẽ thấy Phiên bản Ứng dụng: V3.
🔹 Bước 03: Khởi Động Cuộn của Ứng dụng
Đôi khi bạn chỉ cần khởi động lại tất cả các Pods mà không cần thay đổi hình ảnh. Khởi động cuộn thay thế Pods từng cái một, tránh thời gian chết.
bash
# Khởi Động Cuộn
kubectl rollout restart deployment/my-first-deployment
# Xác minh các Pods đang được tái tạo
kubectl get po
📌 Ghi chú: Các Pods cũ sẽ dừng lại một cách bình thường, và các Pods mới sẽ được khởi động lên từng cái một.
✅ Tóm tắt
Trong hướng dẫn này, chúng ta đã đề cập đến:
- Khôi phục về phiên bản trước → Khôi phục nhanh chóng từ các lỗi
- Khôi phục về phiên bản cụ thể → Kiểm soát chi tiết với lịch sử phiên bản
- Khởi động cuộn → Làm mới tất cả Pods một cách an toàn mà không có thời gian chết
🎯 Với Kubernetes trên GCP, bạn sẽ có khả năng khôi phục nhanh chóng, sự hồi phục tích hợp và khởi động liền mạch.
🌟 Cảm ơn bạn đã đọc! Nếu bài viết này mang lại giá trị, hãy thích ❤️, theo dõi hoặc chia sẻ để khuyến khích tôi tiếp tục tạo ra nhiều nội dung hơn.
— Latchu | Kỹ Sư DevOps & Đám Mây Cấp Cao
☁️ AWS | GCP | ☸️ Kubernetes | 🔐 An Ninh | ⚡ Tự Động Hóa
📌 Chia sẻ hướng dẫn thực hành, các phương pháp tốt nhất & giải pháp đám mây thực tế.