Create & Delete via OSC Dashboard

Accessing Garden Cluster

To gain access to the Garden cluster, please refer to the documentation under 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 credentials

Infrastructure credentials are automatically provisioned in each project after the project is created. For more details, see the section on Infrastructure Credentials.

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 — please note the Project and Shoot names lenght limitations.

Shoot number limit

To prevent overloading of the Seed clusters, a limit on the number of creatable Shoot clusters was 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
Shoot API server platform limits

The platform can enforce caps for Shoot API server in-flight request limits. Before setting spec.kubernetes.kubeAPIServer.requests.maxMutatingInflight or spec.kubernetes.kubeAPIServer.requests.maxNonMutatingInflight, review the Shoot API server request limit settings. The platform may also enforce a maximum transfer rate for incoming connections to the Shoot API server. This connection limit is platform-defined and is not configurable in the Shoot manifest.

Deploying using the OSC Dashboard

  1. Connect to the OSC Dashboard. For information on how to log in, please refer to the 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.

    Note

    Please keep the 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 on the Shoot worker-pool management, please navigate to the Shoot Worker-pool management

    Warning


    Please note that some reservation for the /var/log partition should be considered. Additionally, some Garden Linux versions limit the root partition to 50GB.
    Please check the following release notes:

  6. Select a Seed. A hint displaying Seed capacity information is shown next to each Seed name. Shoots can only be created on Seeds with available capacity.

    seed-selection

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

    switch

  8. Additionally, consider adding extensions:

    spec:
      extensions:
        - type: osc-dexclient-service
        - type: shoot-dns-service
  9. At the bottom of the OSC 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.

    Info

    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.

    Note

    Please keep the 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.

    credentialsBindingName (Required) : Name of the CredentialsBinding.

    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.

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 OSC 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