4.10. 二级调度程序
4.10.1. 二级调度程序概述 复制链接链接已复制到粘贴板!
您可以安装 Secondary Scheduler Operator 来运行自定义二级调度程序,以及调度 pod 的默认调度程序。
4.10.1.1. 关于 Secondary Scheduler Operator 复制链接链接已复制到粘贴板!
Red Hat OpenShift 的 Secondary Scheduler Operator 提供了在 OpenShift Container Platform 中部署自定义二级调度程序的方法。二级调度程序与默认调度程序一起运行,以调度 pod。Pod 配置可指定要使用的调度程序。
						自定义调度程序必须具有 /bin/kube-scheduler 二进制文件,并基于 Kubernetes 调度框架。
					
您可以使用 Secondary Scheduler Operator 在 OpenShift Container Platform 中部署自定义二级调度程序,但红帽不直接支持自定义二级调度程序的功能。
						Secondary Scheduler Operator 创建二级调度程序所需的默认角色和角色绑定。您可以通过为从属调度程序配置 KubeSchedulerConfiguration 资源,来指定哪些调度插件来启用或禁用。
					
Red Hat OpenShift 的 Secondary Scheduler Operator 允许您在 OpenShift Container Platform 集群中部署自定义二级调度程序。
本发行注记介绍了针对 Red Hat OpenShift 的 Secondary Scheduler Operator 的开发。
如需更多信息,请参阅关于 Secondary Scheduler Operator。
发布日期: 2025 年 7 月 9 日
以下公告可用于 Red Hat OpenShift 1.4.1 的 Secondary Scheduler Operator:
4.10.2.1.1. 新功能及功能增强 复制链接链接已复制到粘贴板!
- 此 Secondary Scheduler Operator 发行版本将 Kubernetes 版本更新至 1.32。
 
4.10.2.1.2. 程序错误修复 复制链接链接已复制到粘贴板!
- 此 Secondary Scheduler Operator 发行版本解决了几个常见漏洞和暴露 (CVE)。
 - 在以前的版本中,如果需要创建临时文件,则无法部署一些二级调度程序插件。这是因为之前版本中引入的更受限制的权限。在这个版本中,通过 Operator 部署的二级调度程序可以再次创建临时文件,现在可以成功部署这些二级调度程序插件。(OCPBUGS-58154)
 
4.10.2.1.3. 已知问题 复制链接链接已复制到粘贴板!
- 目前,您无法通过 Secondary Scheduler Operator 部署其他资源,如配置映射、CRD 或 RBAC 策略。自定义二级调度程序所需的角色和角色绑定以外的任何资源都必须外部应用。(WRKLDS-645)
 
发布日期: 2025 年 5 月 6 日
以下公告可用于 Red Hat OpenShift 1.4.0 的 Secondary Scheduler Operator:
4.10.2.2.1. 新功能及功能增强 复制链接链接已复制到粘贴板!
- 此 Secondary Scheduler Operator 发行版本将 Kubernetes 版本更新至 1.31。
 
4.10.2.2.2. 程序错误修复 复制链接链接已复制到粘贴板!
- 此 Secondary Scheduler Operator 发行版本解决了几个常见漏洞和暴露 (CVE)。
 
4.10.2.2.3. 已知问题 复制链接链接已复制到粘贴板!
- 目前,您无法通过 Secondary Scheduler Operator 部署其他资源,如配置映射、CRD 或 RBAC 策略。自定义二级调度程序所需的角色和角色绑定以外的任何资源都必须外部应用。(WRKLDS-645)
 
4.10.3. 使用二级调度程序调度 pod 复制链接链接已复制到粘贴板!
您可以通过安装 Secondary Scheduler Operator、部署二级调度程序,并在 pod 定义中设置二级调度程序,在 OpenShift Container Platform 中运行自定义次要调度程序。
4.10.3.1. 安装 Secondary Scheduler Operator 复制链接链接已复制到粘贴板!
您可以使用 Web 控制台为 Red Hat OpenShift 安装 Secondary Scheduler Operator。
先决条件
- 
								以具有 
