Kubernetes Gardener
Bootstrapping Gardener
To set up your own Gardener for your organization’s Kubernetes-as-a-Service needs, follow the
documentation.
For testing purposes, you can set up Gardener on your laptop by checking out the source code repository and simply running make kind-up gardener-up (the easiest developer way of checking out Gardener!).
Alternatively, 23 Technologies GmbH offers a fully-managed Gardener service that conveniently works with all supported cloud providers and comes with a free trial: Okeanos. Similarly, cloud providers such as STACKIT, B'Nerd, MetalStack, and many others run Gardener as their Kubernetes Engine.
To learn more about the inception of this open source project, read Gardener Project Update and Gardener - The Kubernetes Botanist on kubernetes.io.
Gardener yourself a Shoot with Istio, custom Domains, and Certificates is a detailed tutorial for the end user of Gardener.
Install and configure kubectl
If you already have
kubectlCLI, runkubectl version --shortto check the version. You need a current version that at least matches your Kubernetes cluster version you want to order. If yourkubectlis older, follow the next step to install a newer version.
Access Gardener
Create a project in the Gardener dashboard. This will essentially create a Kubernetes namespace with the name
garden-<my-project>.Configure access to your Gardener project using a kubeconfig.
If you are not the Gardener Administrator already, you can create a technical user in the Gardener dashboard: go to the “Members” section and add a service account. You can then download the kubeconfig for your project. Make sure you
export KUBECONFIG=garden-my-project.yamlin your shell.
Creating a Kubernetes cluster
You can create your cluster using the kubectl cli by providing a cluster
specification yaml file. You can find an example for GCP
here.
Make sure the namespace matches that of your project. Then apply the
prepared so-called “shoot” cluster manifest with kubectl:
$ kubectl apply --filename my-cluster.yamlAn easier alternative is to create the cluster following the cluster creation
wizard in the Gardener dashboard:

Configure kubectl for your cluster
You can now download the kubeconfig for your freshly created cluster in the Gardener dashboard or via cli as follows:
$ kubectl --namespace shoot--my-project--my-cluster get secret kubecfg --output jsonpath={.data.kubeconfig} | base64 --decode > my-cluster.yamlThis kubeconfig file has full administrator access to you cluster.
For any activities with the payload cluster be sure you have export KUBECONFIG=my-cluster.yaml set.
Cleaning up
Use the Gardener dashboard to delete your cluster, or execute the following with
kubectl pointing to your garden-my-project.yaml kubeconfig:
$ kubectl --kubeconfig garden-my-project.yaml --namespace garden--my-project annotate shoot my-cluster confirmation.garden.sapcloud.io/deletion=true
$ kubectl --kubeconfig garden-my-project.yaml --namespace garden--my-project delete shoot my-cluster