To include advanced options in the kURL installation script, use the following syntax with -s
before the advanced option flag:
curl https://kurl.sh/latest | sudo bash -s ADVANCED_FLAG
Where ADVANCED_FLAG
is the flag for the advanced option.
For more information about installing with kURL, see Install with kURL.
The install scripts are idempotent. Re-run the scripts with different flags to change the behavior of the installer.
Flag | Description |
---|---|
additional-no-proxy-addresses |
This indicates addresses that should not be proxied in addition to the private IP. Multiple addresses can be specified as a comma separated list of IPs or a range of addresses in CIDR notation.
Example: curl https://kurl.sh/latest | sudo bash -s additional-no-proxy-addresses=192.1.1.1
|
airgap |
Do not attempt outbound Internet connections while installing.
Example: curl https://kurl.sh/latest | sudo bash -s airgap
|
app-version-label |
A version label that indicates to KOTS which version of an application to install. KOTS will install the latest version if this flag is not passed. |
container-log-max-files |
Specifies the maximum number of container log files that can be present for a container. This does not work with Docker. For Docker, see JSON File logging driver.
Example: curl https://kurl.sh/latest | sudo bash -s container-log-max-files=2
|
container-log-max-size |
A quantity defining the maximum size of the container log file before it is rotated. For example: "5Mi" or "256Ki". This does not work with Docker. For Docker, see JSON File logging driver.
Example: curl https://kurl.sh/latest | sudo bash -s container-log-max-size=5Mi
|
exclude-builtin-host-preflights |
Skips the built-in host preflight checks from running and only runs the vendor-defined checks. See Customizing Host Preflights.
Example: curl https://kurl.sh/latest | sudo bash -s exclude-builtin-host-preflights
|
ha |
Install will require a load balancer to allow for a highly available Kubernetes Control Plane.
Example: curl https://kurl.sh/latest | sudo bash -s ha
|
host-preflight-enforce-warnings |
Block installations on host preflight failures and warnings.
Example: curl https://kurl.sh/latest | sudo bash -s host-preflight-enforce-warnings
|
host-preflight-ignore |
Ignore host preflight failures and warnings.
Example: curl https://kurl.sh/latest | sudo bash -s host-preflight-ignore
|
ignore-remote-load-images-prompt |
Bypass prompt to load images on remotes. This is useful for automating upgrades.
Example: curl https://kurl.sh/latest | sudo bash -s ignore-remote-load-images-prompt
|
ignore-remote-upgrade-prompt |
Bypass prompt to upgrade remotes. This is useful for automating upgrades.
Example: curl https://kurl.sh/latest | sudo bash -s ignore-remote-upgrade-prompt
|
installer-spec-file |
This flag takes the path to a ‘patch’ yaml file. The config in this patch will be merged with the existing installer yaml, taking precedence where there is conflict, and will change the installation based on the final config.
Example: curl https://kurl.sh/latest | sudo bash -s installer-spec-file="./patch.yaml"
|
kurl-install-directory |
Override the base directory where kURL will install its dependencies. The path will be suffixed with "/kurl/" ("{kurl-install-directory}/kurl/" ). This directory must exist, be writeable by the kURL installer and must have sufficient disk space (5 GB).
Note: The default is /var/lib/ .
Example: curl https://kurl.sh/latest | sudo bash -s kurl-install-directory="/some/dir"
|
labels |
Apply the given labels to the node. This flag can be used when initially creating a kURL cluster or when adding a node to an existing kURL cluster.
Example: curl https://kurl.sh/latest | sudo bash -s labels=gpu=enabled,type=data
|
load-balancer-address |
The IP:port of a load balancer for the Kubernetes API servers in HA mode.
Example: curl https://kurl.sh/latest | sudo bash -s load-balancer-address="34.124.10.32:80"
|
preserve-docker-config |
This flag will make the kURL installer keep the current docker config of the node, overriding any yaml config.
Example: curl https://kurl.sh/latest | sudo bash -s preserve-docker-config
|
preserve-firewalld-config |
This flag will make the kURL installer keep the current Firewalld config of the node, overriding any yaml config.
Example: curl https://kurl.sh/latest | sudo bash -s preserve-firewalld-config
|
preserve-iptables-config |
This flag will make the kURL installer keep the current Iptables config of the node, overriding any yaml config.
Example: curl https://kurl.sh/latest | sudo bash -s preserve-iptables-config
|
preserve-selinux-config |
This flag will make the kURL installer keep the current SELinux config of the node, overriding any yaml config.
Example: curl https://kurl.sh/latest | sudo bash -s preserve-selinux-config
|
private-address |
The private IP address of the host.
Example: curl https://kurl.sh/latest | sudo bash -s private-address="10.128.0.26"
|
public-address |
The public IP address.
Example: curl https://kurl.sh/latest | sudo bash -s public-address="34.139.108.74"
|
skip-system-package-install |
This flag will tell kURL to skip installing system packages. The user is responsible for installing the required packages beforehand.
Example: curl https://kurl.sh/latest | sudo bash -s skip-system-package-install
|
velero-restic-timeout |
The time interval that backups/restores of pod volumes are allowed to run before timing out. Default is '4h0m0s'.
Example: curl https://kurl.sh/latest | sudo bash -s velero-restic-timeout=12h0m0s
|
velero-server-flags |
Additional flags to pass to the Velero server. This is a comma-separated list of arguments.
Example: curl https://kurl.sh/latest | sudo bash -s velero-server-flags=--log-level=debug,--default-repo-maintain-frequency=12h
|
ekco-enable-internal-load-balancer |
Run an internal load balanacer with HAProxy listening on localhost:6444 on all nodes.
Example: curl https://kurl.sh/latest | sudo bash -s ekco-enable-internal-load-balancer
|
kubernetes-upgrade-ignore-preflight-errors |
Bypass kubeadm upgrade preflight errors and warnings. See the kubeadm upgrade documentation for more information.
Example: curl https://kurl.sh/latest | sudo bash -s kubernetes-upgrade-ignore-preflight-errors=CoreDNSUnsupportedPlugins
|
kubernetes-max-pods-per-node |
The maximum number of Pods that can run on each node (default 110).
Example: curl https://kurl.sh/latest | sudo bash -s kubernetes-max-pods-per-node=200
|