Cách kết hợp Taint,Tolerations và Node Affinity

Trong bài viết này, hãy cùng mình tìm hiểu về cách kết hợp Taints Tolerations và Node Affinity để phân bổ các Pod trên các Node tương ứng.

Xem thêm:

Kubenetes Deployments là gì ?

Namespace và Cgroups trong K8S

1. Mục tiêu

Phân bổ các Pod trong k8s theo màu sắc của chúng (Blue, Red, Green) trên các Node tương ứng (Blue, Red, Green) trong một môi trường Kubernetes.

  • Đặt Pod màu xanh (Blue) lên Node màu xanh (Blue).
  • Đặt Pod màu đỏ (Red) lên Node màu đỏ (Red).
  • Đặt Pod màu xanh lá (Green) lên Node màu xanh lá (Green).

Cách kết hợp Taint,Tolerations và Node Affinity

2. Giải pháp

Taints và Tolerations:

  • Bước 1: Áp dụng Taints lên các Node, đánh dấu chúng bằng màu sắc tương ứng (Blue, Red, Green).
  • Bước 2: Đặt Tolerations lên các Pod phù hợp với các Taints tương ứng.

Kết quả: Các Pod sẽ được đặt lên các Node tương ứng về màu sắc.

Nhược điểm: Không đảm bảo các Pod sẽ chỉ được ưu tiên đặt trên các Node tương ứng. Ví dụ, Pod Red có thể được đặt lên một Node khác không có Taints hoặc Tolerations.

Node Affinity:

  • Bước 1: Đặt Label cho các Node bằng màu sắc tương ứng (Blue, Red, Green).
  • Bước 2: Đặt Node Selectors lên các Pod để liên kết chúng với các Node.

Kết quả: Các Pod sẽ được đặt lên các Node tương ứng về màu sắc.

Nhược điểm: Không đảm bảo các Node sẽ không bị các Pod khác đặt lên. Ví dụ, một Pod khác có thể được đặt lên Node Blue.

Kết hợp Taints, Tolerations và Node Affinity:

  • Bước 1: Sử dụng Taints và Tolerations để ngăn các Pod khác được đặt lên Node của nhóm.
  • Bước 2: Sử dụng Node Affinity để ngăn các Pod của nhóm được đặt lên Node của các nhóm khác.

Kết quả: Đảm bảo các Pod được đặt lên các Node tương ứng về màu sắc, và không bị các Pod khác đặt lên.

Cảm ơn bạn đã tham khảo kubernetes cơ bản trên ttnguyen.net.

Bài viết liên quan:

ClusterIP, NodePort, Loadbalance – Các loại service K8S

Imperative và Declarative trong K8S

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em