-
Notifications
You must be signed in to change notification settings - Fork 1.4k
🌱 Add automated machine management section to docs tasks #6421
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
🌱 Add automated machine management section to docs tasks #6421
Conversation
57b275b
to
acfbabe
Compare
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.
thanks, @enxebre for improving our docs!
docs/book/src/SUMMARY.md
Outdated
- [Automated worker Machine management](./tasks/automated-worker-machine-management/index.md) | ||
- [Scaling](./tasks/automated-worker-machine-management/scaling.md) | ||
- [Auto scaling](./tasks/automated-worker-machine-management/auto-scaling.md) | ||
- [Health checking](./tasks/automated-worker-machine-management/healthchecking.md) |
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.
Health checking is both for control plane and worker nodes...
What about calling this new section "Automated machine management" and explicitly calling out when a paragraph applies only to a subset of machines
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.
Only small formatting nits 👍
|
||
Machines can be owned by scalable resources i.e. MachineSet and MachineDeployments. | ||
|
||
You can scale MachineSets and MachineDeployments in or out by expressing intent via .spec.replicas or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. |
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.
You can scale MachineSets and MachineDeployments in or out by expressing intent via .spec.replicas or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. | |
You can scale MachineSets and MachineDeployments in or out by expressing intent via `.spec.replicas` or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. |
Formatting to follow the other book entries/markdowns
You can scale MachineSets and MachineDeployments in or out by expressing intent via .spec.replicas or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. | ||
|
||
When you delete a Machine directly or by scaling down, the same process takes place in the same order: | ||
- The Node backed by that Machine will try to be drained indefinitely and will wait for any volume to be detached from the Node unless you specify a .spec.nodeDrainTimeout. |
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 Node backed by that Machine will try to be drained indefinitely and will wait for any volume to be detached from the Node unless you specify a .spec.nodeDrainTimeout. | |
- The Node backed by that Machine will try to be drained indefinitely and will wait for any volume to be detached from the Node unless you specify a `.spec.nodeDrainTimeout.` |
Formatting to follow the other book entries/markdowns
|
||
When you delete a Machine directly or by scaling down, the same process takes place in the same order: | ||
- The Node backed by that Machine will try to be drained indefinitely and will wait for any volume to be detached from the Node unless you specify a .spec.nodeDrainTimeout. | ||
- CAPI uses default [kubectl draining implementation](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) with –ignore-daemonsets=true. If you needed to ensure DaemonSets eviction you'd need to do so manually by also adding proper taints to avoid rescheduling. |
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.
- CAPI uses default [kubectl draining implementation](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) with –ignore-daemonsets=true. If you needed to ensure DaemonSets eviction you'd need to do so manually by also adding proper taints to avoid rescheduling. | |
- CAPI uses default [kubectl draining implementation](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) with `--ignore-daemonsets=true`. If you needed to ensure DaemonSets eviction you'd need to do so manually by also adding proper taints to avoid rescheduling. |
Formatting to follow the other book entries/markdowns
- The Node backed by that Machine will try to be drained indefinitely and will wait for any volume to be detached from the Node unless you specify a .spec.nodeDrainTimeout. | ||
- CAPI uses default [kubectl draining implementation](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) with –ignore-daemonsets=true. If you needed to ensure DaemonSets eviction you'd need to do so manually by also adding proper taints to avoid rescheduling. | ||
- The infrastructure backing that Node will try to be deleted indefinitely. | ||
- Only when the infrastructure is gone, the Node will try to be deleted indefinitely unless you specify spec.nodeDeletionTimeout. |
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.
- Only when the infrastructure is gone, the Node will try to be deleted indefinitely unless you specify spec.nodeDeletionTimeout. | |
- Only when the infrastructure is gone, the Node will try to be deleted indefinitely unless you specify `.spec.nodeDeletionTimeout`. |
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.
Thanks, this looks good, only a small nit that could be fixed:
@@ -0,0 +1,13 @@ | |||
# Scaling Nodes | |||
|
|||
You can add or remove compute capacity for your cluster workloads by creating or removing Machines. A Machine express intent to have a Node with a defined form factor. |
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.
You can add or remove compute capacity for your cluster workloads by creating or removing Machines. A Machine express intent to have a Node with a defined form factor. | |
You can add or remove compute capacity for your cluster workloads by creating or removing Machines. A Machine expresses intent to have a Node with a defined form factor. |
acfbabe
to
be84108
Compare
Addressed all comments PTAL @fabriziopandini @furkatgofurov7 @chrischdi. |
be84108
to
f35d524
Compare
/retest |
|
||
Machines can be owned by scalable resources i.e. MachineSet and MachineDeployments. | ||
|
||
You can scale MachineSets and MachineDeployments in or out by expressing intent via `.spec.replicas or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. |
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.
You can scale MachineSets and MachineDeployments in or out by expressing intent via `.spec.replicas or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. | |
You can scale MachineSets and MachineDeployments in or out by expressing intent via `.spec.replicas` or updating the scale subresource e.g `kubectl scale machinedeployment foo --replicas=5`. |
f35d524
to
b253ea8
Compare
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.
Thanks @enxebre, LGTM! lint GHA seems flaky though
/retest |
b253ea8
to
f067caa
Compare
rebased to pick #6436 |
Nice improvement, thx!! |
1 similar comment
Nice improvement, thx!! |
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.
Looks good - just a couple of nits really. Definitely a useful subsection to have here.
- The Node backed by that Machine will try to be drained indefinitely and will wait for any volume to be detached from the Node unless you specify a `.spec.nodeDrainTimeout`. | ||
- CAPI uses default [kubectl draining implementation](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) with `-–ignore-daemonsets=true`. If you needed to ensure DaemonSets eviction you'd need to do so manually by also adding proper taints to avoid rescheduling. | ||
- The infrastructure backing that Node will try to be deleted indefinitely. | ||
- Only when the infrastructure is gone, the Node will try to be deleted indefinitely unless you specify `.spec.nodeDeletionTimeout`. |
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.
Maybe add a note saying this won't work with a Topology managed Cluster with a ref to the ClusterClass doc?
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.
We are slowly adding all the flags to topology managed clusters, let's aim for feature parity
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 it's fine if we don't have a note here if it's supported with ClusterClass or not. (especially given that Nabarun will implement #6450 (talked to him last week about it))
f067caa
to
1f8321f
Compare
1f8321f
to
f9546b8
Compare
/lgtm |
Thank you! /lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sbueringer The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What this PR does / why we need it:
Add automated worker machine management section to docs tasks
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #