Kubernetes 对象名称 | 类型 | 请求资源 | 所属 Namespace |
crane-scheduler-controller | Deployment | 每个实例 CPU: 200m Memory:200Mi,共计1个实例 | kube-system |
crane-descheduler | Deployment | 每个实例 CPU: 200m Memory:200Mi,共计1个实例 | kube-system |
crane-scheduler | Deployment | 每个实例 CPU: 200m Memory:200Mi,共计3个实例 | kube-system |
crane-scheduler-controller | Service | - | kube-system |
crane-scheduler | Service | - | kube-system |
crane-scheduler | ClusterRole | - | kube-system |
crane-descheduler | ClusterRole | - | kube-system |
crane-scheduler | ClusterRoleBinding | - | kube-system |
crane-descheduler | ClusterRoleBinding | - | kube-system |
crane-scheduler-policy | ConfigMap | - | kube-system |
crane-descheduler-policy | ConfigMap | - | kube-system |
ClusterNodeResourcePolicy | CRD | - | - |
CraneSchedulerConfiguration | CRD | - | - |
NodeResourcePolicy | CRD | - | - |
crane-scheduler-controller-mutating-webhook | MutatingWebhookConfiguration | - | - |
descheduler.alpha.kubernetes.io/evictable: 'true'
功能 | 涉及对象 | 涉及操作权限 |
需要跟踪节点的更新及变化,获取节点利用率。 | nodes | get/watch/list |
跟踪pod的更新及变化,根据集群内pod最近调度情况决定节点调度优先级。 | pods/namespaces | get/watch/list |
需要更新节点利用率到节点资源,实现调度及查询逻辑的解耦。 | nodes/status | patch |
需要支持多副本保障组件可用性 。 | leases | create/get/update |
需要跟踪 configmap 的更新及变化,实现指定 pod 调度到原生节点的功能。 | configmap | get/list/watch |
apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:name: crane-schedulerrules:- apiGroups:- ""resources:- pods- nodes- namespacesverbs:- list- watch- get- apiGroups:- ""resources:- nodes/statusverbs:- patch- apiGroups:- ""resources:- configmapsverbs:- get- list- watch- apiGroups:- extensions- appsresources:- deployments/scaleverbs:- get- update- apiGroups:- coordination.k8s.ioresources:- leasesverbs:- create- get- update- apiGroups:- "scheduling.crane.io"resources:- clusternoderesourcepolicies- noderesourcepolicies- craneschedulerconfigurationsverbs:- get- list- watch- update- create- patch
功能 | 涉及对象 | 涉及操作权限 |
需要跟踪节点的更新及变化,获取节点利用率。 | nodes | get/watch/list |
跟踪 pod 的更新及变化,根据集群内 pod 信息决定优先驱逐的 pod。 | pods | get/watch/list |
驱逐 pod。 | pods/eviction | create |
需要得知 pod 所在的 workload ready 的个数是否占总需求数的一半及以上,来决定是否驱逐 pod。 | replicasets/deployments/statefulsets/statefulsetpluses/job | get |
驱逐 pod 时需要上报事件。 | create | events |
kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: crane-deschedulernamespace: kube-systemrules:- apiGroups: [""]resources: ["nodes"]verbs: ["get", "watch", "list"]- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]- apiGroups: [""]resources: ["nodes/status"]verbs: ["patch"]- apiGroups: [""]resources: ["pods/eviction"]verbs: ["create"]- apiGroups: ["*"]resources: ["replicasets"]verbs: ["get"]- apiGroups: ["*"]resources: ["deployments"]verbs: ["get"]- apiGroups: ["apps"]resources: ["statefulsets"]verbs: ["get"]- apiGroups: ["platform.stke"]resources: ["statefulsetpluses"]verbs: ["get"]- apiGroups: [""]resources: ["events"]verbs: ["create"]- apiGroups: ["*"]resources: ["jobs"]verbs: ["get"]- apiGroups: [ "coordination.k8s.io" ]resources: [ "leases" ]verbs: [ "get", "create", "update" ]
本页内容是否解决了您的问题?