cluster-admin角色的用户身份登录到 OpenShift Container Platform。 - 访问 OpenShift Container Platform web 控制台。
 
流程
- 登陆到 OpenShift Container Platform Web 控制台。
 为 Red Hat OpenShift 创建 Secondary Scheduler Operator 所需的命名空间。
- 
										进行 Administration 
Namespaces,点 Create Namespace。  - 
										在 Name 字段中输入 
openshift-secondary-scheduler-operator,再点 Create。 
- 
										进行 Administration 
 为 Red Hat OpenShift 安装 Secondary Scheduler Operator。
- 
										导航至 Operators 
OperatorHub。  - 在过滤器框中输入 Secondary Scheduler Operator for Red Hat OpenShift。
 - 选择 Secondary Scheduler Operator for Red Hat OpenShift 并点 Install。
 在 Install Operator 页面中:
- Update channel 设置为 stable,它将为 Red Hat OpenShift 安装 Secondary Scheduler Operator 的最新稳定版本。
 - 选择 A specific namespace on the cluster,并从下拉菜单中选择 openshift-secondary-scheduler-operator。
 选择一个 更新批准策略。
- Automatic 策略允许 Operator Lifecycle Manager(OLM)在有新版本可用时自动更新 Operator。
 - Manual 策略需要拥有适当凭证的用户批准 Operator 更新。
 
- 点 Install。
 
- 
										导航至 Operators 
 
验证
- 
								导航到 Operators 
Installed Operators。  - 验证 Secondary Scheduler Operator for Red Hat OpenShift 已列出,Status 为 Succeeded。
 
4.10.3.2. 部署二级调度程序 复制链接链接已复制到粘贴板!
安装 Secondary Scheduler Operator 后,您可以部署二级调度程序。
先决条件
- 
								以具有 
cluster-admin角色的用户身份登录到 OpenShift Container Platform。 - 访问 OpenShift Container Platform web 控制台。
 - 安装了 Secondary Scheduler Operator for Red Hat OpenShift。
 
流程
- 登陆到 OpenShift Container Platform Web 控制台。
 创建配置映射来保存二级调度程序的配置。
- 
										进入 Workloads 
ConfigMaps。  - 点 Create ConfigMap。
 在 YAML 编辑器中,输入包含必要
KubeSchedulerConfiguration配置的配置映射定义。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - 配置映射的名称。这将在创建
SecondarySchedulerCR 时,在 Scheduler Config 字段中使用。 - 2
 - 配置映射必须在
openshift-secondary-scheduler-operator命名空间中创建。 - 3
 - 二级调度程序的
KubeSchedulerConfiguration资源。如需更多信息,请参阅 Kubernetes API 文档中的KubeSchedulerConfiguration。 - 4
 - 二级调度程序的名称。将其
spec.schedulerName字段设置为此值的 Pod 会使用这个二级调度程序来调度。 - 5
 - 为二级调度程序启用或禁用插件。如需列出默认调度插件,请参阅 Kubernetes 文档中的 调度插件。
 
- 点 Create。
 
- 
										进入 Workloads 
 创建
SecondarySchedulerCR:- 
										导航到 Operators 
Installed Operators。  - 选择 Secondary Scheduler Operator for Red Hat OpenShift。
 - 选择 Secondary Scheduler 选项卡,然后点 Create SecondaryScheduler。
 - 
										Name 字段默认为 
cluster; 不要更改此名称。 - 
										Scheduler Config 字段默认为 
secondary-scheduler-config。确保这个值与此流程中创建的配置映射的名称匹配。 在 Scheduler Image 字段中,输入自定义调度程序的镜像名称。
重要红帽不直接支持自定义二级调度程序的功能。
- 点 Create。
 
