Skip to content

Shoot purpose

The Shoot resource contains a .spec.purpose field indicating how the shoot is used, whose 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. It is strongly advised 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, it is recommended to carefully plan and select the appropriate purpose during the initial setup phase based on specific requirements.

If you need to modify the purpose of a cluster, it is recommended to create 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
  ...