The KOTS add-on installs an admin console for managing KOTS apps.
By default, this add-on requires an S3-compatible object store be available in the cluster.
Both the Rook and the MinIO add-ons satisfy the object store requirement.
To deploy KOTS without an object store, set the disableS3
flag in the installer to true
.
This will install KOTS as a StatefulSet using a persistent volume (PV) for storage.
spec:
kotsadm:
version: "latest"
applicationSlug: "slug"
uiBindPort: 8800
hostname: "hostname"
applicationNamespace: "kots"
disableS3: true
Flag | Usage |
---|---|
version | The version of kotsadm to be installed. |
applicationSlug | The slug shown on the app settings page of vendor web |
uiBindPort | This is the port where the KOTS admin console can be interacted with via browser |
hostname | The hostname that the admin console will be exposed on |
applicationNamespace | An additional namespace that should be pre-created during the install (For applications that install to other namespaces outside of the one where kotsadm is running) |
applicationVersionLabel | The application version label to be installed. If not specified, the latest version will be installed. |
disableS3 | Migrate application archives and support bundles from S3 and use a local volume in the kotsadm statefulset instead. Also changes nfs and hostpath snapshots from using minio to using the local-volume-provider plugin. The migration process is irreversible and will replace the kotsadm deployment with a statefulset. This reduces KOTS's dependency to an object store for the application archives and support bundle archives. Defaults to 'false.' |
disableS3
FlagObject storage is used by the KOTS add-on in the following ways:
When the disableS3
flag is set to true
, the admin console will switch to use a PV for all of the direct operations mentioned above. Necessary migrations will be performed.
It will also have the following effects outside of the KOTS add-on:
Note: The flag must be set to perform migrations.
For installing KOTS apps in airgap mode, the registry add-on must also be included.
apiVersion: "cluster.kurl.sh/v1beta1"
kind: "Installer"
spec:
kubernetes:
version: latest
containerd:
version: latest
flannel:
version: latest
rook:
version: latest
ekco:
version: latest
registry:
version: latest
kotsadm:
version: latest
apiVersion: "cluster.kurl.sh/v1beta1"
kind: "Installer"
spec:
kubernetes:
version: latest
containerd:
version: latest
flannel:
version: latest
openebs:
version: latest
isLocalPVEnabled: true
localPVStorageClassName: local
minio:
version: latest
registry:
version: latest
kotsadm:
version: latest
apiVersion: "cluster.kurl.sh/v1beta1"
kind: "Installer"
spec:
kubernetes:
version: latest
docker:
version: latest
flannel:
version: latest
openebs:
version: latest
isLocalPVEnabled: true
localPVStorageClassName: local
registry:
version: latest
kotsadm:
version: latest
disableS3: true