canonical / cluster-api-control-plane-provider-microk8s

This project offers a cluster API control plane controller that manages the control plane of a MicroK8s cluster. It is expected to be used along with the respective MicroK8s specific machine bootstrap provider.
https://microk8s.io
7 stars 5 forks source link

Add in-place upgrades #35

Closed sachinkumarsingh092 closed 1 year ago

sachinkumarsingh092 commented 1 year ago

Summary Add in-place upgrades for both the control plane and worker nodes. For making the changes, we traverse all the nodes and create a pod that gets attached to the nodes, the pod connects via a UNIX socket to the spapd daemon and passes and snap upgrade request using the snap REST API. When the nodes are upgraded, we upgrade the corresponding machine and remove the pod.

Changes Introduce a new field UpgradeStrategyType in MicroK8sControlPlaneSpec to explicitly define the upgrade strategy to apply.