For unauthenticated users, kURL will calculate a hash based on the selected components and their versions. This hash becomes the name & unique identifier of that installer for all installation methods (standard, HA and airgap). For example, the airgap installer for
fa57b02 can be found at
To run the latest version of the install script:
curl https://kurl.sh/latest | sudo bash
kURL installers support a handful of end-user defined advanced options that can be enabled with install script flags. These can be used in combination with both online and airgapped installers. The list of options and their expected values is available here: kURL Advanced Install Options.
curl https://kurl.sh/latest | sudo bash -s ha
HA installs will prompt and wait for an optional load balancer address to be provided in the install process. This will route external and internal traffic to the API servers. In the absence of a load balancer address, all traffic will be routed to the first master. This prompt can be bypassed during the install process by specifying the address in the flag
load-balancer-address=<address> in the install script.
To install Kubernetes in an airgapped environment, first fetch the installer archive:
curl -LO https://kurl.sh/bundle/latest.tar.gz
After copying the archive to your host, untar it and run the install script:
tar xvf latest.tar.gz cat install.sh | sudo bash
Airgapped HA is available through:
tar xvf latest.tar.gz cat install.sh | sudo bash -s ha
latest is a specific distro that is managed by the team at Replicated. This installer provides the most recent version of several add-ons and the most recent version of Kubernetes that kURL supports. Currently the spec for
apiVersion: "kurl.sh/v1beta1" kind: "Installer" metadata: name: "" spec: kubernetes: version: "latest" weave: version: "latest" rook: version: "latest" contour: version: "latest" docker: version: "latest" prometheus: version: "latest" registry: version: "latest"