Skip to content

Create & Delete via OSC Dashboard

Accessing Garden Cluster

To gain access to the Garden cluster, please refer to the documentation in Identity and Access Management.

Important notes before deployment

For comprehensive details on the various configuration options and their specific uses, please refer to the Gardener Shoot Spec Configuration Documentation. This resource provides the guidance necessary to understand and apply the correct settings for your Shoot cluster.

Please note that the Shoot manifest can be quite complex, with various settings and extensions that can be specified. Ensure that your manifest aligns with your requirements and the specific needs of your cluster.

Important Shoot CIDR considerations

For more information regarding the Shoot's network setup, please consult the Shoot CIDR information page.

An incorrect CIDR block definition will prevent the correct deployment or function of the Shoot cluster.

Infrastructure secret

To able to deploy Shoot cluster you need to configure an Infrastructure Secret. Please refer to the documentation which describes the process. The secret value will be provided by OSC.

Project and Shoot name length limitation with an Ingress controller

If you plan to use an Ingress controller — the OSC provided one or your own — you need to take into account the length limit for the Project and Shoot names.

Shoot number limit

To prevent overloading of the Seed clusters, a limit on the number of creatable Shoot clusters were defined during the initial onboarding process.

Shoot creation will be refused if this limit is reached. Please contact OSC support in this case.

Deploying a Shoot cluster

There are two methods for deploying a Shoot cluster:

  1. Deploying using the OSC dashboard
  2. Deploying using Manifest

Deploying using the OSC dashboard

  1. Connect to the OSC dashboard (a link and initial password will be provided). For information on how to log in, please refer to Authentication Guidelines.

  2. Select a Project.

    osc-dashboard-projects

  3. Navigate to the Clusters section and click the "+" sign.

    osc-create-cluster-plus-sign

  4. Edit the Cluster name and use the pre-set secret.

    Please keep Shoot cluster name as short as possible to prevent breaking 63 character limit for resources that are automatically deployed during Shoot cluster deployment based on Shoot cluster name.

    cluster-name

  5. Select a machine flavor. If deployment fails, try switching to another zone, as resources in the current zone might be used up.

    machine-type

    For additional information's about shoot worker-pool management, please navigate to the Shoot worker-pool management

  6. Switch from "OVERVIEW" to "YAML" at the top of the page.

    switch

  7. Additionally, consider adding extensions:

    spec:
      extensions:
        - type: osc-dexclient-service
        - type: shoot-dns-service
    
  8. At the bottom of the dashboard, click the "SAVE" button to initiate the deployment of the Shoot cluster.

Deploying using Manifest

To configure Shoot settings using a manifest, follow these steps:

  1. Create a YAML manifest for the Shoot. In the upper part of the YAML definition, provide the name and namespace. The namespace represents the garden project where the Shoot object is logically located in the garden cluster. The format for the namespace is garden-<myproject> (e.g., garden-myproject).

    apiVersion: core.gardener.cloud/v1beta1
    kind: Shoot
    metadata:
      name: <name of the shoot>
      namespace: garden-myproject
    
    name
    Name of the Shoot cluster. Please keep Shoot cluster name as short as possible to prevent breaking 63 character limit for resources that are automatically deployed during Shoot cluster deployment based on Shoot cluster name.
    namespace
    Represents the garden project (e.g., garden-myproject).
  2. Specify the components and configurations in the spec section, including:

    addons
    Addons configuration.
    cloudProfileName (Required)
    Name of the CloudProfile.
    controlPlane
    General settings for the control plane.
    extensions
    Extension information.
    hibernation
    Information about whether the Shoot is suspended.
    kubernetes
    Control plane version and configuration.
    maintenance
    Maintenance operations settings.
    networking (Required)
    Cluster networking information.
    provider (Required)
    Provider-specific information.
    purpose

    Purpose class for the cluster. Do not get confused by different field seedSelector.matchLabels.purpose described here.

    region (Required)
    Region name.
    secretBindingName (Required)
    Name of the SecretBinding.
    seedSelector
    Seed information for scheduling.
    systemComponents
    System component settings.
    tolerations
    Taint toleration for seed clusters.
    controlPlane
    Control plane high availability settings.

Deleting a Shoot cluster

There are two methods for deleting a Shoot cluster:

  1. Deleting using the OSC dashboard
  2. Deleting using CLI or Manifest

Warning

When you delete a Shoot cluster, it's important to note that the associated bucket will be deleted automatically. This is a default behavior to ensure the cleanup of resources. If you wish to retain data from the bucket, please follow the procedure outlined in the S3 Extension section of the user documentation.

Deleting a Shoot cluster using the Gardener kubeconfig is a straightforward process, similar to deleting any other object in a Kubernetes cluster. However, before you proceed with deletion, it's essential to apply an annotation to the Shoot cluster to disable accidental deletion protection. This annotation is crucial to ensure a smooth deletion process.

Deleting using the OSC dashboard

If you prefer a more user-friendly approach, you can use the dashboard to both apply the annotation and delete the Shoot cluster in a single step. This feature simplifies the deletion process for those who prefer a graphical interface.

delete-shoot-dash

Deleting using CLI or Manifest

  1. To disable accidental deletion protection, use the following command with kubectl and apply it to the Shoot cluster:

    kubectl annotate \
      -n garden-projectname \
      Shoot/test \
      confirmation.gardener.cloud/deletion=true
    
  2. Once the annotation is applied, you can proceed to delete the Shoot cluster

    There are two methods to achieve this:

    kubectl delete shoot/test -n garden-projectname
    

    Alternatively, if you have shoot.yaml file you can use it to delete the Shoot cluster running the following command:

    kubectl delete -f shoot.yaml