-
Notifications
You must be signed in to change notification settings - Fork 81
add plugins. #404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
add plugins. #404
Conversation
Signed-off-by: 抒情熊 <[email protected]>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @bearslyricattack, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request significantly expands the documentation for the Volcano scheduler by introducing detailed descriptions of several new plugins. The changes provide users with a better understanding of the scheduler's advanced capabilities, covering aspects like resource management, device sharing, and application availability, across both English and Chinese language versions of the documentation.
Highlights
- New Plugin Documentation (English): Added comprehensive documentation for ten new Volcano scheduler plugins: Capacity, CDP, Conformance, DeviceShare, Extender, NodeGroup, Overcommit, PDB, Rescheduling, and ResourceQuota. Each entry includes an introduction and detailed usage scenarios.
- New Plugin Documentation (Chinese): Added the same comprehensive documentation for the ten new Volcano scheduler plugins in Chinese, mirroring the English content to ensure multi-language support.
- Documentation Formatting Adjustment: Adjusted the heading level for the 'Numa-aware' section in the Chinese documentation for consistency.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This PR adds documentation for several new Volcano scheduler plugins in both English and Chinese. The changes are mostly well-written. I've provided a few suggestions to improve formatting consistency and clarity in both the English and Chinese documents. These changes will help maintain a uniform style across the documentation.
|
|
||
| The CDP plugin provides a cooling time protection for pods, ensuring they won't be preempted for a certain period after entering the Running state, thereby improving service stability. This protection mechanism is particularly important for applications that require a certain startup time before providing stable services. | ||
|
|
||
| ##### Scenarios |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **High-availability service protection**: For online services requiring high availability (such as web services, database services, etc.), the PDB plugin ensures that during resource reclamation and preemption, the number of available service instances doesn't fall below the preset threshold, avoiding service interruptions. | ||
| - **Stateful application management**: For stateful applications (such as distributed databases, message queues, etc.), the PDB plugin prevents too many instances from being evicted simultaneously, reducing pressure on data replication and synchronization, and maintaining system stability. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The list items in the "Scenarios" section for the PDB plugin use bold formatting for the titles. This is inconsistent with the formatting of scenario lists for other plugins, which use simple unformatted text. To maintain a consistent style throughout the document, please remove the bold markdown.
| - **High-availability service protection**: For online services requiring high availability (such as web services, database services, etc.), the PDB plugin ensures that during resource reclamation and preemption, the number of available service instances doesn't fall below the preset threshold, avoiding service interruptions. | |
| - **Stateful application management**: For stateful applications (such as distributed databases, message queues, etc.), the PDB plugin prevents too many instances from being evicted simultaneously, reducing pressure on data replication and synchronization, and maintaining system stability. | |
| - High-availability service protection: For online services requiring high availability (such as web services, database services, etc.), the PDB plugin ensures that during resource reclamation and preemption, the number of available service instances doesn't fall below the preset threshold, avoiding service interruptions. | |
| - Stateful application management: For stateful applications (such as distributed databases, message queues, etc.), the PDB plugin prevents too many instances from being evicted simultaneously, reducing pressure on data replication and synchronization, and maintaining system stability. |
| #### 场景 | ||
|
|
||
| - 系统组件保护:确保kube-system命名空间中运行的核心Kubernetes组件(如kube-apiserver、kube-scheduler、kube-controller-manager等)不会因为用户工作负载的调度需求而被抢占。 | ||
| - 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The phrase "保障集群稳定性保障" contains a repeated word "保障" (guarantee/ensure). This seems redundant. Please consider rephrasing for clarity, for example to "保障集群稳定性".
| - 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。 | |
| - 保障集群稳定性:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。 |
| - **高可用服务保护**:对于需要保持高可用性的在线服务(如Web服务、数据库服务等),PDB插件可以确保在资源回收和抢占过程中,服务的可用实例数不会低于预设的阈值,避免服务中断。 | ||
| - **有状态应用管理**:对于有状态应用(如分布式数据库、消息队列等),PDB插件可以防止过多的实例同时被驱逐,减少数据复制和同步的压力,保持系统稳定性。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The list items in the "场景" (Scenarios) section for the PDB plugin use bold formatting for the titles. This is inconsistent with the formatting of scenario lists for other plugins, which use simple unformatted text. To maintain a consistent style throughout the document, please remove the bold markdown.
| - **高可用服务保护**:对于需要保持高可用性的在线服务(如Web服务、数据库服务等),PDB插件可以确保在资源回收和抢占过程中,服务的可用实例数不会低于预设的阈值,避免服务中断。 | |
| - **有状态应用管理**:对于有状态应用(如分布式数据库、消息队列等),PDB插件可以防止过多的实例同时被驱逐,减少数据复制和同步的压力,保持系统稳定性。 | |
| - 高可用服务保护:对于需要保持高可用性的在线服务(如Web服务、数据库服务等),PDB插件可以确保在资源回收和抢占过程中,服务的可用实例数不会低于预设的阈值,避免服务中断。 | |
| - 有状态应用管理:对于有状态应用(如分布式数据库、消息队列等),PDB插件可以防止过多的实例同时被驱逐,减少数据复制和同步的压力,保持系统稳定性。 |
Signed-off-by: 抒情熊 <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive documentation for multiple Volcano scheduler plugins in both Chinese and English versions. It introduces detailed descriptions for 13 new plugins including Env, SSH, SVC, Capacity, CDP, Conformance, DeviceShare, Extender, NodeGroup, Overcommit, PDB, Rescheduling, and ResourceQuota.
Key Changes
- Added documentation for 13 Volcano scheduler plugins with introduction, use cases, key features, and usage instructions
- Corrected heading level for Numa-aware plugin from #### to ###
- Provided bilingual documentation (Chinese and English) for consistency
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| content/zh/docs/plugins.md | Added Chinese documentation for 13 plugins and corrected Numa-aware heading level |
| content/en/docs/plugins.md | Added English documentation for 13 plugins |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - SVC 插件创建的资源(ConfigMap、Service、NetworkPolicy)会随 Job 一起被自动管理 | ||
| - 可以通过环境变量或挂载的配置文件访问 Pod 域名信息 | ||
|
|
||
| 如需了解更多关于 SVC 插件的信息,请参考[Volcano SVC 插件指南](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md) 获取更多信息。 |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link reference is incorrect. The SVC plugin documentation is linking to how_to_use_ssh_plugin.md instead of the correct SVC plugin guide. This should likely be how_to_use_svc_plugin.md or similar.
| 如需了解更多关于 SVC 插件的信息,请参考[Volcano SVC 插件指南](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md) 获取更多信息。 | |
| 如需了解更多关于 SVC 插件的信息,请参考[Volcano SVC 插件指南](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_svc_plugin.md) 获取更多信息。 |
| - Resources created by the SVC plugin (ConfigMap, Service, NetworkPolicy) are automatically managed with the Job | ||
| - Pod domain information can be accessed via environment variables or mounted configuration files | ||
|
|
||
| For more information about the SVC plugin, please refer to the [Volcano SVC Plugin Guide](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md). |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The link reference is incorrect. The SVC plugin documentation is linking to how_to_use_ssh_plugin.md instead of the correct SVC plugin guide. This should likely be how_to_use_svc_plugin.md or similar.
| For more information about the SVC plugin, please refer to the [Volcano SVC Plugin Guide](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md). | |
| For more information about the SVC plugin, please refer to the [Volcano SVC Plugin Guide](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_svc_plugin.md). |
| #### 场景 | ||
|
|
||
| - 系统组件保护:确保kube-system命名空间中运行的核心Kubernetes组件(如kube-apiserver、kube-scheduler、kube-controller-manager等)不会因为用户工作负载的调度需求而被抢占。 | ||
| - 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。 |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Redundant wording: '保障集群稳定性保障' (guarantee cluster stability guarantee) contains the word '保障' (guarantee) twice. This should be simplified to either '集群稳定性保障' or '保障集群稳定性'.
| - 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。 | |
| - 保障集群稳定性:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。 |
|
|
||
| The CDP plugin provides a cooling time protection for pods, ensuring they won't be preempted for a certain period after entering the Running state, thereby improving service stability. This protection mechanism is particularly important for applications that require a certain startup time before providing stable services. | ||
|
|
||
| ##### Scenarios |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent heading level. The 'Scenarios' section uses ##### (h5) while all other plugins use #### (h4) for this section. This should be changed to #### Scenarios for consistency.
| ##### Scenarios | |
| #### Scenarios |
| weight = 3 | ||
| +++ | ||
|
|
||
| ### Env |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think env, ssh, svc should be put in content/en/docs/vcjob.md because there are job's plugin rather than scheduler's plugin, the current doc is to introduce the plugins of scheduler.
Or we can create a seperate menu for the controller, and add plugin in the controller menu, as a job-plugin.md
What this PR does / why we need it:
Which issue(s) this PR fixes: