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

Multiple Knative Eventing control planes #6601

Closed
aliok opened this issue Nov 10, 2022 · 12 comments
Closed

Multiple Knative Eventing control planes #6601

aliok opened this issue Nov 10, 2022 · 12 comments
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@aliok
Copy link
Member

aliok commented Nov 10, 2022

Problem
We see an interest in users who want to have complete isolation in their Knative Eventing setups.

We already have components that support isolated dataplanes. These components create dataplanes in the user namespace and this allows having multiple dataplanes that are completely isolated.

However, there are use cases where the control plane also needs to be isolated, such as it shouldn't have access to all of the cluster.

We believe kcp is the way to go to address this problem.

Expected outcome is:

  • Having multiple Knative Eventing control planes working without any conflict
  • Having different versions of Knative Eventing in a cluster

In Knative Serving, there were similar discussions before and some of the use cases had to be left unaddressed because of a lack of a tool like KCP. While it seems it is possible to make Knative Eventing control plane to only reconcile specific namespaces, multiple CRD versions and multiple webhooks are making the matter complicated.

Related Serving issues:

Persona:
Developer

Exit Criteria
A measurable (binary) test that would indicate that the problem has been resolved.

Time Estimate (optional):
How many developer-days do you think this may take to resolve?

Additional context (optional)
Add any other context about the feature request here.

@aliok
Copy link
Member Author

aliok commented Nov 10, 2022

This issue is mentioned in GSoC 23 ideas list: knative/community#1209

@AmanSarraf
Copy link

Hi @aliok , I am interested in learning about this project and want to work on this project under gsoc. I have contributed to knative before, also worked as intern at (Triggermesh).
Please let me know about the resources to get started.

@aliok
Copy link
Member Author

aliok commented Jan 23, 2023

@AmanSarraf thanks for your interest in this project idea.

This is a research project about trying to make Knative Eventing control plane running with kcp.

The idea is that we will learn more about the changes required in Knative Eventing to have multiple control planes. Then, if time is allowed, make those changes. As this is not really tried, we cannot estimate what kind of problems are there and if they can be solved. This is the reason I describe it as a "research project".

In the end, Knative community will learn a lot from this exercise. I am pretty sure we will find some bad designs, some tight couplings, etc.

I would suggest doing these for starters:

  • Knative Eventing - go through the tutorials as a user
  • Knative Eventing control plane: for simplicity how these work: InMemoryChannel controller, Subscription controller
  • kcp: go though the tutorials

@AmanSarraf
Copy link

Thanks for mentioning the pointers @aliok ,I am looking forward to explore the mentioned topics.

@aliok
Copy link
Member Author

aliok commented Jan 24, 2023

Feel free to reach out to the community at Knative Slack (https://github.com/knative/community/blob/main/SLACK-GUIDELINES.md) if you're stuck.

@evershalik
Copy link

Hi @aliok Me too interested in this project for GSoc 2023, can you instruct me for the same

@aliok
Copy link
Member Author

aliok commented Jan 31, 2023

hi @evershalik

Instructions above are the same for everyone :)

  • Go through the tutorials at knative.dev, try things on your machine
  • Start with some good-first issues
  • Interact with the community: join Slack channels, introduce yourself, reach out whenever you're stuck in tutorials, ...

See cncf/mentoring#755 for finding good-first issues.

@octonawish-akcodes
Copy link
Contributor

I am interested in this issue. I'll go through the references mentioned above.

@cubxxw
Copy link

cubxxw commented Mar 6, 2023

That's cool. I want to try it. I want to research it~

@rutvik24
Copy link

rutvik24 commented Mar 8, 2023

@aliok I am interested too. and also thank you for providing stuff where to start

@ronitblenz
Copy link

Hi @aliok I am looking forward to contributing to this project. Few words about me, I have prior experience with open source contribution and also received scholarship to visit OSS Dublin 2022. I would love to know more about the project.

Thanks and Regards

@github-actions
Copy link

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

7 participants