Blog
Thoughts on engineering, design, and building great products.
Deployment: rollout và rollback
Tới giờ ta toàn tạo Pod trần. Production thì không ai làm vậy — pod được giao cho Deployment quản, và Deployment không quản pod trực tiếp mà qua một lớp giữa: ReplicaSet. Bài này mở Part IV bằng cách đào đúng cơ chế đó: đổi image sinh ra ReplicaSet mới, rolling update nâng cái mới lên hạ cái cũ xuống, ReplicaSet cũ được giữ ở 0 để rollback một lệnh. Test thật từng bước trên cluster, soi cả chuỗi sở hữu Pod → ReplicaSet → Deployment.
Smoke Test: Cả Cluster Chạy Cùng Nhau
Mọi thành phần đã đủ mặt; bài này kiểm tra chúng làm việc cùng nhau. Ta triển khai một ứng dụng thật qua Deployment, lộ ra bằng Service, gọi nó bằng tên và thấy lưu lượng chia đều các bản sao, dùng logs/exec/port-forward, rồi xóa một pod để xem cluster tự chữa lành. Mỗi phép thử soi sáng một mảnh ta đã dựng suốt series.
Deployment và ReplicaSet: Giữ Ứng Dụng Luôn Sống
Deployment là đối tượng bạn dùng nhiều nhất để chạy ứng dụng: nó giữ N bản sao pod luôn sống (qua ReplicaSet), tự dựng lại khi pod chết, scale lên/xuống, và cập nhật phiên bản dần không downtime — kèm rollback. Bài này chứng minh từng tính chất bằng lệnh thật.