Skip to content
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

Support installing individual controllers from giant controller-manager #442

Merged
merged 4 commits into from
Nov 29, 2024

Conversation

nwangfw
Copy link
Collaborator

@nwangfw nwangfw commented Nov 27, 2024

Pull Request Description

Our current controller-manager hosts multiple controllers within a single binary, which works well for unified deployments. However, platform users have requested the ability to deploy each controller individually, allowing for greater flexibility in managing specific controllers independently. This would enable users to start only the controllers they need, such as RayReplicaSet, RayFleet, Autoscalers, or LoRA, without requiring the full controller-manager suite.

Acceptance Criteria:

Users can start only specified controllers without running the full controller-manager.
Each controller can run as a standalone process or in combination with others.
Documentation includes clear instructions for configuring and starting individual controllers.

Related Issues

Resolves: #349

Important: Before submitting, please complete the description above and review the checklist below.


Contribution Guidelines (Expand for Details)

We appreciate your contribution to aibrix! To ensure a smooth review process and maintain high code quality, please adhere to the following guidelines:

Pull Request Title Format

Your PR title should start with one of these prefixes to indicate the nature of the change:

  • [Bug]: Corrections to existing functionality
  • [CI]: Changes to build process or CI pipeline
  • [Docs]: Updates or additions to documentation
  • [API]: Modifications to aibrix's API or interface
  • [CLI]: Changes or additions to the Command Line Interface
  • [Misc]: For changes not covered above (use sparingly)

Note: For changes spanning multiple categories, use multiple prefixes in order of importance.

Submission Checklist

  • PR title includes appropriate prefix(es)
  • Changes are clearly explained in the PR description
  • New and existing tests pass successfully
  • Code adheres to project style and best practices
  • Documentation updated to reflect changes (if applicable)
  • Thorough testing completed, no regressions introduced

By submitting this PR, you confirm that you've read these guidelines and your changes align with the project's contribution standards.

@nwangfw nwangfw changed the title [CI/WIP] Individual Controllers in Controller-Manager [WIP] Individual Controllers in Controller-Manager Nov 27, 2024
@Jeffwan Jeffwan force-pushed the standalone-controller branch from cb5dd2a to 1e9b77e Compare November 29, 2024 07:14
@Jeffwan Jeffwan changed the title [WIP] Individual Controllers in Controller-Manager Support installing individual controllers from giant controller-manager Nov 29, 2024
@Jeffwan Jeffwan force-pushed the standalone-controller branch from 1e9b77e to a3e83a8 Compare November 29, 2024 07:16
@Jeffwan Jeffwan marked this pull request as ready for review November 29, 2024 07:16
@Jeffwan Jeffwan force-pushed the standalone-controller branch from a3e83a8 to b0d7b92 Compare November 29, 2024 07:17
@Jeffwan
Copy link
Collaborator

Jeffwan commented Nov 29, 2024

new commit address #449

@Jeffwan
Copy link
Collaborator

Jeffwan commented Nov 29, 2024

@nwangfw I will skip the review and merge it. Please still help review when you get a chance. Our internal users are waiting for this feature

@Jeffwan Jeffwan force-pushed the standalone-controller branch from b0d7b92 to 1c091a4 Compare November 29, 2024 07:31
@Jeffwan Jeffwan merged commit 38d4faa into main Nov 29, 2024
10 checks passed
@Jeffwan Jeffwan deleted the standalone-controller branch November 29, 2024 07:42
@nwangfw
Copy link
Collaborator Author

nwangfw commented Nov 29, 2024

@nwangfw I will skip the review and merge it. Please still help review when you get a chance. Our internal users are waiting for this feature

Will check it, and many thanks!

@nwangfw
Copy link
Collaborator Author

nwangfw commented Dec 2, 2024

@nwangfw I will skip the review and merge it. Please still help review when you get a chance. Our internal users are waiting for this feature

@Jeffwan Your code looks good to me, and your way to setup different combinations of controllers is great. I learned a lot from it.

One mirror issue is that it seems that I need to create namespace first to install the standalone controller in my local testing env.
image

@Jeffwan
Copy link
Collaborator

Jeffwan commented Dec 2, 2024

@nwangfw yes. These controllers shared the same namespace. Let's say we install two controllers separately. If namespace is deleted along with one controller deletion, the other one will be affected. So I decide to separate the namespace creation process. I think I didn't mention such tricks in the docs yet. If you have some time, feel free to update the docs https://github.com/aibrix/aibrix/blob/main/docs/source/getting_started/installation.rst#install-individual-aibrix-components

It makes sense to me to have different namespaces for different controllers.

gangmuk pushed a commit that referenced this pull request Jan 25, 2025
…er (#442)

* standalone-pod-autoscaler

Co-authored-by: nwangfw <[email protected]>

* Move files to right overlays

* Refactor the crd folder structure for better reuse

* Support running controllers as standalone component

---------

Co-authored-by: Jiaxin Shan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support Startup of Individual Controllers in Controller-Manager
2 participants