k8s可使用自定义使用调度器。
内置调度器算法可在预选算法查看,优选算法查看。
优选算法分数范围在0-10分。
常用的优选算法介绍:
least_requested分值计算方式 (cpu((capacity-sum(requested))*10/capacity) + memory((capacity-sum(requested))*10/capacity))/2
其cpu和menmory分值各占一半。
balanced_resource_allocation是选用cpu和内存使用最为接近的节点,基于least_requested分值的计算结果判定。
自定义调度器的构建
下载源码,并构建
git clone https://github.com/kubernetes/kubernetes.git
cd kubernetes
make
Dockerfile内容,k8s版本是1.13.6,和官方文档有些区别,Dockerfile做了些修改
FROM alpine
ADD ./_output/local/bin/linux/amd64/kube-scheduler /usr/local/bin/kube-scheduler
docker image构建
docker build -t gcr.io/custom-gcp-project/custom-kube