As of v2021.12.20-0, kURL clusters can be installed without add-ons having a peer dependency on object storage. There is also a migration path for clusters to remove object storage. This eliminates the need for either the Rook or MinIO add-ons.
The following add-ons can now be installed with or without object storage:
disableS3
flag is set to true
for the KOTS add-on, a PV-backed storage location will be created as the default location using the Local-Volume-Provider plugin.kotsadm.disableS3
flag is set to true
in the installer, KOTS will be deployed without an object store. This will deploy KOTS as a StatefulSet using a persistent volume (PV) for storage. It will also disable the use of MinIO for hostpath and NFS snapshot storage destinations.This installer spec is an example of deploying a new cluster without using any object storage.
apiVersion: cluster.kurl.sh/v1beta1
kind: Installer
metadata:
name: no-object-storage
spec:
kubernetes:
version: 1.26.x
containerd:
version: 1.6.x
flannel:
version: 0.20.x
openebs:
version: 3.3.x
isLocalPVEnabled: true
localPVStorageClassName: local
registry:
version: 2.8.x
velero:
version: 1.9.x
kotsadm:
version: 1.93.x
disableS3: true
The migration path to remove object storage dependencies and components involves two steps.
disableS3
to true
in the KOTS Add-OnObject storage can be removed from some of the add-ons in the cluster by simply setting the kotsadm.disableS3
flag in the KOTS addon to true
.
See the documentation in the KOTS add-on for more information on the disableS3
flag.
When you re-install or upgrade using the updated installer spec (see the New Installations section for a sample), you should expect:
disableS3
flag will trigger a migration from the object store into the PV.default
storage location will be updated to point to an attached persistent volume using the Local-Volume-Provider plugin. A migration will be triggered to copy from the object store into the attached PV.To fully remove object storage from the cluster, the current provider must be removed from your installer spec. In the case of MinIO, it is a straightforward removal of the add-on. For clusters using the Rook add-on, another CSI such as OpenEBS is required for storage. Data can be migrated to OpenEBS automatically using existing CSI Migrations.
When you re-install or upgrade using the new updated spec (see the New Installations section for a sample), you should expect:
disableS3
to true
in the KOTS Add-On.disableS3
to true
in the KOTS Add-On.disableS3
flag is set to true
. For more information on that, see Setting disableS3
to true
in the KOTS Add-On.