Skip to content

Commit db06511

Browse files
committed
edits
1 parent a6752c9 commit db06511

File tree

3 files changed

+59
-31
lines changed

3 files changed

+59
-31
lines changed

docs/vendor/helm-native-about.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ This section describes how KOTS uses the HelmChart custom resource to deploy Hel
4646

4747
<KotsHelmCrDescription/>
4848

49-
The HelmChart custom resource with `apiVersion: kots.io/v1beta2` is supported with KOTS v1.99.0 and later. For more information, see [About the HelmChart kots.io/v1beta2 Installation Method](#v2-install) below.
49+
The HelmChart custom resource with `apiVersion: kots.io/v1beta2` (HelmChart v2) is supported with KOTS v1.99.0 and later. For more information, see [About the HelmChart kots.io/v1beta2 Installation Method](#v2-install) below.
5050

5151
KOTS versions earlier than v1.99.0 can install Helm charts with `apiVersion: kots.io/v1beta1` of the HelmChart custom resource. The `kots.io/v1beta1` HelmChart custom resource is deprecated. For more information, see [Deprecated HelmChart kots.io/v1beta1 Installation Methods](#deprecated-helmchart-kotsiov1beta1-installation-methods) below.
5252

53-
### About the HelmChart kots.io/v1beta2 Installation Method {#v2-install}
53+
### About the HelmChart v2 Installation Method {#v2-install}
5454

5555
When you include a HelmChart custom resource with `apiVersion: kots.io/v1beta2` in a release, KOTS v1.99.0 or later does a Helm install or upgrade of the associated Helm chart directly.
5656

docs/vendor/helm-native-v2-using.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,8 @@ The `kots.io/v1beta2` HelmChart custom resource has the following differences fr
362362
</tr>
363363
</table>
364364

365-
### Migrate Existing HelmChart v1 Installations to v2
365+
### Migrate Existing KOTS Installations to HelmChart v2
366366

367-
After you complete the tasks in this topic to configure the `kots.io/v1beta2` HelmChart custom resource, you can migrate any existing installations that were deployed with `kots.io/v1beta1` with `useHelmInstall: true` to use `kots.io/v1beta2` instead. For more information, see [Migrating Existing Installations to HelmChart v2](helm-v2-migrate).
367+
Existing KOTS installations can be migrated to use the KOTS HelmChart v2 method, without having to reinstall the application.
368368

369-
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.
369+
There are different steps for migrating to HelmChart v2 depending on the application deployment method used previously. For more information, see [Migrating Existing Installations to HelmChart v2](helm-v2-migrate).

docs/vendor/helm-v2-migrate.md

Lines changed: 54 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,85 @@
11
# Migrating Existing Installations to HelmChart v2
22

3-
This topic provides information about how to migrate existing installations to the Replicated KOTS HelmChart `kots.io/v1beta2` (HelmChart v2) installation method, without having to reinstall the application.
3+
This topic describes how to migrate existing Replicated KOTS installations to the KOTS HelmChart `kots.io/v1beta2` (HelmChart v2) installation method, without having to reinstall the application. It also includes information about how to support both HelmChart v1 and HelmChart v2 installations from a single release, and frequently-asked questions related to migrating to HelmChart v2.
44

5-
It includes steps on how to migrate the following types of installations to use HelmChart v2:
5+
For more information about how KOTS deploys Helm charts, see [About Distributing Helm Charts with KOTS](helm-native-about).
6+
7+
## Migrate to HelmChart v2
8+
9+
There are different migrations paths depending on which of the following methods were used to install the application previously:
610
* HelmChart `kots.io/v1beta1` with `useHelmInstall: true`
711
* HelmChart `kots.io/v1beta1` with `useHelmInstall: false`
8-
* KOTS installations of releases previously packaged as standard Kubernetes manifests
12+
* KOTS installations of releases packaged as standard Kubernetes manifests
913

10-
## Migrate to HelmChart v2
14+
### Requirement
1115

12-
### Migrate From HelmChart v1 and `useHelmInstall: true`
16+
The HelmChart v2 custom resource is supported for installations that use KOTS v1.99.0 or later. If any of your customers are running a version of KOTS earlier than v1.99.0, see [Support Customers on KOTS Versions Earlier Than v1.99.0](#support-both-v1-v2) below for more information about how to support both HelmChart v1 and HelmChart v2 installations from the same release.
1317

14-
To migrate existing installation from HelmChart `kots.io/v1beta1` and `useHelmInstall: true` to HelmChart v2:
18+
### Migrate From HelmChart v1 with `useHelmInstall: true`
1519

16-
1. HelmChart `kots.io/v1beta2` is available for installations that use KOTS v1.99.0 or later.
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.
1721

18-
1. In a new release, update the API version of each HelmChart custom resource to `kots.io/v1beta2`.
22+
To migrate existing installations from HelmChart v1 with `useHelmInstall: true` to HelmChart v2:
1923

20-
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).
24+
1. In a new release, for each HelmChart custom resource in the release, update the `apiVersion` to `kots.io/v1beta2`:
2125

22-
1. Promote the release to a channel that your team uses for internal development. Install the release in a development environment to test that you can upgrade to the new release successfully.
26+
```yaml
27+
# Set apiVersion to kots.io/v1beta2
28+
apiVersion: kots.io/v1beta2
29+
kind: HelmChart
30+
metadata:
31+
name: samplechart
32+
spec:
2333

24-
1. After testing, promote the release to one or more of your customer-facing channels.
34+
```
2535

26-
Your customers can follow the regular upgrade flow in the Admin Console to update their instance to the new version using HelmChart `v1beta2`.
36+
1. Configure the HelmChart custom resource to rewrite images, inject image pull secrets, and add backup labels. See [Configuring the HelmChart Custom Resource v2](helm-native-v2-using).
37+
38+
1. Promote the release to channel that your team uses for testing.
2739

28-
### Migrate From HelmChart v1 and `useHelmInstall: false`
40+
1. Access a development environment where there is an instance of your application that was deployed with KOTS HelmChart v1 with `useHelmInstall: true`. In the development environment, log in to the Admin Console and confirm that you can upgrade to the new HelmChart v2 release.
2941

30-
With HelmChart `kots.io/v1beta1` and `useHelmInstall: false`, KOTS renders the Helm templates and deploys them as standard Kubernetes manifests using `kubectl apply`. With HelmChart `kots.io/v1beta2`, KOTS does a Helm install or upgrade of the chart directly.
42+
1. When you are ready, promote the release to one or more of your customer-facing channels.
3143

32-
To ensure that KOTS does not delete any existing resources when migrating to HelmChart `v1beta2`, you will add the `kots.io/annotation` to each resource that was previously deployed with `kubectl apply`. Additionally, to allow Helm to take ownership of existing resources, ensure that the `--take-ownership` flag is passed to the Helm upgrade command by updating the Embedded Cluster Config.
44+
### Migrate From HelmChart v1 with `useHelmInstall: false`
3345

34-
To migrate existing installation from HelmChart `v1beta1` and `useHelmInstall: false` to HelmChart `v1beta2`:
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.
3547

36-
1. Add the `kots.io/keep` annotation to the resources in your release that were previously deployed with `kubectl apply`. This ensures that KOTS does not delete these resources when deploying the release with Helm.
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.
49+
50+
To migrate existing installations from HelmChart v1 and `useHelmInstall: false` to HelmChart v2:
51+
52+
1. Create a new release containing your application files:
53+
54+
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.
55+
56+
1. In the Embedded Cluster Config, add the `--take-ownership` flag.
57+
58+
1. (Recommended) In the KOTS Application custom resource, set `minKotsVersion: 1.122.0` to ensure that the `--take-ownership` flag is supported.
3759

38-
1. For each Helm chart in your release, add the `kots.io/keep` annotation to any resources in the `templates` directory.
60+
1. For each HelmChart custom resource in the release, update the `apiVersion` to `kots.io/v1beta2`:
3961

40-
1. Add the `kots.io/keep` annotation to any resources in your release that are not part of a Helm chart, including any resources packaged as standard Kubernetes manifests.
62+
```yaml
63+
# Set apiVersion to kots.io/v1beta2
64+
apiVersion: kots.io/v1beta2
65+
kind: HelmChart
66+
metadata:
67+
name: samplechart
68+
spec:
4169
42-
1. Update the version of each HelmChart custom resource to `kots.io/v1beta2`.
70+
```
4371

44-
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).
72+
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).
4573

46-
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).
74+
1. Promote the release to channel that your team uses for testing.
4775

