Deploying the Gardener into a Kubernetes cluster

As already mentioned, the Gardener is designed to run as API server extension in an existing Kubernetes cluster. In order to deploy it, you require valid Kubernetes manifests. We use Helm in order to generate these manifests. The respective Helm chart for the Gardener can be found here. In order to deploy it, execute

# Check https://github.com/gardener/gardener/releases for current available releases.
RELEASE=0.21.0

# Since master can have breaking changes after last release, checkout the tag for your release
git checkout $RELEASE

cat <<EOF > gardener.values
global:
  apiserver:
    image:
      tag: $RELEASE
  controller:
    image:
      tag: $RELEASE
EOF

helm install charts/gardener \
  --namespace garden \
  --name gardener \
  -f gardener.values \
  --wait
You can check the default values file for other configuration values. Please note that all resources and deployments need to be created in the garden namespace (not overrideable).

:warning: The Seed Kubernetes clusters need to have a nginx-ingress-controller deployed to make the Gardener work properly. Moreover, there should exist a DNS record *.ingress.<SEED-CLUSTER-DOMAIN> where <SEED-CLUSTER-DOMAIN> is the value of the ingressDomain field of a Seed cluster resource.

As we are progressing with GEP-1 you need to install extensions for:

  • DNS management
  • Operating system config generation
  • Provider-specific infrastructure creation

Please consult the documentation regarding extensions to get more information.

Report an issue

See a typo? Have a picture to recommend? Want to edit some words/phrases/sentences? You can simply submit a ticket to request we make the change. If you are github savvy, submit a pull request. Open Github Issue