Skip to content

Commit 8be1c0e

Browse files
jiwonhuipetrov117
authored andcommitted
UpgradeController and SystemUpgradeController (#577)
* Clarify UpgradeController and SystemUpgradeController, when to use what, and why both are used Add minimum required components for upgrade operations * Update UpgradeController and SysUpgController and Upgrade doc (#577) Refine the description and remove the duplicated statement * Update asciidoc/components/upgrade-controller.adoc * Update asciidoc/components/system-upgrade-controller.adoc * Update asciidoc/day2/migration.adoc Co-authored-by: Ivo Petrov <[email protected]> * Update Update Controller description (#577) * Update asciidoc/components/upgrade-controller.adoc * Withdraw previous changes from asciidoc/day2/migration.adoc * Update UpgradeController and SUC descriptions (#577) * Update asciidoc/components/upgrade-controller.adoc * Update asciidoc/components/system-upgrade-controller.adoc Co-authored-by: Ivo Petrov <[email protected]> --------- Co-authored-by: Ivo Petrov <[email protected]> (cherry picked from commit 41cd7cd)
1 parent b9fb7cb commit 8be1c0e

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

asciidoc/components/system-upgrade-controller.adoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ ____
1919

2020
== How does SUSE Edge use System Upgrade Controller?
2121

22-
*SUC* is used to assist in the various "Day 2" operations that need to be executed in order to upgrade management/downstream clusters from one Edge platform version to another. Day 2 operations are defined in the form of *SUC Plans*. Based on the these plans, SUC deploys workloads on each node that executes the respective Day 2 operations.
22+
SUSE Edge uses `SUC` to facilitate various "Day 2" operations related to OS and Kubernetes version upgrades on management and downstream clusters.
23+
24+
"Day 2" operations are defined through `SUC Plans`. Based on these plans, `SUC` deploys workloads on each node to execute the respective "Day 2" operation.
25+
26+
`SUC` is also used within the <<components-upgrade-controller>>. To learn more about the key differences between SUC and the Upgrade Controller, see <<components-upgrade-controller-uc-vs-suc>>.
2327

2428
[#components-system-upgrade-controller-install]
2529
== Installing the System Upgrade Controller

asciidoc/components/upgrade-controller.adoc

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@ ifdef::env-github[]
1010
:warning-caption: :warning:
1111
endif::[]
1212

13-
See the link:https://github.com/suse-edge/upgrade-controller[Upgrade Controller] documentation.
14-
15-
[quote]
16-
____
17-
A Kubernetes controller capable of performing infrastructure platform upgrades consisting of:
13+
A Kubernetes controller capable of performing upgrades over the following SUSE Edge platform components:
1814

1915
* Operating System (SUSE Linux Micro)
2016
* Kubernetes (K3s & RKE2)
2117
* Additional components (Rancher, Elemental, SUSE Security, etc.)
22-
____
18+
19+
The link:https://github.com/suse-edge/upgrade-controller[Upgrade Controller] streamlines the upgrade process for the components mentioned above by encapsulating their complexities within a single `user-facing` resource that serves as a *trigger* for the upgrade. Users only need to configure this resource and the `Upgrade Controller` takes care of the rest.
20+
21+
[NOTE]
22+
====
23+
The `Upgrade Controller` currently supports SUSE Edge platform upgrades only for *non air-gapped management* clusters. Refer to the <<components-upgrade-controller-known-issues>> section for more information.
24+
====
2325

2426
== How does SUSE Edge use Upgrade Controller?
2527

@@ -31,6 +33,17 @@ For further details on how the Upgrade Controller works, see <<components-upgrad
3133

3234
For known limitations that the Upgrade Controller has, see <<components-upgrade-controller-known-issues>>.
3335

36+
For information on the difference between the Upgrade Controller and the System Upgrade Controller, see <<components-upgrade-controller-uc-vs-suc>>.
37+
38+
[#components-upgrade-controller-uc-vs-suc]
39+
== Upgrade Controller vs System Upgrade Controller
40+
41+
The <<components-system-upgrade-controller, System Upgrade Controller (SUC)>> is a general-purpose tool that propagates upgrade instructions to specific Kubernetes nodes.
42+
43+
While it supports some "Day 2" operations for the SUSE Edge platform, it *does not* cover all of them. Moreover, even for supported operations, users have to manually configure, maintain, and deploy multiple `SUC Plans` — an error-prone process that can lead to unexpected issues.
44+
45+
This led to the need for a tool that **automates** and **abstracts** the complexity of managing various "Day 2" operations for the SUSE Edge platform. Thus, the `Upgrade Controller` was developed. It simplifies the upgrade process by introducing a single `user-facing resource` that drives the upgrade. Users only need to manage this resource, while the `Upgrade Controller` takes care of the rest.
46+
3447
[#components-upgrade-controller-installation]
3548
== Installing the Upgrade Controller
3649

@@ -159,7 +172,7 @@ For Helm charts deployed outside of EIB, the Upgrade Controller creates a `HelmC
159172

160173
After the creation/update of the `HelmChart` resource, the Upgrade Controller relies on the link:https://github.com/k3s-io/helm-controller/[helm-controller] to pick up this change and proceed with the actual component upgrade.
161174

162-
Charts will be upgraded sequentially based on their order in the `ReleaseManifest`. Additional values can also be passed through the `UpgradePlan`. For more information about this, refer to <<components-upgrade-controller-extensions-upgrade-plan>>.
175+
Charts will be upgraded sequentially based on their order in the `ReleaseManifest`. Additional values can also be passed through the `UpgradePlan`. If a chart's version remains unchanged in the new SUSE Edge release, it will not be upgraded. For more information about this, refer to <<components-upgrade-controller-extensions-upgrade-plan>>.
163176

164177
[#components-upgrade-controller-extensions]
165178
== Kubernetes API extensions

0 commit comments

Comments
 (0)