如何为kubernetes应用自定义调度程序(kubeadm)

时间:2017-12-16 03:38:56

标签: kubernetes

当我测试自定义日程安排程序时,我的播客状态仍处于待处理状态。 https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/

我制作了一个新的自定义调度程序和3个测试容器,如k8s样本yaml 但是,使用'default-scheduler'的pod工作得很好,但使用'my-scheduler'的pod不起作用。

我不知道如何解决这个问题。 请帮帮我。

1.Environment:

  1. Kubernetes版本(使用kubectl version):

    客户端版本:version.Info {Major:“1”,Minor:“8”,GitVersion:“v1.8.5”,GitCommit:“cce11c6a185279d037023e02ac5249e14daa22bf”,GitTreeState:“clean”,BuildDate:“2017-12-07T16 :16:03Z“,GoVersion:”go1.8.3“,编译器:”gc“,平台:”linux / amd64“} 服务器版本:version.Info {Major:“1”,Minor:“8”,GitVersion:“v1.8.5”,GitCommit:“cce11c6a185279d037023e02ac5249e14daa22bf”,GitTreeState:“clean”,BuildDate:“2017-12-07T16:05: 18Z“,GoVersion:”go1.8.3“,编译:”gc“,平台:”linux / amd64“}

  2. 云提供商或硬件配置:

  3. 操作系统(例如来自/ etc / os-release):

    NAME =“CentOS Linux” VERSION =“7(核心)” ID = “centos的” ID_LIKE =“rhel fedora” VERSION_ID = “7” PRETTY_NAME =“CentOS Linux 7(核心)” ANSI_COLOR = “0; 31”

  4. 内核(例如uname -a):

    Linux localhost.localdomain 3.10.0-693.el7.x86_64#1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

  5. 2.procedure

    1. kubectl apply -f my-schudler.yaml
    2. enter image description here

      1. 当我使用kubeadm设置ks8s时,授权选项设置为Node,RBAC,所以我修改了这样的clusterrole kubectl edit clusterrole system:kube-scheduler
      2. enter image description here

        1. kubectl apply -f no.yaml

        2. kubectl apply -f default.yaml

        3. kubectl apply -f my-scheduler.yaml enter image description here

1 个答案:

答案 0 :(得分:0)

请分享my-scheduler.yaml的内容。在提交调度程序部署配置之前,您是否已将所有pod配置提交到Kubernetes集群?从你的命令,我可以看到no.yaml首先执行,这可能是导致问题的原因。订单对于计划很重要。

您是否还可以使用关键字“已安排”检查事件和Linux系统日志中的容器问题,您可能会看到问题并可以共享日志文件。 This wiki也可以为您提供有关Kubernetes操作的更多信息。