This article refers to installing the Admin Console along with an embedded cluster. When running the Admin Console on an existing cluster, refer to the Installing the Admin Console documentation.
Replicated KOTS leverages a deep integration with the Replicated kURL project in order to provide native embedded Kubernetes cluster support. More documentation on installing with kURL (including advanced install options) is available at kurl.sh/docs.
To install the Admin Console with an embedded cluster, simply run the installation script provided by the application developer.
curl -sSL https://kurl.sh/supergoodtool | sudo bash
To install an airgapped embedded cluster, download the airgap bundle, untar it, and run the install.sh script.
You can construct the URL for the bundle by prefixing the above online URL path with /bundle
and adding .tar.gz
to the end.
curl -SL -o supergoodtool.tar https://kurl.sh/bundle/supergoodtool.tar.gz
tar xvf supergoodtool.tar
cat install.sh | sudo bash -s airgap
kURL currently uses .tar.gz
extension for a .tar
file, hence the -o *.tar
.
Note that the airgap bundle above only includes the Admin Console components, which are required in order to install the application. After this command completes, the application can be installed using the application airgap bundle.
kubectl kots install myapp \
--airgap-bundle ./myapp-1.0.165.airgap \
--license-file ./license.yaml \
--config-values ./config.yaml \
--namespace default \
--shared-password password
Both online and airgapped installations can be configured in high-availability mode.
When installing a highly available cluster, the script will prompt for a load balancer address.
The load balancer can be preconfigured by passing in the load-balancer-address=<host:port>
flag.
This load balancer should be configured to distribute traffic to all healthy control plane nodes in its target list.
This should be a TCP forwarding load balancer.
The health check for an apiserver is a TCP check on the port the kube-apiserver listens on (default value :6443).
For more information on the kube-apiserver load balancer see https://kubernetes.io/docs/setup/independent/high-availability/#create-load-balancer-for-kube-apiserver.
In the absence of a load balancer, all traffic will be routed to the first master.
curl -sSL https://kurl.sh/supergoodtool | sudo bash -s ha
or
cat install.sh | sudo bash -s airgap ha
Supported operating systems and minimum system requirements are specified by Replicated kURL.
Visit the /cluster/manage
page in the Kotsadm web console to generate scripts for joining additional worker and master nodes.
For airgapped installations, the airgap bundle must also be downloaded and extracted on the remote node prior to running the join script.