【问题标题】:CSINodes problem in Kubernetes Multiple SchedulerKubernetes Multiple Scheduler 中的 CSINodes 问题
【发布时间】:2020-03-18 09:12:13
【问题描述】:

我尝试按照这条指令https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ 创建在 kubernetes 上运行的多个调度程序 新的 kubernetes 调度器状态为 running 但日志会生成此错误,并且使用新调度器状态的 pod 为 pending

E1129 02:43:22.639372       1 reflector.go:156] k8s.io/client-go/informers/factory.go:135: Failed to list *v1.CSINode: the server could not find the requested resource

这是我的 kube-scheduler 集群角色

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  creationTimestamp: "2019-11-28T08:29:43Z"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: system:kube-scheduler
  resourceVersion: "74398"
  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/system%3Akube-scheduler
  uid: 517e8769-911c-4833-a37c-254edf49cbaa
rules:
- apiGroups:
  - ""
  - events.k8s.io
  resources:
  - events
  verbs:
  - create
  - patch
  - update
- apiGroups:
  - ""
  resources:
  - endpoints
  verbs:
  - create
- apiGroups:
  - ""
  resourceNames:
  - kube-scheduler
  - my-scheduler
  resources:
  - endpoints
  verbs:
  - delete
  - get
  - patch
  - update
- apiGroups:
  - ""
  resources:
  - nodes
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - delete
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - bindings
  - pods/binding
  verbs:
  - create
- apiGroups:
  - ""
  resources:
  - pods/status
  verbs:
  - patch
  - update
- apiGroups:
  - ""
  resources:
  - replicationcontrollers
  - services
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - apps
  - extensions
  resources:
  - replicasets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - apps
  resources:
  - statefulsets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - policy
  resources:
  - poddisruptionbudgets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - persistentvolumeclaims
  - persistentvolumes
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - authentication.k8s.io
  resources:
  - tokenreviews
  verbs:
  - create
- apiGroups:
  - authorization.k8s.io
  resources:
  - subjectaccessreviews
  verbs:
  - create
- apiGroups:
  - storage.k8s.io
  resources:
  - csinodes
  verbs:
  - watch
  - list
  - get

对这个问题有什么建议吗?

谢谢

【问题讨论】:

  • 您是否使用kubernetes.io/docs/tasks/administer-cluster/… 中描述的示例中的默认调度程序或其他一些自定义调度程序的副本?
  • 是的,我使用默认调度程序,如示例。我一点都没变
  • 最后我尝试使用16.3之前的旧版本kubernetes,我使用的是15.6,现在可以使用

标签: kubernetes scheduler


【解决方案1】:

最后我尝试使用16.3之前的旧版本kubernetes,我是 使用 15.6 并且现在可以使用 – akhmad alimudin

好的,现在我了解您遇到问题的原因。您可能尝试在较旧的 k8s 集群(其中关键组件是 kube-apiserver)上运行较新的 kube-scheduler 版本,但这是无法完成的。正如您在official kubernetes documentation 中看到的那样:

kube-controller-managerkube-schedulercloud-controller-manager 不得比他们通信的 kube-apiserver 实例更新 和。它们应该与kube-apiserver 次要版本相匹配,但是 最多可能比旧版本低一个(以允许实时升级)。

例子:

kube-apiserver 位于 1.13 kube-controller-managerkube-scheduler1.131.12

支持 cloud-controller-manager

因此您可以使用kube-scheduler,它是比您当前部署的kube-apiserver 旧的一个次要版本,但不会更新。

【讨论】:

    【解决方案2】:

    @mario 是对的,我遇到了同样的问题,我原来的 kubernates 版本是 v1.16.3,我使用的是 v1.17.x 的 k8s 调度程序框架。

    我在另一个使用 v1.17.x 的 k8s 集群上测试了我的新调度程序,它可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      相关资源
      最近更新 更多