Computer >> Máy Tính >  >> Hệ thống >> Linux

Trình lập lịch Kubernetes

Bộ lập lịch Kubernetes là một phần của nền tảng điều phối vùng chứa Kubernetes mã nguồn mở kiểm soát hiệu suất, dung lượng và tính khả dụng thông qua các chính sách và nhận thức về cấu trúc liên kết.

Bộ lập lịch là một thành phần nguyên khối của Kubernetes, được tách ra khỏi máy chủ API quản lý các cụm. Nó không phải là bộ điều khiển nhập học, mà thực sự là mã trình cắm chặn các yêu cầu tới API Kubernetes. Quản trị viên ảo hóa sẽ thấy lập lịch Kubernetes tương đương với việc lưu trữ tương đương với lập lịch VM, như với Bộ lập lịch tài nguyên phân tán của VMware.

Kubernetes triển khai các vùng chứa được tổ chức thành các Nhóm nằm trên các nhóm tài nguyên hợp lý được gọi là Nút. Các yêu cầu cụ thể đối với khối lượng công việc được đặt thông qua một API. Bộ lập lịch Kubernetes cố gắng khớp từng Pod do Kubernetes tạo ra với một tập hợp tài nguyên CNTT phù hợp trên một Node. Nó cũng có thể phân phối bản sao của các Nhóm trên các Nút khác nhau để có tính khả dụng cao, nếu tính năng đó được mong muốn.

Nếu bộ lập lịch Kubernetes không tìm thấy phần cứng phù hợp với yêu cầu và thông số kỹ thuật của Pod, từ các quy tắc về mối quan hệ và chống mối quan hệ cho đến cài đặt chất lượng dịch vụ, Pod đó sẽ không được lên lịch và bộ lập lịch sẽ thử lại nó cho đến khi có máy.


Cấu hình

Bộ lập lịch Kubernetes có thể định cấu hình với hai chính sách khác nhau:PriorityFunction và FitPredicate. Nó cũng có thể chọn một nút ngẫu nhiên, đây là một phương pháp để gán vùng chứa cho các tài nguyên với chi phí tính toán tối thiểu.

Chính sách FitPredicate tuân theo các quy tắc bắt buộc trong khi cố gắng phát hiện các nhãn trên Kubernetes Node hoặc để phát hiện số lượng tài nguyên được yêu cầu bởi các vùng chứa đã chạy trên một máy nhất định. FitPredicate giúp phát hiện xem các vùng chứa có vượt quá khả năng của tài nguyên phần cứng đã cho hay không. Nếu người dùng chọn không tài nguyên, bộ lập lịch luôn có thể thêm một Pod khác vào Node.

Chức năng ưu tiên áp dụng khi bộ lập lịch đã kiểm tra nhiều hệ thống để tìm sự phù hợp nhất. Nếu bộ lập lịch trình tìm thấy một số tùy chọn có thể hỗ trợ Pod, PriorityFunction sẽ chỉ đạo bộ lập lịch xếp hạng các máy dựa trên sự phù hợp nhất. Ví dụ:ba nút phù hợp với nhu cầu của Pod mới, nhưng một nút có nhiều tài nguyên miễn phí hơn các nút khác và do đó, là nút phù hợp nhất.

Trong môi trường Kubernetes, hai chính sách này giúp cân bằng tải khối lượng công việc vùng chứa trên nhiều máy để một máy không hoạt động cường độ cao, trong khi những máy khác không hoạt động.