From ccd5f114cf1156a1006b5597fcb1bb4550648354 Mon Sep 17 00:00:00 2001 From: Guillermo Gaston Date: Wed, 25 Oct 2023 21:14:15 +0000 Subject: [PATCH] Add design for in-place upgrades in CAPI --- .../in-place-upgrades-CAPI.excalidraw.png | Bin 0 -> 126597 bytes designs/in-place-upgrades-capi.md | 180 ++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 designs/images/in-place-upgrades-CAPI.excalidraw.png create mode 100644 designs/in-place-upgrades-capi.md diff --git a/designs/images/in-place-upgrades-CAPI.excalidraw.png b/designs/images/in-place-upgrades-CAPI.excalidraw.png new file mode 100644 index 0000000000000000000000000000000000000000..31082fa1f15f2a53d9348854e203b3172e78edb3 GIT binary patch literal 126597 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 z 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: change KCP's K8s version
(external strategy) +apiserver->>+kcp: Notify changes +apiserver->>-User: OK +kcp->>+hook: Upgrade required +hook->>kcp: OK +deactivate kcp +hook->>infra: Upgrade k8s componentes +alt opt 1 + hook->>apiserver: Mark machine as updated +else opt 2 + kcp->>apiserver: Mark machine as updated +end +``` + +#### Remaining questions +Following the first diagram, all points marked with a ❓: +1. How does CAPI request an upgrade from the external strategy implementer and what information does it need to provide? +2. Who is responsible for updating the CAPI `Machine` and associated objects so the rest of the system detects the upgrade has been completed? + 1. Option 1: the CAPI KCP/MachineDeployment controllers. The external strategy will need a way to signal that the upgrade is completed back to the CAPI controllers. + 2. Option 2: the external strategy implementer that accepted the upgrade request. + +### Upgrade external strategy contract +#### Communication pattern +There are two obvious options: webhooks or the "watch resources" Kubernetes controller model (with or without new CRDs). The tradeoffs are mostly the same as in any other system. + +CAPI already already uses both: +- CRD/contract based extension for infra, CP and bootstrap providers. These are "plug-in, swappable low-level components" (quoting the Runtime SDK proposal) +- Webhooks for the [Runtime SDK](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20220221-runtime-SDK.md). The Runtime Hooks were designed to enable "systems, products and services built on top of Cluster API that require strict interactions with the lifecycle of Clusters, but at the same time they do not want to replace any low-level components in Cluster API, because they happily benefit from all the features available in the existing providers (built on top vs plug-in/swap)". + +A external upgrade strategy seems to fit well in both categories: it's both a *plug-in, swappable low-level component* and it also *does not want to replace any low-level components in Cluster API, because it happily benefits from all the features available in the existing providers*. + +We propose to use the Runtime Hooks and Extensions (hence webhooks) because: +- They align quite well with our goals in two main areas (quoting the proposal): + - "it will be also possible to use this capability for allowing the user to hook into Cluster API reconcile loops at "low level", e.g. by allowing a Runtime Extension providing external patches to be executed on every topology reconcile". This is exactly what we are trying to do here. + - "The proposed solution is designed with the intent to make developing Runtime Extensions as simple as possible, because the success of this feature depends on its speed/rate of adoption in the ecosystem." +- Using webhooks doesn't prevent strategy implementers from using a controller. +- It facilitates enforcing an API contract. +- It facilitates "validating" the upgrade request and accept/reject accordingly. + +##### Alternatives +- Add an annotation/s to the Machines that need to be upgraded. The strategy implementer can just watch Machines and start upgrading them if it detects the annotation. + - The annotations will need to contain the requested changes. +- Use the Machine spec as the desired state for the Machine and expect the strategy implementer to detect these changes and reconcile them. + - This makes it more difficult to have strategy implementers to accept/reject an upgrade request. + - We will still need a way to tell CAPI controllers the upgrade has been done. Maybe the CAPI controllers add an annotation like `upgrade-needed` and the strategy implementers remove it once the upgrade process has finished. + +#### External upgrade strategy Request +At a minimum, the request initiated by CAPI needs to include: +- List of machines that require an upgrade. +- New `Machine` spec. +- New Bootstrap config spec. +- New Infra Machine spec. +- A reference to the `Cluster`. +- A reference to the owner of the Machines that requests the upgrade: CP object (KCP) or "worker group" (`MachineDeployment`). + +#### External upgrade strategy Response +Based on the proposed pattern, there is no information that the implementers need to communicate back in the response to CAPI. We can't really make the operation synchronous since upgrades can take an undermined amount of time, so the only thing the implementer needs to do is respond with a 200 OK if it has successfully "started" the process or the appropriate error otherwise. + +However, what if the changes detected by CAPI are not scoped down to just a k8s version upgrade? They could involve something else, like running certain extra commands in the host, additional mount points or even configuring users. For example, the current kubeadm config API mixes host level and k8s configuration, which means our in-place upgrade extensions would need to implement a mechanism to reconcile these types of changes as well. This not only can be quite complex but it also can greatly variate from OS to OS. Moreover, what if the detected changes are at the infrastructure Machine level? Depending on the provider, it might even be impossible to make these changes without replacing the machine. + +We propose an extension of this pattern that, although simple in its implementation, eliminates the requirement for external implementers to support the full spectrum of upgrade changes. To add some flexibility for the strategy extensions implementers, we will give them the option to decline an upgrade request if they decide they are not capable of performing it. We will also add an option in the KCP/MachineDeployment to optionally configure a `fallbackRolling`, so if all the hooks respond with a "won't do", the controller will continue the upgrade process following this fallback replace strategy. This pattern allows strategy implementers to decide how much of all the possible upgrade scenarios they want to cover and let the system still be able to reconcile any other scenarios they don't cover. + +```mermaid +sequenceDiagram +autonumber +participant User + +box Management Cluster +participant apiserver as kube-api server +participant kcp as KCP controller +participant hook as In place upgrade extension +end + +box Workload Cluster +participant infra as Infrastructure +end + +User->>+apiserver: change KCP's K8s version
(external strategy and fallback) +apiserver->>+kcp: Notify changes +apiserver->>-User: OK +kcp->>+hook: Upgrade request +hook->>-kcp: Reject +kcp->>infra: Create machine +kcp->>-infra: Delete old machine +``` + +The Response will include at a minimum: +- Boolean indicated of the request is accepted or not. +- A reason message in case the request is declined. + +#### Updating CAPI objects after upgrade +We propose putting this responsibility on the strategy implementers for two reasons: +- It barely increases the complexity of the implementers: they already know when the process is completed and should already be capable of identifying the fields and objects that need to be updated (since they need to decide if the requested change is supported or not). +- It simplifies the overall system avoiding the need for a back channel from strategy implementers to CAPI. The CAPI components (KCP/Machine deployment controllers) will simply sit in a loop, checking that a machine needs to be upgraded until the implementer updates the appropriate objects. Then the corresponding KCP/MachineDeployment will be marked as ready. + +```mermaid +sequenceDiagram +autonumber +participant User + +box Management Cluster +participant apiserver as kube-api server +participant kcp as KCP controller +participant hook as In place upgrade extension +end + +box Workload Cluster +participant infra as Infrastructure +end + +User->>+apiserver: change KCP K8s version
(external strategy) +apiserver->>+kcp: Notify changes +apiserver->>-User: OK +kcp->>+hook: Upgrade request +hook->>kcp: OK +deactivate kcp +hook->>infra: Update k8s components +hook->>apiserver: Mark machine as updated +activate kcp +kcp->>apiserver: Mark KCP as Ready +deactivate kcp +``` + +##### Alternatives +- The KCP/MachineDeployment controllers can make these changes. We will need a way to signal from the external strategy implementer that the upgrade is completed. For example, an annotation in the Machine object. \ No newline at end of file