- 
										导航到 Operators 
 
4.10.3.3. 使用二级调度程序调度 pod 复制链接链接已复制到粘贴板!
						要使用二级调度程序调度 pod,请在 pod 定义中设置 schedulerName 字段。
					
先决条件
- 
								以具有 
cluster-admin角色的用户身份登录到 OpenShift Container Platform。 - 访问 OpenShift Container Platform web 控制台。
 - 安装了 Secondary Scheduler Operator for Red Hat OpenShift。
 - 配置了二级调度程序。
 
流程
- 登陆到 OpenShift Container Platform Web 控制台。
 - 
								导航到 Workloads 
Pods。  - 点 Create Pod。
 在 YAML 编辑器中,输入所需的 pod 配置并添加
schedulerName字段:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - 在配置二级调度程序时,
schedulerName字段必须与配置映射中定义的名称匹配。 
- 点 Create。
 
验证
- 登录到 OpenShift CLI。
 使用以下命令描述 pod:
oc describe pod nginx -n default
$ oc describe pod nginx -n defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								在事件表中,找到带有与 
Successfully assigned <namespace>/<pod_name> to <node_name>类似消息的事件。 在 "From" 列中,验证事件是从二级调度程序生成的,而不是默认调度程序。
注意您还可以检查
openshift-secondary-scheduler-namespace中的secondary-scheduler-*pod 日志,以验证 pod 是否已由二级调度程序调度。
4.10.4. 卸载 Secondary Scheduler Operator 复制链接链接已复制到粘贴板!
您可以通过卸载 Operator 并删除其相关资源,从 OpenShift Container Platform 中删除 Red Hat OpenShift 的 Secondary Scheduler Operator。
4.10.4.1. 卸载 Secondary Scheduler Operator 复制链接链接已复制到粘贴板!
您可以使用 Web 控制台为 Red Hat OpenShift 卸载 Secondary Scheduler Operator。
先决条件
- 
								以具有 
cluster-admin角色的用户身份登录到 OpenShift Container Platform。 - 访问 OpenShift Container Platform web 控制台。
 - 安装了 Secondary Scheduler Operator for Red Hat OpenShift。
 
流程
- 登陆到 OpenShift Container Platform Web 控制台。
 为 Red Hat OpenShift Operator 卸载 Secondary Scheduler Operator。
- 
										导航到 Operators 
Installed Operators。  - 
										点 Secondary Scheduler Operator 条目旁边的 Options 菜单 
										
										 ,并点 Uninstall Operator。
									 - 在确认对话框中,点 Uninstall。
 
- 
										导航到 Operators 
 
4.10.4.2. 删除 Secondary Scheduler Operator 资源 复制链接链接已复制到粘贴板!
另外,在为 Red Hat OpenShift 卸载 Secondary Scheduler Operator 后,您可以从集群中移除其相关资源。
先决条件
- 
								以具有 
cluster-admin角色的用户身份登录到 OpenShift Container Platform。 - 访问 OpenShift Container Platform web 控制台。
 
流程
- 登陆到 OpenShift Container Platform Web 控制台。
 删除由 Secondary Scheduler Operator 安装的 CRD:
- 
										进入到 Administration 
CustomResourceDefinitions。  - 
										在 Name 字段中输入 
SecondaryScheduler以过滤 CRD。 - 
										点 SecondaryScheduler CRD 旁边的 Options 菜单 
										
										 并选择 Delete Custom Resource Definition:
									 
- 
										进入到 Administration 
 删除
openshift-secondary-scheduler-operator命名空间。- 
										导航至 Administration 
Namespaces。  - 
										点 openshift-secondary-scheduler-operator 旁边的 Options 菜单 
										
										 并选择 Delete Namespace。
									 - 
										在确认对话框中,在字段中输入 
openshift-secondary-scheduler-operator,再点 Delete。 
- 
										导航至 Administration