Tìm hiểu về ReplicaSet trong Kubernetes

Khi một Pod trong hệ thống Kubernetes gặp vấn đề gì đó, nó không thể tự khắc phục, điều này sẽ làm cho ứng dụng của chúng ta không ổn định nếu phải gặp bất cứ vấn đề gì với Pod. Để giải quyết vấn đề này, chúng ta cần sử dụng ReplicaSet để đảm bảo rằng số lượng Pod cần thiết cho ứng dụng của chúng ta chạy luôn ở trạng thái ổn định. Có nghĩa là, nếu một Pod gặp vấn đề, ReplicaSet sẽ tạo mới lại Pod đó cho chúng ta. Cụ thể như thế nào? Chúng ta sẽ cùng nhau tìm hiểu trong bài viết này các bạn nhé!

Ví dụ bây giờ, mình cần đảm bảo Kubernetes luôn luôn có 2 Pods để chạy ứng dụng huongdanjava của mình thì mình sẽ định nghĩa tập tin spec của ReplicaSet như sau:

Trong định nghĩa spec trên thì “kind: ReplicaSet” là tên đối tượng Kubernetes mà chúng ta cần tạo với name và các Label được gán cho đối tượng ReplicaSet này được định nghĩa trong phần metadata. Phần chính trong định nghĩa đối tượng ReplicaSet nằm trong phần spec với định nghĩa số lượng Pod mà chúng ta cần, sử dụng Pod với Label như thế nào và thông tin các Pod sẽ được sử dụng nằm trong phần template.

Sau khi đã định nghĩa xong ReplicaSet, các bạn có thể sử dụng command “apply” để submit ReplicaSet này cho Kubernetes như sau:

Kết quả:

Tìm hiểu về ReplicaSet trong Kubernetes

Kiểm tra ReplicaSet có trong Kubernetes:

các bạn sẽ thấy kết quả như sau:

Tìm hiểu về ReplicaSet trong Kubernetes

Kiểm tra thông tin của ReplicaSet:

Kiểm tra số lượng Pod đang có:

các bạn sẽ thấy kết quả như sau:

Như các bạn có thể thấy, 2 Pod được duy trì để đảm bảo định nghĩa của ReplicaSet.

Nếu bây giờ mình xoá Pod 1 trong 2 pod frontend đi:

rồi kiểm tra Pod, các bạn sẽ thấy kết quả một Pod frontend được tạo lại như sau:

Để xoá một ReplicaSet, các bạn có thể sử dụng command sau:

Kết quả của mình như sau:

Add Comment