Skip to content

Commit f2c835e

Browse files
authored
Merge pull request #1989 from replicatedhq/intro-kots
Update about KOTS and kURL
2 parents 3f0646a + cec545b commit f2c835e

File tree

5 files changed

+103
-26
lines changed

5 files changed

+103
-26
lines changed

docs/intro-kots.md

Lines changed: 50 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,76 @@
22
displayed_sidebar: kots
33
---
44

5-
# About KOTS and kURL
5+
import Kots from "../docs/partials/kots/_kots-definition.mdx"
66

7-
This topic describes Replicated KOTS and Replicated kURL, used for installing and upgrading applications in a Kubernetes cluster, and the Replicated admin console, used for managing application instances.
7+
# Introduction to KOTS
8+
9+
This topic provides an introduction to the Replicated KOTS installer, including information about KOTS features, installation options, and user interfaces.
810

911
:::note
10-
You must have the Replicated KOTS entitlement to use the KOTS and kURL installers and features.
12+
The Replicated KOTS entitlement is required to install applications with KOTS. For more information, see [Pricing](https://www.replicated.com/pricing) on the Replicated website.
1113
:::
1214

13-
## Replicated KOTS
15+
## Overview
16+
17+
<Kots/>
1418

15-
Vendors that want to provide a UI-based installation and management experience for applications can leverage KOTS, which provides highly successful installs in diverse environments using a single installer. KOTS is a kubectl plugin that automates installations, making it quick and easy to install with minimal expertise. Applications are deployed securely to on-prem, online, and air gap environments.
19+
KOTS communicates securely with the Replicated vendor platform to synchronize customer licenses, check for available application updates, send instance data, share customer-generated support bundles, and more.
1620

17-
When KOTS is combined with kURL, kURL provisions an embedded cluster on a virtual machine (VM) or bare metal server for customers that do not have their own Kubernetes cluster. Then KOTS installs the application on the embedded cluster. For more information about kURL, see [kURL](#kurl).
21+
Installing an application with KOTS provides access to feautures such as:
1822

19-
KOTS also provides the Replicated admin console to make it easy for customers to install, upgrade, and manage their application instance. Customers can also use the kots CLI for installing and manage applications. For more information, see [Admin Console](#admin-console) and [kots CLI](#kots-cli).
23+
* Support for air gap installations
24+
* Support for installations on VMs or bare metal servers
25+
* The KOTS admin console, which provides a user interface where customers can install and manage their application instances
26+
* Instance telemetry automatically sent to the vendor portal for instances running in customer environments
27+
* Strict preflight checks that block installation if environment requirements are not met
28+
* Backup and restore with Replicated snapshots
29+
* Support for marking releases as required to prevent users from skipping them during upgrades
2030

2131
KOTS is an open source project that is maintained by Replicated. For more information, see the [kots](https://github.com/replicatedhq/kots) repository in GitHub.
2232

23-
## Admin Console
33+
## About Installing with KOTS
2434

25-
The admin console is a customer-facing user interface that includes built-in functionality allowing users to install, manage, update, configure, monitor, backup and restore, and troubleshoot their application instances. The admin console communicates securely with KOTS to synchronize licenses, check for upgrades, and so on.
35+
KOTS can be used to install applications in Kubernetes clusters, including:
36+
* Existing clusters brought by the user
37+
* Online or air gapped clusters
38+
* Embedded clusters provisioned on VMs or bare metal servers with Replicated embedded cluster or Replicated kURL
2639

27-
![Admin Console Dashboard](/images/guides/kots/application.png)
40+
To install an application with KOTS, users first run an installation script to install KOTS in the target cluster and deploy the KOTS admin console. After KOTS is installed, users can log in to the KOTS admin console to upload their license file, configure the application, run preflight checks, and install and deploy the application.
2841

29-
[View a larger version of this image](/images/guides/kots/application.png)
42+
The following diagram demonstrates how a single release promoted to the Stable channel in the Replicated vendor platform can be installed using KOTS in an embedded cluster on a VM, in an air gapped cluster, and in an existing internet-connected cluster:
43+
44+
<img alt="Embedded cluster, air gap, and existing cluster app installation workflows" src="/images/kots-installation-overview.png" width="650px"/>
45+
46+
[View a larger version of this image](/images/kots-installation-overview.png)
47+
48+
As shown in the diagram above:
49+
* For installations in existing internet-connected clusters, users run a command to install KOTS in their cluster.
50+
* For embedded cluster installations on VMs or bare metal servers, users run an installation script that both provisions a cluster in their environment and installs KOTS in the cluster.
51+
* For installations in air gapped clusters, users download air gap bundles for KOTS and the application from the Replicated download portal and then provide the bundles during installation.
3052

31-
<!--
32-
The admin console features include:
53+
All users must provide a license file to install with KOTS. After KOTS is installed in the cluster, users can access the KOTS admin console to provide their license file and deploy the application.
3354

34-
- **Config Screen:** Customize the customer-facing Config screen in the admin console to collect required or optional values from your customers that are used to run your application.
35-
- **Custom Admin Console:** Customize the admin console with your company's branding, release notes, custom graphs display, application status display, and more.
36-
- **Backup and Restore:** Enable backup and restore capabilities so that customers can implement full disaster recovery protection for the application and the admin console.
37-
- **RBAC:** Use role-based access control (RBAC) for clusters and namespaces. By default, the KOTS installation sets RBAC for the cluster, but you can scope it to namespaces instead.
38-
-->
55+
For more information about how to install applications with KOTS, see the [Installing an Application](/enterprise/installing-overview) section.
3956

40-
## kots CLI
57+
## KOTS User Interfaces
4158

42-
The kots command-line interface (CLI) is a kubectl plugin. Customers can run commands with the kots CLI to install and manage their application instances with KOTS programmatically. For more information, see [Installing the kots CLI](/reference/kots-cli-getting-started).
59+
This section describes the KOTS interfaces available to users for installing and managing applications.
4360

44-
## kURL
61+
### KOTS Admin Console
62+
63+
KOTS provides an admin console to make it easy for users to install, manage, update, configure, monitor, backup and restore, and troubleshoot their application instance from a GUI.
64+
65+
The following shows an example of the admin console dashboard for an application:
66+
67+
![Admin Console Dashboard](/images/guides/kots/application.png)
68+
69+
[View a larger version of this image](/images/guides/kots/application.png)
4570

46-
Replicated kURL provisions Kubernetes clusters, which allow customers who do not have an existing cluster to install your application without provisioning a cluster themselves. Clusters created by kURL are called _embedded clusters_. Embedded clusters can be provisioned in online or air gap environments.
71+
### kots CLI
4772

48-
kURL has a built-in integration with KOTS through its KOTS add-on. With this integration, customers can run a kURL installation script in their virtual machine (VM) or bare metal server, which creates a cluster and then automatically installs KOTS in the cluster. Your application is then deployed with KOTS.
73+
The kots command-line interface (CLI) is a kubectl plugin. Customers can run commands with the kots CLI to install and manage their application instances with KOTS programmatically.
4974

50-
For information about how to install applications in embedded clusters, see [Installing with kURL](/enterprise/installing-embedded-cluster). For information about how to create a specification for kURL, see [Creating a Kubernetes Installer](/vendor/packaging-embedded-kubernetes).
75+
For information about getting started with the kots CLI, see [Installing the kots CLI](/reference/kots-cli-getting-started).
5176

52-
kURL is an open source project that is maintained by Replicated. For more information, see the [kURL repository](https://github.com/replicatedhq/kURL) in GitHub and the [kURL documentation](https://kurl.sh).
77+
The kots CLI can also be used to install an application without needing to access the admin console. This can be useful for automating installations and upgrades. For information about how to run automated installations with the kots CLI, see [Installing with Automation](/enterprise/installing-existing-cluster-automation).
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Replicated KOTS is a kubectl plugin and an in-cluster admin console that provides highly successful installations of Helm charts and Kubernetes applications into customer-controlled environments, including on-prem and air gap environments. KOTS also supports installations onto VMs or bare metal servers through _embedded clusters_, which are clusters built from a customized Kubernetes distribution embedded with an application and provisioned in the customer environment at the time of installation.
1+
Replicated KOTS is a kubectl plugin and an in-cluster admin console that provides highly successful installations of Helm charts and Kubernetes applications into customer-controlled environments, including on-prem and air gap environments. KOTS also supports installations on VMs or bare metal servers through _embedded clusters_, which are clusters built from a customized Kubernetes distribution embedded with an application and provisioned in the customer environment at the time of installation.

docs/vendor/kurl-about.mdx

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Introduction to kURL
2+
3+
This topic provides an introduction to the Replicated kURL installer, including information about kURL specifications and installations.
4+
5+
:::note
6+
The Replicated KOTS entitlement is required to install applications with KOTS and kURL. For more information, see [Pricing](https://www.replicated.com/pricing) on the Replicated website.
7+
:::
8+
9+
## Overview
10+
11+
kURL is an open source project maintained by Replicated that software vendors can use to create custom Kubernetes distributions that are embedded with their application. Enterprise customers can then run a kURL installation script on their virtual machine (VM) or bare metal server to provision a cluster and install the application. This allows software vendors to distribute Kubernetes applications to customers that do not have access to a cluster in their environment.
12+
13+
For more information about the kURL open source project, see the [kURL website](https://kurl.sh).
14+
15+
### Kubernetes Installer Specs
16+
17+
To provision a cluster, kURL uses a spec that is defined in a manifest file with `apiVersion: cluster.kurl.sh/v1beta1` and `kind: Installer`. This _Kubernetes installer_ spec can be customized according to the application requirements by including add-ons. kURL provides add-ons for networking, storage, ingress, and more. kURL also provides a KOTS add-on, which installs KOTS in the cluster and deploys the KOTS admin console.
18+
19+
Installer specs can be embedded with an application by promoting the spec to the same channel as the target application release in the Replicated vendor platform. When an installer spec is promoted to a channel, all releases on the channel use the installer for installations with kURL.
20+
21+
For more information about creating Kubernetes installer specs for kURL, see [Creating a Kubernetes Installer](/vendor/packaging-embedded-kubernetes).
22+
23+
### kURL Installations
24+
25+
To install with kURL, users run a kURL installation script on their VM or bare metal server to provision a cluster.
26+
27+
When the KOTS add-on is included in the Kubernetes installer spec, the kURL installation script installs the kots CLI and KOTS admin console in the cluster. After the installation script completes, users can access the admin console at the URL provided in the ouput of the command to configure and deploy the application with KOTS.
28+
29+
The following shows an example of the output of the kURL installation script:
30+
31+
```bash
32+
Installation
33+
Complete ✔
34+
35+
Kotsadm: http://10.128.0.35:8800
36+
Login with password (will not be shown again): 3Hy8WYYid
37+
38+
This password has been set for you by default. It is recommended that you change
39+
this password; this can be done with the following command:
40+
kubectl kots reset-password default
41+
```
42+
43+
kURL installations are supported in online (internet-connected) and air gapped environments.
44+
45+
For information about how to install applications with kURL, see [Online Installation with kURL](/enterprise/installing-embedded-cluster).
46+
47+
## About the Open Source kURL Documentation
48+
49+
The open source documentation for the kURL project is available at [kurl.sh](https://kurl.sh/docs/introduction/).
50+
51+
The open source kURL documentation contains additional information including kURL installation options, kURL add-ons, and procedural content such as how to add and manage nodes in kURL clusters. Software vendors can use the open source kURL documentation to find detailed reference information when creating Kubernetes installer specs or testing installation.

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ const sidebars = {
9191
type: 'category',
9292
label: 'Replicated kURL',
9393
items: [
94+
'vendor/kurl-about',
9495
'vendor/packaging-embedded-kubernetes',
9596
'vendor/packaging-installer-storage',
9697
'vendor/kurl-nodeport-services',
79.6 KB
Loading

0 commit comments

Comments
 (0)