Shoot purpose

The Shoot resource contains a .spec.purpose field indicating how the Shoot is used. Its allowed values are as follows:

  • evaluation (default): Indicates that the Shoot cluster is for evaluation scenarios.
  • development : Indicates that the Shoot cluster is for development scenarios.
  • testing : Indicates that the Shoot cluster is for testing scenarios.
  • production : Indicates that the Shoot cluster is for production scenarios.
  • infrastructure : Indicates that the Shoot cluster is for infrastructure scenarios (only allowed for Shoots in the Garden namespace).

Shoot purpose selection

When deploying Shoot clusters, it is essential to choose the appropriate purpose for your clusters during initial setup.

Danger

We strongly advise not to change the cluster purpose after the cluster has been deployed.
Changing the cluster purpose after deployment can have unintended consequences and may lead to potential issues and disrupt cluster stability.

To ensure smooth and reliable operation of Shoot clusters, we recommend carefully planning and selecting the appropriate purpose during the initial setup phase based on specific requirements.

Info

If you need to modify the purpose of a cluster, we recommend creating a new Shoot cluster with desired purpose.

Behavioral Differences

The following enlists the differences in the way the Shoot clusters are set up based on the selected purpose:

  • testing: Shoot clusters do not get a monitoring or a logging stack as part of their control planes.
  • production: Shoot clusters get at least two replicas of the kube-apiserver for their control planes.
  • Auto-scaling scale down of the main ETCD is disabled for such clusters.

EXAMPLE

Here is demonstration of defining the Shoot purpose in shoot.yaml manifest.

apiVersion: core.gardener.cloud/v1beta1
kind: Shoot
metadata:
  name: test
  namespace: garden-dev
spec:
  purpose: evaluation
  ...