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

Document infrastructure machine templates & immutability #2557

Closed
ncdc opened this issue Mar 5, 2020 · 7 comments · Fixed by #3105
Closed

Document infrastructure machine templates & immutability #2557

ncdc opened this issue Mar 5, 2020 · 7 comments · Fixed by #3105
Assignees
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/documentation Categorizes issue or PR as related to documentation.

Comments

@ncdc
Copy link
Contributor

ncdc commented Mar 5, 2020

We should document that when using infrastructure machine templates (e.g. in KubeadmControlPlane, MachineDeployment, MachineSet), these templates are generally meant to be immutable. If you want to change a field in one of these templates (e.g. AWS instance type), the typical process is to duplicate an existing template, update field(s), give it a new name, and create it in the apiserver. Once the new template has been persisted, then modify the KubeadmControlPlane/MachineDeployment/MachineSet to have it reference the new template. This will trigger a rolling update.

One caveat, is that some infrastructure providers, at their discretion, can choose to support in-place modifications of certain template fields, as long as they understand that Cluster API WILL NOT trigger a rolling update. This could be helpful if an infrastructure provider is able to do a live change for something like # of CPUs or memory.

/kind documentation
/help
/milestone Next

@k8s-ci-robot
Copy link
Contributor

@ncdc:
This request has been marked as needing help from a contributor.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

We should document that when using infrastructure machine templates (e.g. in KubeadmControlPlane, MachineDeployment, MachineSet), these templates are generally meant to be immutable. If you want to change a field in one of these templates (e.g. AWS instance type), the typical process is to duplicate an existing template, update field(s), give it a new name, and create it in the apiserver. Once the new template has been persisted, then modify the KubeadmControlPlane/MachineDeployment/MachineSet to have it reference the new template. This will trigger a rolling update.

One caveat, is that some infrastructure providers, at their discretion, b choose to support in-place modifications of certain template fields, as long as they understand that Cluster API WILL NOT trigger a rolling update. This could be helpful if an infrastructure provider is able to do a live change for something like # of CPUs or memory.

/kind documentation
/help
/milestone Next

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added this to the Next milestone Mar 5, 2020
@k8s-ci-robot k8s-ci-robot added kind/documentation Categorizes issue or PR as related to documentation. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. labels Mar 5, 2020
@scottslowe
Copy link
Contributor

I'd like to help with this issue. Do we anticipate this would create a new standalone doc somewhere (like in the docs directory), or that it should be a new page/section in the book?

@ncdc
Copy link
Contributor Author

ncdc commented May 21, 2020

It should show up on our docs site, so it'll need to go somewhere in docs/book/src. I'm not sure off the top of my head where the best place in there is. Do you have any thoughts?

@scottslowe
Copy link
Contributor

Perhaps in the “Tasks” section, with a title like “Changing Infrastructure Machine Templates” or similar?

@ncdc
Copy link
Contributor Author

ncdc commented May 26, 2020

SGTM. We can always move it around later if needed.

@scottslowe
Copy link
Contributor

/assign

@scottslowe
Copy link
Contributor

PR submitted, appreciate any feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/documentation Categorizes issue or PR as related to documentation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants