Skip to main content

cluster prepare

Create a cluster and a release, then install the release in the cluster. This allows you to deploy applications to a cluster for compatibility testing without needing to promote a release to a channel or create a temporary customer. For more information, see About the Compatibility Matrix.

note

cluster prepare is not recommended for production testing. For production testing, use cluster create instead.

Usage

replicated cluster prepare [flags]
FlagType (if applicable)Description
-h, --helpHelp for the command.
--diskintegerThe disk size (GiB) to request per node. Default: 50
--distributionstringThe Kubernetes cluster distribution type to provision. Default: kind
--instance-typestringThe type of instance to use for nodes in the cluster. See Supported Compatibility Matrix Cluster Types (Beta).
--namestringThe name of the cluster. If no name is specified, a name will be generated.
--node-countintegerThe node count. Default: 1
--ttlstringThe cluster Time to Live (TTL) duration, in hours, before the cluster is automatically deleted by the service. TTL starts when the cluster is in a Ready state. Valid values: 1 - 48. Default: 1
--versionstring(Required) The Kubernetes version to provision. For OpenShift clusters, provide the supported OpenShift version. The format is distribution dependent. For supported versions, see Supported Compatibility Matrix Cluster Types (Beta).
--waitdurationThe wait duration for the cluster to be ready. Default: 5 minutes
--cluster-idstringThe ID of an existing cluster to use instead of creating a new ID.
--entitlementsstringThe entitlements to set on the customer. You can specify multiple entitlements.
--namespacestringThe namespace in which to deploy the KOTS or Helm chart application. Default: default
--app-ready-timeoutstringTimeout to wait for the application to be ready. Requires the Go duration format (e.g., 10s, 2m). Default: 5 minutes
--chartstringThe path to the Helm chart for a release.
--valuesstringSpecify values in a YAML file or a URL. You can specify multiple values.
--setstringSet values using the command line. Specify multiple or separate values with commas: key1=val1,key2=val2.
--set-stringstringSet String values using the command line. Specify multiple or separate values with commas: key1=val1,key2=val2.
--set-filestringSet values from respective files specified using the command line. Specify multiple or separate values with commas: key1=path1,key2=path2.
--set-jsonstringSet JSON values using the command line. Specify multiple or separate values with commas: key1=jsonval1,key2=jsonval2.
--set-literalstringSet a literal String value using the command line.
--yamlstringThe YAML config for this release. Use - to read from stdin. Cannot be used with the --yaml-file flag.
--yaml-filestringThe YAML config for this release. Cannot be used with the --yaml flag.
--yaml-dirstringThe directory containing multiple YAML files for a KOTS release. Cannot be used with the --yaml flag.
--config-values-filestringPath to a manifest containing config values. Must use apiVersion: kots.io/v1beta1, kind: ConfigValues.
--shared-passwordstringShared password for the KOTS admin console.

Examples

  • For a Helm application with a kind distribution:

    replicated cluster cluster prepare \
    --distribution kind \
    --version 1.27.0 \
    --chart nginx-chart-0.0.14.tgz \
    --set key1=val1,key2=val2 \
    --set-string s1=val1,s2=val2 \
    --set-json j1='{"key1":"val1","key2":"val2"}' \
    --set-literal l1=val1,l2=val2 \
    --values values.yaml
  • For a KOTS-based application with a k3s distribution:

    replicated cluster prepare \
    --distribution k3s \
    --version 1.26 \
    --namespace config-validation \
    --shared-password password \
    --app-ready-timeout 10m \
    --yaml-dir config-validation \
    --config-values-file conifg-values.yaml \
    --entitlements "num_of_queues=5"