Skip to content

Commit

Permalink
Add documentation around KubeadmControlPlanes
Browse files Browse the repository at this point in the history
Signed-off-by: Chuck Ha <[email protected]>
  • Loading branch information
chuckha committed Mar 9, 2020
1 parent 5154da4 commit 6bc8e87
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/book/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
- [Generating a Kubeconfig](./tasks/certs/generate-kubeconfig.md)
- [Upgrade](./tasks/upgrade.md)
- [Configure a MachineHealthCheck](./tasks/healthcheck.md)
- [Kubeadm based control plane management](./kubeadm-control-plane.md)
- [clusterctl CLI](./clusterctl/overview.md)
- [clusterctl Commands](clusterctl/commands/commands.md)
- [init](clusterctl/commands/init.md)
Expand Down
28 changes: 28 additions & 0 deletions docs/book/src/tasks/kubeadm-control-plane.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Kubeadm control plane

Using the Kubeadm control plane type to manage a control plane provides several ways to upgrade control plane machines.

## Upgrading

The high level steps to fully upgrading a workload cluster are to first upgrade the control plane and then upgrade
the worker machines.

### Upgrading workload machines managed by a `MachineDeployment`

It is recommended to manage workload machines with a `MachineDeployment` as this will transparently manage `MachineSet`s
and `Machine`s to allow for a seamless scaling experience. A modification to the `MachineDeployment`s spec will begin a
rolling update of the workload machines.

### How to upgrade the underlying machine image

To upgrade the control plane machines underlying machine images, the `MachineTemplate` resource referenced by the
`KubeadmControlPlane` must be changed. Since `MachineTemplate` resources are immutable, the recommended approach is to
copy the existing `MachineTemplate`, modify the necessary values, create the new `MachineTemplate` on the management
cluster, and finally, modify the existing `KubeadmControlPlane` resource to reference the new `MachineTemplate`
resource. This will trigger a rolling update of the control plane using the new values found in the `MachineTemplate`.

### How to upgrade the Kubernetes control plane version

To upgrade the Kubernetes control plane version, which will likely, depending on the provider, also upgrade the
underlying machine image, make a modification to the `KubeadmControlPlane` resource's `Version` field. This will trigger
a rolling upgrade of the control plane.

0 comments on commit 6bc8e87

Please sign in to comment.