48-
1. Promote the release to a channel that your team uses for internal development. Install the release in a development environment to test that you can upgrade to the new release successfully.
76+
1. Install the release in a development environment to test that you can upgrade to the new release successfully.
4977

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

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

54-
### Migrate KOTS Installations Previously Distributed as Standard Manifests
82+
### Migrate Installations Previously Distributed as Standard Manifests
5583

5684
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.
5785

@@ -87,9 +115,9 @@ To migrate applications that were previously packaged as standard Kubernetes man
87115

88116
1. Instruct customers to migrate by first upgrading to the release packaged with standard manifests, then upgrading to the release packaged with Helm second.
89117

90-
## Support Customers on KOTS Versions Earlier Than 1.99.0
118+
## Support Customers on KOTS Versions Earlier Than v1.99.0 {#support-both-v1-v2}
91119

92-
The HelmChart v2 installation method requires KOTS 1.99.0 or later. If you have existing customers that have not yet upgraded to KOTS 1.99.0 or later, Replicated recommends that you support both the HelmChart v2 and v1 installation methods from the same release until all installations are running KOTS 1.99.0 or later.
120+
The HelmChart v2 installation method requires KOTS v1.99.0 or later. If you have existing customers that have not yet upgraded to KOTS v1.99.0 or later, Replicated recommends that you support both the HelmChart v2 and v1 installation methods from the same release until all installations are running KOTS v1.99.0 or later.
93121

94122
To support both installation methods from the same release, include both versions of the HelmChart custom resource for each Helm chart in your application releases:
95123
* HelmChart `kots.io/v1beta2`

0 commit comments

Comments
 (0)