Từ Code đến System

Kubernetes

[Kubernetes] Phần 5: Khái niệm Deployment

Tổng quan

Với ReplicateSet, ta chỉ có thể tăng giảm số lượng Pod, nhưng vấn để của RS là không thể thay đổi Pod templates

Ví dụ, ta đang sử dụng ReplicateSet để triển khai 4 pod chạy NodeJS, hiện có yêu cầu thay đổi version NodeJS tới phiên bản mới hơn. Với yêu cầu, ta sẽ phải xóa ReplicateSet cũ và tạo lại ReplicateSet mới. Thao tác này sẽ dẫn đến downtime dịch vụ. Để giải quyết bài toán trên, K8s sử dụng Deployment resource.

Deployment sẽ sử dụng ReplicateSet để quản lý pods, đồng thời nó cũng cho phép cập nhật Pod Template. Ngoài ra, Deployment cũng cung cấp thêm cho người dùng các tính năng như rolling update, roll backs trong bài toán triển khai, cập nhật phiên bản ứng dụng

Nguồn

https://collabnix.github.io/kubelabs/Deployment101/

https://github.com/lacoski/kubernetes-note/blob/main/docs/2.3-deployment-k8s.md

Leave a Reply