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

Establish a stronger link between Machines, MachineSets, and MachineDeployments with their Cluster. #41

Closed
rsdcastro opened this issue Apr 12, 2018 · 8 comments · Fixed by #108 or #728
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Milestone

Comments

@rsdcastro
Copy link

From @dgoodwin on February 15, 2018 17:12

On Feb 14 Cluster API working group call, a couple parties indicated we would like to make use of the ability to have multiple clusters to exist in one namespace, which would free up namespaces to be used for other levels of organization. (one customer, one cloud provider account, etc) In this case we would not be able to assume all machines or machine sets in a namespace belong to the single cluster in the namespace, and as such a stronger link between the two could be useful for some adopters of the cluster API.

Copied from original issue: kubernetes-retired/kube-deploy#609

@rsdcastro
Copy link
Author

From @dgoodwin on February 15, 2018 17:14

FWIW, in our very young OpenShift Cluster Operator code we've been using owner references to do this. (machine to machine set to cluster)

@krousey
Copy link
Contributor

krousey commented May 2, 2018

This was not fixed with that PR. That was a separate issue.

@krousey krousey reopened this May 2, 2018
@krousey
Copy link
Contributor

krousey commented May 9, 2018

@dgoodwin I've been thinking about this, and is owner references a good fit for this? It seems to require a UUID. That seems prohibitively awkward for a user to fill out. What does everyone think?

@dgoodwin
Copy link
Contributor

dgoodwin commented May 9, 2018

Agreed it would have to be handled automatically, this led to our idea regarding the labels (which the user would need to set) and the owner reference (which a controller would set, as soon as the referenced owner exists). Details here: #145

@wangzhen127
Copy link
Contributor

/cc @wangzhen127

@timothysc timothysc modified the milestones: cluster-api-alpha-implementation, v1alpha1 Jan 10, 2019
@timothysc timothysc added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Jan 10, 2019
@vincepri
Copy link
Member

On Wed 9 January 2019 meeting, the group discussed to potentially revert the assumption that clusters and machines living in the same namespace are tied together.

Some meetings notes:

This is the PR that implemented the cluster-machines namespace #481
Related: #177
Do we want a tighter relationship between clusters / machines so that we can have multiple clusters in a single namespace
[ashish] When I started the above PR, the consensus was that we wanted one cluster per namespace #252 (comment)
[ashish] more context on the issue #252
[vince] That is the current assumption. Do we want to make that official?
[robert] Hardik has mentioned that Gardener found it useful to put multiple clusters into a namespace so that things like references to secrets can be shared
[justinsb] We may want to get an api reviewer to take a look at our API and help us answer some of these types of questions. I'm not sure if there are other examples of singletons.
[detiber] If we create a link between the two we should be aware of the use case of using machines without clusters and we'd need to make the link optional
[robertbailey] We could use labels to match them up
[robertbailey] Even if there are examples of singletons, they certainly aren't commonplace
[justinsb] kops wouldn't object to creating a dummy cluster object if necessary to adopt the machines api
[robertbailey] the other use case is to put cluster and machine resources in different kubernetes universes; so then the link would also need to be optional
[vince] If we use the label, then providers can adopt them over time
[justinsb] Label selectors are great for many-many which doesn't work well here. Maybe have a field that just points to the owning cluster (even across universes). If it doesn't exist fall back to existing behavior of same-namespace

The goal of this issue is to get an agreement if we want to support multiple clusters in a single namespace. A followup issue, after this one is closed, will be opened to discuss implementations.

@timothysc timothysc added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 10, 2019
@roberthbailey roberthbailey changed the title Establish a stronger link between Machine and Cluster. Establish a stronger link between Machines, MachineSets, and MachineDeployments with their Cluster. Jan 10, 2019
@roberthbailey
Copy link
Contributor

Expanding the scope after closing #145 to include MachineSets and MachineDeployments in addition to Machines.

@vincepri
Copy link
Member

/lifecycle active

@k8s-ci-robot k8s-ci-robot added the lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. label Jan 31, 2019
chuckha pushed a commit to chuckha/cluster-api that referenced this issue Oct 2, 2019
sbueringer referenced this issue in sbueringer/cluster-api Feb 1, 2022
🌱 upgrade tooling to use go 1.17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/active Indicates that an issue or PR is actively being worked on by a contributor. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
None yet
8 participants