Onboarding with KOTS
This topic describes how to onboard with Replicated KOTS, including prerequisites and the list of custom resources to add to your releases in order to support KOTS installations.
Prerequisites
If you are new to Replicated, complete the following prerequisites before you get started with KOTS:
-
Create an account in the Vendor Portal. You can either create a new team or join an existing team. For more information, see Creating a Vendor Account.
-
Complete a basic Replicated onboarding workflow to create an application and then promote and install initial releases in a development environment:
-
(Recommended) For Helm chart-based applications, Replicated recommends that you complete the Replicated Quick Start workflow before getting started with KOTS. The workflow in Replicated Quick Start demonstrates how to add a Helm chart to a release in the vendor platform and then install with the Helm CLI.
notePackaging your application with Helm is recommended because it allows you to support both installations with the Helm CLI and with KOTS from the same release, without having to maintain separate sets of Helm charts or application manifests.
-
Alternatively, if you do not intend to distribute a Helm application with Replicated, see Install with KOTS in an Existing Cluster for a workflow that uses a sample application with Kubernetes manifests.
-
Add Custom Resources
You can add custom resources to your releases to support installations with KOTS. The custom resources are consumed by KOTS and are not deployed to the cluster. This section provides a checklist of the custom resources to add as well as information about how to add and test custom resources.
How to Add Custom Resources
Replicated recommends that you configure and add one custom resource at a time by creating a release and then upgrading in a development environment to test. You can add these custom resources to releases in any order that you prefer.
For more information about creating releases, see Managing Releases with the Vendor Portal. For more information about installing and upgrading with KOTS, see About Installing an Application and Performing Updates in Existing Clusters.
Custom Resource Checklist
This section lists the required and recommended custom resources to add to your releases to enable KOTS installations for your application. The custom resources are grouped in the following categories:
KOTS Admin Console
The following custom resources can be added to customize the Admin Console experience for your application and enable recommended features for KOTS.
Custom Resource | Description | How To |
---|---|---|
KOTS Application | Control the KOTS Admin Console experience for your application. | Application |
Kubernetes SIG Application | Add links to the Admin Console dashboard. A common use case for the Kubernetes Application custom resource is adding a button to the dashboard that users can click to navigate to port forwarded services for your application. | Adding Application Links to the Dashboard |
Config | Create a configuration screen in the Admin Console to collect required and optional configuration values from your users. Note: This feature does not apply to Kubernetes Operators. | Creating and Editing Configuration Fields |
Preflight | Define preflight checks to test for system compliance during installation and upgrade to reduce the number of support escalations. | Defining Preflight Checks |
SupportBundle | Enable customers to quickly collect and analyze troubleshooting data from their clusters to help you diagnose problems with application deployments. | Adding and Customizing Support Bundles |
Backup | Enable snapshots with Velero so that end users can back up and restore their application data. | Configuring Backup and Restore |
Helm Chart Installations
The HelmChart custom resource is required to install Helm charts with KOTS.
Custom Resource | Description | How To |
---|---|---|
HelmChart | Provides instructions for KOTS about how to deploy a given Helm chart. | Configuring the HelmChart Custom Resource |
Embedded Kubernetes
The following custom resources can be added to embed Kubernetes with your application to support KOTS installations in VMs or bare metal servers.
You can choose to use either Replicated Embedded Cluster or Replicated kURL to embed Kubernetes. For more information, see About Embedded Kubernetes.
Custom Resource | Description | How To |
---|---|---|
Embedded Cluster Config | Create an embedded cluster config to support installations in VMs or bare metal servers with Replicated Embedded Cluster. | Using Embedded Cluster |
Installer | Create an Installer spec to support installations in VMs or bare metal servers with Replicated kURL. | Creating a kURL Installer |
Distribute the SDK with your Application
The Replicated SDK is a Helm chart that can be installed as a small service alongside your application. The SDK can be installed alongside applications packaged as Helm charts or Kubernetes manifests. The SDK can be installed using the Helm CLI or KOTS.
For information about how to distribute and install the SDK with your application, see Installing the Replicated SDK.
Replicated recommends that the SDK is distributed with all applications because it provides access to key Replicated functionality, such as:
- Automatic access to insights and operational telemetry for instances running in customer environments, including granular details about the status of different application resources. For more information, see About Instance and Event Data.
- An in-cluster API that you can use to embed Replicated features into your application, including:
- Collect custom metrics on instances running in online or air gap environments. See Configuring Custom Metrics.
- Check customer license entitlements at runtime. See Querying Entitlements with the Replicated SDK API and Verifying License Field Signatures with the Replicated SDK API.
- Provide update checks to alert customers when new versions of your application are available for upgrade. See Support Update Checks in Your Application in Replicated SDK API.
- Provide update checks to alert customers when new versions of your application are available for upgrade. See Support Update Checks in Your Application in Replicated SDK API (Beta).
- Programatically name or tag instances from the instance itself. See Programatically Set Tags.
Configure Additional Replicated Features
Review the Features Checklist in Replicated Quick Start for a list of features to integrate with your application to fully onboard onto the Replicated platform.
For example, you can add custom domains for the Replicated registry and app service, configure checks in your application for custom license entitlements, collect custom metrics using the Replicated SDK API, and more.