|
| 1 | +:_mod-docs-content-type: ASSEMBLY |
| 2 | +[id="understanding-image-based-upgrade-for-sno"] |
| 3 | += Understanding the image-based upgrade for {sno} clusters |
| 4 | +include::_attributes/common-attributes.adoc[] |
| 5 | +:context: understanding-image-based-upgrade |
| 6 | + |
| 7 | +toc::[] |
| 8 | + |
| 9 | +:FeatureName: The Lifecycle Agent |
| 10 | + |
| 11 | +From {product-title} 4.14.13, the {lcao} provides you with an alternative way to upgrade the platform version of a {sno} cluster. |
| 12 | +The image-based upgrade is faster than the standard upgrade method and allows you to directly upgrade from {product-title} <4.y> to <4.y+2>, and <4.y.z> to <4.y.z+n>. |
| 13 | + |
| 14 | +// Lifecycle Agent (LCAO) |
| 15 | + |
| 16 | +This upgrade method utilizes a generated OCI image from a dedicated seed cluster that is installed on the target {sno} cluster as a new `ostree` stateroot. |
| 17 | +A seed cluster is a {sno} cluster deployed with the target {product-title} version, Day 2 Operators, and configurations that are common to all target clusters. |
| 18 | + |
| 19 | +You can use the seed image, which is generated from the seed cluster, to upgrade the platform version on any {sno} cluster that has the same combination of hardware, Day 2 Operators, and cluster configuration as the seed cluster. |
| 20 | + |
| 21 | +[IMPORTANT] |
| 22 | +==== |
| 23 | +The image-based upgrade uses custom images that are specific to the hardware platform that the clusters are running on. |
| 24 | +Each different hardware platform requires a separate seed image. |
| 25 | +==== |
| 26 | + |
| 27 | +The {lcao} uses two custom resources (CRs) on the participating clusters to orchestrate the upgrade: |
| 28 | + |
| 29 | +* On the seed cluster, the `SeedGenerator` CR allows for the seed image generation. This CR specifies the repository to push the seed image to. |
| 30 | +* On the target cluster, the `ImageBasedUpgrade` CR specifies the seed image for the upgrade of the target cluster and the backup configurations for your workloads. |
| 31 | +
|
| 32 | +.Example SeedGenerator CR |
| 33 | +[source,yaml] |
| 34 | +---- |
| 35 | +apiVersion: lca.openshift.io/v1 |
| 36 | +kind: SeedGenerator |
| 37 | +metadata: |
| 38 | + name: seedimage |
| 39 | +spec: |
| 40 | + seedImage: <seed_image> |
| 41 | +---- |
| 42 | + |
| 43 | +.Example ImageBasedUpgrade CR |
| 44 | +[source,yaml] |
| 45 | +---- |
| 46 | +apiVersion: lca.openshift.io/v1 |
| 47 | +kind: ImageBasedUpgrade |
| 48 | +metadata: |
| 49 | + name: upgrade |
| 50 | +spec: |
| 51 | + stage: Idle <1> |
| 52 | + seedImageRef: <2> |
| 53 | + version: <target_version> |
| 54 | + image: <seed_container_image> |
| 55 | + pullSecretRef: |
| 56 | + name: <seed_pull_secret> |
| 57 | + autoRollbackOnFailure: {} |
| 58 | +# initMonitorTimeoutSeconds: 1800 <3> |
| 59 | + extraManifests: <4> |
| 60 | + - name: example-extra-manifests |
| 61 | + namespace: openshift-lifecycle-agent |
| 62 | + oadpContent: <5> |
| 63 | + - name: oadp-cm-example |
| 64 | + namespace: openshift-adp |
| 65 | +---- |
| 66 | +<1> Defines the desired stage for the `ImageBasedUpgrade` CR. The value can be `Idle`, `Prep`, `Upgrade`, or `Rollback`. |
| 67 | +<2> Defines the target platform version, the seed image to be used, and the secret required to access the image. |
| 68 | +<3> (Optional) Specify the time frame in seconds to roll back when the upgrade does not complete within that time frame after the first reboot. If not defined or set to `0`, the default value of `1800` seconds (30 minutes) is used. |
| 69 | +<4> (Optional) Specify the list of `ConfigMap` resources that contain your custom catalog sources to retain after the upgrade, and your extra manifests to apply to the target cluster that are not part of the seed image. |
| 70 | +<5> Specify the list of `ConfigMap` resources that contain the OADP `Backup` and `Restore` CRs. |
| 71 | + |
| 72 | +include::modules/cnf-image-based-upgrade.adoc[leveloffset=+1] |
| 73 | + |
| 74 | +//// |
| 75 | +[role="_additional-resources"] |
| 76 | +.Additional resources |
| 77 | + |
| 78 | +* xref:../../edge_computing/image_based_upgrade/cnf-image-based-upgrade-base.adoc#cnf-image-based-upgrade-for-sno[Performing an image-based upgrade with Lifecycle Agent] |
| 79 | +
|
| 80 | +* xref:../../edge_computing/image_based_upgrade/ztp-image-based-upgrade.adoc#ztp-image-based-upgrade-for-sno[Performing an image-based upgrade with Lifecycle Agent and GitOps ZTP] |
| 81 | +
|
| 82 | +* xref:../../edge_computing/image_based_upgrade/cnf-image-based-upgrade-base.adoc#ztp-image-based-upgrade-rollback_cnf-image-based-upgrade[(Optional) Moving to the Rollback stage of the image-based upgrade with Lifecycle Agent] |
| 83 | +
|
| 84 | +* xref:../../edge_computing/image_based_upgrade/ztp-image-based-upgrade.adoc#ztp-image-based-upgrade-with-talm-rollback_ztp-image-based-upgrade[(Optional) Moving to the Rollback stage of the image-based upgrade with Lifecycle Agent and GitOps ZTP] |
| 85 | +//// |
| 86 | +
|
| 87 | +include::modules/cnf-image-based-upgrade-guidelines.adoc[leveloffset=+1] |
| 88 | + |
| 89 | +[role="_additional-resources"] |
| 90 | +.Additional resources |
| 91 | + |
| 92 | +* xref:../../installing/disconnected_install/installing-mirroring-installation-images.adoc#installing-mirroring-installation-images[Mirroring images for a disconnected installation] |
| 93 | +
|
| 94 | +include::modules/ztp-image-based-upgrade-cluster-validated-software.adoc[leveloffset=+2] |
| 95 | + |
| 96 | +include::modules/ztp-image-based-upgrade-hub-cluster-guide.adoc[leveloffset=+2] |
| 97 | + |
| 98 | +include::modules/ztp-image-based-upgrade-seed-image-guide.adoc[leveloffset=+2] |
| 99 | + |
| 100 | +//// |
| 101 | +[role="_additional-resources"] |
| 102 | +.Additional resources |
| 103 | + |
| 104 | +* xref:../../edge_computing/image_based_upgrade/preparing_for_image_based_upgrade/cnf-image-based-upgrade-shared-container-image.adoc#cnf-image-based-upgrade-shared-container-directory_shared-container-directory[Configuring a shared container directory between ostree stateroots] |
| 105 | +
|
| 106 | +* xref:../../edge_computing/image_based_upgrade/preparing_for_image_based_upgrade/cnf-image-based-upgrade-shared-container-image.adoc#ztp-image-based-upgrade-shared-container-directory_shared-container-directory[Configuring a shared container directory between ostree stateroots when using GitOps ZTP] |
| 107 | +
|
| 108 | +* xref:../../edge_computing/image_based_upgrade/preparing_for_image_based_upgrade/cnf-image-based-upgrade-generate-seed.adoc#ztp-image-based-seed-image-config_generate-seed[Seed image configuration] |
| 109 | +//// |
| 110 | +
|
| 111 | +include::modules/ztp-image-based-upgrade-backup-guide.adoc[leveloffset=+2] |
| 112 | + |
| 113 | +include::modules/ztp-image-based-upgrade-extra-manifests-guide.adoc[leveloffset=+2] |
| 114 | + |
| 115 | +//// |
| 116 | +[role="_additional-resources"] |
| 117 | +.Additional resources |
| 118 | + |
| 119 | +* xref:../../edge_computing/image_based_upgrade/cnf-image-based-upgrade-base.adoc#cnf-image-based-upgrade-for-sno[Performing an image-based upgrade with Lifecycle Agent] |
| 120 | +
|
| 121 | +* xref:../../edge_computing/image_based_upgrade/ztp-image-based-upgrade.adoc#ztp-image-based-upgrade-for-sno[Performing an image-based upgrade with Lifecycle Agent and GitOps ZTP] |
| 122 | +
|
| 123 | +* xref:../../edge_computing/ztp-preparing-the-hub-cluster.adoc#ztp-preparing-the-hub-cluster[Preparing the hub cluster for ZTP] |
| 124 | +
|
| 125 | +* xref:../../edge_computing/image_based_upgrade/preparing_for_image_based_upgrade/cnf-image-based-upgrade-prep-resources.adoc#cnf-image-based-upgrade-creating-backup-oadp-resources_nongitops[Creating ConfigMap objects for the image-based upgrade with Lifecycle Agent] |
| 126 | +
|
| 127 | +* xref:../../edge_computing/image_based_upgrade/preparing_for_image_based_upgrade/ztp-image-based-upgrade-prep-resources.adoc#ztp-image-based-upgrade-creating-backup-resources-with-ztp_ztp-gitops[Creating ConfigMap objects for the image-based upgrade with GitOps ZTP] |
| 128 | +
|
| 129 | +* xref:../../backup_and_restore/application_backup_and_restore/installing/about-installing-oadp.adoc#about-installing-oadp[About installing OADP] |
| 130 | +//// |
0 commit comments