3.3 KiB
| title | description | weight | skip_seealso | keywords | ||||
|---|---|---|---|---|---|---|---|---|
| Kubernetes Gardener | Instructions to setup a Gardener cluster for Istio. | 19 | true |
|
Bootstrapping Gardener
To set up your own Gardener, see the
documentation
or have a look at the
landscape-setup-template
project. To learn more about this open source project, read the
blog on kubernetes.io.
Install and configure kubectl
-
If you already have
kubectlCLI, runkubectl version --shortto check the version. You needv1.10or newer. 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. You can skip this step if you create your cluster using the user interface; it is only needed for programmatic access, make sure you set
export KUBECONFIG=garden-my-project.yamlin your shell.
Creating a Kubernetes cluster
You can create your cluster using 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 just apply the
prepared so-called "shoot" cluster CRD with kubectl:
{{< text bash >}} $ kubectl apply --filename my-cluster.yaml {{< /text >}}
The 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:
{{< text bash >}} $ kubectl --namespace shoot--my-project--my-cluster get secret kubecfg --output jsonpath={.data.kubeconfig} | base64 --decode > my-cluster.yaml {{< /text >}}
This kubeconfig file has full administrators access to you cluster. For the rest
of this guide 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:
{{< text bash >}} $ 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 {{< /text >}}