The most direct and simple way to install a KOTS application to a Kubernetes cluster is to deploy to an existing cluster that contains nodes that can access the Internet. In this scenario, the container images will be pulled from the upstream registries directly.
To start, first install the Kots CLI kubectl plugin & then run the command that was provided by the application vendor.
kubectl kots install application-name
The kubectl plugin will walk you through the necessary steps to install the application:
$ kubectl kots install application-name Enter the namespace to deploy to: application-name • Deploying Admin Console • Creating namespace ✓ • Waiting for datastore to be ready ✓ Enter a new password to be used for the Admin Console: •••••••• • Waiting for Admin Console to be ready ✓ • Press Ctrl+C to exit • Go to http://localhost:8800 to access the Admin Console
Once this has completed, the kots plugin will create a port-forward to the Admin Console interface. The Admin Console API and Web server are exposed over a ClusterIP service in the namespace provided. The port-forward will be active as long as the CLI is running. Pressing Ctrl+C will end the port forward.
Once this has completed, click the link, or visit
http://localhost:8800 to complete the setup using the Admin Console web-based UI.
At this point, visit
http://localhost:8800 to complete the setup of the application.
Enter the password provided during the setup, and you’ll be redirected to the “Upload License” screen.
At this point, the Admin Console is still just an admin console without an application. Providing a license file will include the entitlements necessary to pull the manifest and images and start the application.
Once the license file is installed, if airgap installations are enabled, an option will be presented to proceed with an airgapped setup. For instructions on performing an airgapped setup, read the airgap doc. For now, this walk through will continue with an online installation.
Most KOTS applications include some required and some optional configuration. This is used to build the final, deployable Kubernetes manifests for the application. The config screen of the setup will prompt for initial values to use in the application. These can be changed later, but must be completed to continue.
Finally, Preflight checks (conformance tests) are executed against the target namespace and cluster to ensure that the environment meets the minimum requirements to support the application.