Skip to content

Commit 00a2aaa

Browse files
committed
edits
1 parent 5f27970 commit 00a2aaa

File tree

2 files changed

+28
-16
lines changed

2 files changed

+28
-16
lines changed

docs/release-notes/rn-app-manager.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Released on January 24, 2025
6464
Support for Kubernetes: 1.29, 1.30, and 1.31
6565

6666
### New Features {#new-features-1-124-0}
67-
* You can migrate Helm charts that were installed with HelmChart v1beta1 and `useHelmInstall: false` to HelmChart v1beta2 by passing the `--take-ownership` flag to the `helmUpgradeFlags` field in HelmChart custom resource as shown below:
67+
* You can migrate Helm charts that were installed with HelmChart `v1beta1` and `useHelmInstall: false` to HelmChart `v1beta2` by passing the `--take-ownership` flag to the `helmUpgradeFlags` field in HelmChart custom resource as shown below:
6868

6969
```yaml
7070
# HelmChart v1 beta2
@@ -79,7 +79,7 @@ Support for Kubernetes: 1.29, 1.30, and 1.31
7979
8080
This flag allows Helm to take ownership of existing resources that were installed without Helm, like resources deployed with HelmChart v1beta1 and `useHelmInstall: false`.
8181

82-
To migrate an existing installation from `kots.io/v1beta1` with `useHelmInstall: false` to `kots.io/v1beta2`, reach out to your Replicated account representative in Slack or over email.
82+
For information about how to migrate an existing installation to KOTS HelmChart `v1beta2`, see [Migrating Existing Installations to HelmChart v2](/vendor/helm-v2-migrate).
8383

8484
## 1.123.1
8585

@@ -115,7 +115,7 @@ Released on December 12, 2024
115115
Support for Kubernetes: 1.29, 1.30, and 1.31
116116

117117
### New Features {#new-features-1-122-0}
118-
* Adds support for the `kots.io/keep` annotation, which prevents KOTS from deleting resources during an upgrade if the resource is no longer present in the new release.
118+
* Adds support for the `kots.io/keep` annotation, which prevents KOTS from deleting resources during an upgrade if the resource is no longer present in the new release. This annotation is useful when migrating existing KOTS installations to the KOTS HelmChart v2 installation method. For more information, see [Migrating Existing Installations to HelmChart v2](/vendor/helm-v2-migrate).
119119

120120
## 1.121.2
121121

docs/vendor/helm-v2-migrate.md

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ This topic describes how to migrate existing Replicated KOTS installations to th
44

55
For more information about how KOTS deploys Helm charts, see [About Distributing Helm Charts with KOTS](helm-native-about).
66

7+
For additional support migrating existing installations to HelmChart v2, reach out to your Replicated account representative.
8+
79
## Migrate to HelmChart v2
810

911
There are different migrations paths depending on which of the following methods were used to install the application previously:
@@ -17,8 +19,6 @@ The HelmChart v2 custom resource is supported for installations that use KOTS v1
1719

1820
### Migrate From HelmChart v1 with `useHelmInstall: true`
1921

20-
Your customers can follow the regular upgrade flow in the KOTS Admin Console to update their instance to the new version using HelmChart v2.
21-
2222
To migrate existing installations from HelmChart v1 with `useHelmInstall: true` to HelmChart v2:
2323

2424
1. In a new release, for each HelmChart custom resource in the release, update the `apiVersion` to `kots.io/v1beta2`:
@@ -43,19 +43,30 @@ To migrate existing installations from HelmChart v1 with `useHelmInstall: true`
4343

4444
### Migrate From HelmChart v1 with `useHelmInstall: false`
4545

46-
With HelmChart v1 and `useHelmInstall: false`, KOTS renders the Helm templates and deploys them as standard Kubernetes manifests using `kubectl apply`. With HelmChart v2, KOTS does a Helm install or upgrade of the chart directly.
47-
48-
When migrating to HelmChart v2 from HelmChart v1 and `useHelmInstall: false`, you can use the `kots.io/keep` annotation to ensure that KOTS does not delete any existing resources from the cluster. Additionally, the `--take-ownership` flag will be used to allow Helm to take ownership of existing resources.
46+
This section describes how to migrate existing HelmChart v1 installations with `useHelmInstall: false`. These migration steps ensure that KOTS does not uninstall any resources that were previously deployed without Helm and that Helm can take ownership of these resources.
4947

5048
To migrate existing installations from HelmChart v1 and `useHelmInstall: false` to HelmChart v2:
5149

5250
1. Create a new release containing your application files:
5351

5452
1. Add the `kots.io/keep` annotation to any resources that were previously deployed with `kubectl apply`. This includes any resources packaged as standard Kubernetes manifests or in Helm `templates`. The `kots.io/keep` annotation prevents KOTS from uninstalling these resources when deploying the release with HelmChart v2.
5553

56-
1. In the Embedded Cluster Config, add the `--take-ownership` flag.
54+
1. In the Embedded Cluster Config, add the `--take-ownership` flag to the `helmUpgradeFlags` field, as shown below:
55+
56+
```yaml
57+
# HelmChart v1 beta2
58+
apiVersion: kots.io/v1beta2
59+
kind: HelmChart
60+
metadata:
61+
name: samplechart
62+
spec:
63+
helmUpgradeFlags:
64+
- --take-ownership
65+
```
66+
67+
When the `--take-ownership` flag is enabled, Helm automatically takes ownership of existing resources in the cluster during upgrade.
5768

58-
1. (Recommended) In the KOTS Application custom resource, set `minKotsVersion: 1.122.0` to ensure that the `--take-ownership` flag is supported.
69+
1. (Recommended) In the KOTS Application custom resource, set `minKotsVersion: 1.122.0`. The Helm `--take-ownership` flag is not supported on versions of KOTS earlier than 1.122.0.
5970

6071
1. For each HelmChart custom resource in the release, update the `apiVersion` to `kots.io/v1beta2`:
6172

@@ -71,17 +82,17 @@ To migrate existing installations from HelmChart v1 and `useHelmInstall: false`
7182

7283
1. Configure the HelmChart custom resource to rewrite images, inject pull secrets, and add backup labels. See [Configuring the HelmChart Custom Resource v2](helm-native-v2-using).
7384

74-
1. Promote the release to channel that your team uses for testing.
85+
1. Save the release and promote to channel that your team uses for testing.
7586

7687
1. Install the release in a development environment to test that you can upgrade to the new release successfully.
7788

7889
1. After testing, promote the release to one or more of your customer-facing channels.
7990

8091
Your customers can follow the regular upgrade flow in the Admin Console to update their instance to the new version using HelmChart `v1beta2`.
8192

82-
### Migrate Installations Previously Distributed as Standard Manifests
93+
### Migrate From Standard Kubernetes Manifests
8394

84-
For applications distributed through KOTS that were packaged as standard Kubernetes manifests and are now packaged as one or more Helm charts, migrating to HelmChart v2 requires adding the `kots.io/keep` annotation to any previously-deployed resources. This ensures that KOTS does not delete these existing resources from the cluster when deploying a new release using the KOTS HelmChart v2 method.
95+
This section describes how to migrate existing KOTS installations of applications that were previously packaged as standard Kubernetes manifests and are now packaged as one or more Helm charts. These migration steps ensure that KOTS does not uninstall any resources that were adopted into Helm charts and that Helm can take ownership of resources that were previously deployed without Helm.
8596

8697
To migrate applications that were previously packaged as standard Kubernetes manifests:
8798

@@ -118,7 +129,7 @@ To migrate applications that were previously packaged as standard Kubernetes man
118129

119130
1. Save the release.
120131

121-
1. Test the upgrade flow:
132+
1. Test the upgrade and migration process:
122133

123134
1. Promote the first release to an internal-only channel used for testing.
124135

@@ -174,6 +185,7 @@ The `--take-ownership` flag is required for the following types of migrations:
174185

175186
`--take-ownership` is _not_ needed when migrating from HelmChart v1 with `useHelmInstall: true` to HelmChart v1beta2. This is because the HelmChart v1 with `useHelmInstall: true` method deploys the given application with Helm, rather than using `kubectl apply`.
176187

177-
### Where can I find more help?
188+
### Why is the migration path from HelmChart v1 with `useHelmInstall: false` different than HelmChart v1 with `useHelmInstall: true`?
189+
190+
With HelmChart v1 and `useHelmInstall: false`, KOTS renders the Helm templates and deploys them as standard Kubernetes manifests using `kubectl apply`. This differs from both HelmChart v1 and `useHelmInstall: true` and HelmChart v2, where KOTS installs the release using Helm.
178191

179-
For additional support migrating existing installations to HelmChart v2, reach out to your Replicated account representative.

0 commit comments

Comments
 (0)