Bộ nhớ và CPU có thể phân bổ trong Kubernetes Nodes

868
18-08-2021
Bộ nhớ và CPU có thể phân bổ trong Kubernetes Nodes

Có một sự thật là không phải tất cả CPU và bộ nhớ trong các nút Kubernetes của bạn đều có thể được sử dụng để chạy Pod. Dưới đây, Bizfly Cloud sẽ chia sẻ cho bạn cách bộ nhớ và CPU có thể phân bổ trong Kubernetes Nodes.

Mặc dù các nhóm được triển khai trong cụm Kubernetes tiêu thụ các tài nguyên như bộ nhớ và CPU. Nhưng không phải tất cả tài nguyên trong Node đều có thể được sử dụng để chạy Pod. Hệ điều hành và kubelet cũng yêu cầu bộ nhớ và CPU.

Phân chia các tài nguyên có sẵn:

- Các tài nguyên cần thiết để chạy hệ điều hành và các daemon hệ thống như SSH, systemd, v.v.

- Các tài nguyên cần thiết để chạy các tác nhân Kubernetes như: Kubelet, thời gian chạy vùng chứa, trình phát hiện sự cố nút , v.v.

- Tài nguyên có sẵn cho Pods.

- Các tài nguyên dành riêng cho ngưỡng trục xuất .

Tuy nhiên, việc sử dụng 100MB bộ nhớ cho hệ điều hành không có nghĩa là hệ điều hành bị giới hạn chỉ sử dụng dung lượng đó. Việc sử dụng dung lượng có thể nhiều hoặc ít hơn tài nguyên.

Google Kubernetes Engine (GKE)

Google Kubernetes Engine (GKE) có một danh sách các quy tắc được xác định rõ ràng để gán bộ nhớ và CPU cho một Node .

Đối với tài nguyên bộ nhớ, GKE dự trữ những thông tin sau:

- Bộ nhớ 255 MiB cho máy có bộ nhớ dưới 1 GB

- 25% của 4GB bộ nhớ đầu tiên

- 20% của 4GB bộ nhớ tiếp theo (lên đến 8GB)

- 10% bộ nhớ 8GB tiếp theo (tối đa 16GB)

- 6% của 112GB bộ nhớ tiếp theo (lên đến 128GB)

- 2% của bất kỳ bộ nhớ nào trên 128GB

Bộ nhớ và CPU có thể phân bổ trong Kubernetes Nodes - Ảnh 1.

Đối với tài nguyên CPU, GKE dự trữ những thông tin sau:

- 6% lõi đầu tiên

- 1% lõi tiếp theo (tối đa 2 lõi)

- 0,5% của 2 lõi tiếp theo (tối đa 4 lõi)

- 0,25% bất kỳ lõi nào trên 4 lõi

Dịch vụ Kubernetes đàn hồi (EKS)

Đối với tài nguyên CPU, EKS sao chép việc triển khai và dự trữ GKE :

- 6% lõi đầu tiên

- 1% lõi tiếp theo (tối đa 2 lõi)

- 0,5% của 2 lõi tiếp theo (tối đa 4 lõi)

- 0,25% bất kỳ lõi nào trên 4 lõi

Ví dụ:

Một m5.large phiên bản có 2 vCPU và 8GiB bộ nhớ:

1. Từ phép tính ở trên ta có 574MiB bộ nhớ được dành riêng cho kubelet.

2. Thêm 100M CPU và 100MB bộ nhớ được dành riêng cho Hệ điều hành và 100MB cho ngưỡng loại bỏ.

3. Phân bổ dành riêng cho CPU là 70 millicore giống nhau (giống nhau n1-standard-2 vì cả 2 vCPU và hạn ngạch được tính toán tương tự).

4. Bộ nhớ và CPU có thể phân bổ trong Dịch vụ Kubernetes đàn hồi (EKS)

Bộ nhớ và CPU có thể phân bổ trong Kubernetes Nodes - Ảnh 2.

Trong trường hợp này, bộ nhớ phân bổ cho Pod gần như là 90%.

Dịch vụ Azure Kubernetes

Azure đưa ra lời giải thích chi tiết về việc phân bổ tài nguyên của họ .

Bộ nhớ dành riêng cho Kubelet là:

- Bộ nhớ 255 MiB cho máy có bộ nhớ dưới 1 GB

- 25% của 4GB bộ nhớ đầu tiên

- 20% của 4GB bộ nhớ tiếp theo (lên đến 8GB)

- 10% bộ nhớ 8GB tiếp theo (tối đa 16GB)

- 6% của 112GB bộ nhớ tiếp theo (lên đến 128GB)

- 2% của bất kỳ bộ nhớ nào trên 128GB

Lưu ý: cách phân bổ giống với Google Kubernetes Engine (GKE).

CPU dành riêng cho Kubelet theo bảng sau:

Bộ nhớ và CPU có thể phân bổ trong Kubernetes Nodes - Ảnh 3.

Nhìn chung, CPU và bộ nhớ dành riêng cho AKS khá giống với Google Kubernetes Engine (GKE).

Kết luận

Từ những thông tin ở trên, chúng ta có thể kết luận rằng các phiên bản lớn hơn là cách để tốt nhất khi bạn muốn tối đa hoá bộ nhớ và CPU.

Tuy nhiên, nếu bạn đang chạy các Kubernetes lớn hãy xem xét những tiêu chí sau:

- Chi phí trên các tác nhân Kubernetes chạy trên nút - chẳng hạn như thời gian chạy vùng chứa (ví dụ: Docker), kubelet và cCity.

- Chiến lược tính khả dụng cao (HA). Các nhóm có thể được triển khai cho một số Nút được chọn

- Bán kính nổ. Nếu bạn chỉ có một vài nút, thì tác động của một nút bị lỗi sẽ lớn hơn nếu bạn có nhiều nút.

- Tự động thay đổi quy mô ít hiệu quả hơn về chi phí vì bước tăng tiếp theo là một (rất) lớn Node.

>> Có thể bạn quan tâm: Phần 2 - Cách etcd hoạt động khi có và không có Kubernetes

Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

SHARE