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.yaml in 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:

kubectl apply --filename my-cluster.yaml

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:

You must install Istio on your Kubernetes cluster before continuing with these
instructions to install Knative.

Installing Knative

The following commands install all available Knative components as well as the
standard set of observability plugins. To customize your Knative installation,
see Performing a Custom Knative Installation.

If you are upgrading from Knative 0.3.x: Update your domain and static IP
address to be associated with the LoadBalancer istio-ingressgateway instead
of knative-ingressgateway. Then run the following to clean up leftover
resources:

If you have the Knative Eventing Sources component installed, you will also
need to delete the following resource before upgrading:

kubectl delete statefulset/controller-manager -n knative-sources

While the deletion of this resource during the upgrade process will not
prevent modifications to Eventing Source resources, those changes will not be
completed until the upgrade process finishes.

To install Knative, first install the CRDs by running the kubectl apply
command once with the -l knative.dev/crd-install=true flag. This prevents
race conditions during the install, which cause intermittent errors:

## What's next
Now that your cluster has Knative installed, you can see what Knative has to
offer.
To deploy your first app with the
[Getting Started with Knative App Deployment](../../serving/getting-started-knative-app)
guide.
Get started with Knative Eventing by walking through one of the
[Eventing Samples](../../eventing/samples/).
[Install Cert-Manager](../../serving/installing-cert-manager) if you want to use the
[automatic TLS cert provisioning feature](../../serving/using-auto-tls).
## Cleaning up
Use the Gardener dashboard to delete your cluster, or execute the following with
kubectl pointing to your `garden-my-project.yaml` kubeconfig: