gpt4 book ai didi

kubernetes - 如何自定义 kube-scheduler 在 AKS 上的行为?

转载 作者:行者123 更新时间:2023-12-02 02:32:39 28 4
gpt4 key购买 nike

我正尝试在 AKS 集群 (kubernetes v1.19.3) 上自定义 kube-scheduler 的行为,如 Scheduler Configuration 中所述.

我的目标是使用 NodeResourcesMostAllocated 插件,以便使用尽可能少的节点数来安排 pod。

考虑以下文件 - most-allocated-scheduler.yaml

apiVersion: kubescheduler.config.k8s.io/v1beta1
kind: KubeSchedulerConfiguration
profiles:
- schedulerName: default-scheduler
- schedulerName: most-allocated-scheduler
plugins:
score:
disabled:
- name: NodeResourcesLeastAllocated
enabled:
- name: NodeResourcesMostAllocated
weight: 2

根据文档,我可以通过运行如下命令来指定调度配置文件:

kube-scheduler --config most-allocated-scheduler.yaml

但是我到底在哪里可以找到 kube-scheduler为了运行上面的命令?我想在管道上理想地做到这一点。使用AKS时是否可以做这样的事情?

最佳答案

kube-schedulerkubernetes control plane 的一部分.它的组件被安排在主节点上,在管理的 kubernetes 解决方案上,例如 AKSGKEEKS,你无权访问。

这意味着无法在正在运行的 AKS 集群上重新配置您的 kube-scheduler。与 this 比较在 AKS 的 GitHub 页面上回答。

但是,可以在创建新集群时为您的 kube-scheduler 提供自定义配置,使用 cluster definitions ,特别是在 schedulerConfig部分:

schedulerConfig

schedulerConfig declares runtime configuration for thekube-scheduler daemon running on all master nodes. LikekubeletConfig, controllerManagerConfig, and apiServerConfigit is a generic key/value object, and a child property ofkubernetesConfig. An example custom apiserver config:

"kubernetesConfig": {
"schedulerConfig": {
"--v": "2"
}
}

Seeherefor a reference of supported kube-scheduler options.

...

但请记住,并非所有选项都受支持。文档说,例如--kubeconfig 不受支持,但您可以阅读 here ,这个标志无论如何都被弃用了。 --config 标志没有任何内容,因此您可以简单地尝试它是否有效。

您也可以使用 Custom YAML for Kubernetes component manifests 来实现它:

Custom YAML specifications can be configured for kube-scheduler,kube-controller-manager, cloud-controller-manager and kube-apiserverin addition to the addons describedabove.You will need to pass in a base64-encoded string of the kubernetesmanifest YAML file to KubernetesComponentConfig["data"] . Forexample, to pass a custom kube-scheduler config, do the following:

"kubernetesConfig": {
"schedulerConfig": {
"data" : "<base64-encoded string of your k8s manifest YAML>"
}
}

NOTE: Custom YAML for addons is an experimental feature. Since Addons.Data allows you to provide your own scripts, you areresponsible for any undesirable consequences of their errors orfailures. Use at your own risk.

如您所见,即使在托管的 kubernetes 解决方案中,例如 AKSkube-scheduler 也可以在一定程度上进行自定义,但仅限于创建新集群时.

关于kubernetes - 如何自定义 kube-scheduler 在 AKS 上的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64805243/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com