diff --git a/docs/deployment/getting_started_locally.md b/docs/deployment/getting_started_locally.md index 9d913531cfa..182c713ecf8 100644 --- a/docs/deployment/getting_started_locally.md +++ b/docs/deployment/getting_started_locally.md @@ -12,6 +12,18 @@ Based on [Skaffold](https://skaffold.dev/), the container images for all require ![Architecture Diagram](content/getting_started_locally.png) +## Alternatives + +When deploying Gardener on your local machine you might face several limitations: + +- Your machine doesn't have enough compute resources (see [prerequisites](#prerequisites)) for hosting a second seed cluster or multiple shoot clusters. +- Testing Gardener's [IPv6 features](../usage/ipv6.md) requires a Linux machine and native IPv6 connectivity to the internet, but you're on macOS or don't have IPv6 connectivity in your office environment or via your home ISP. + +In these cases, you might want to check out one of the following options that run the setup described in this guide elsewhere for circumventing these limitations: + +- [remote local setup](../development/getting_started_locally.md#remote-local-setup): deploy on a remote pod for more compute resources +- [dev box on Google Cloud](https://github.com/gardener-community/dev-box-gcp): deploy on a Google Cloud machine for more compute resource and/or simple IPv4/IPv6 dual-stack networking + ## Prerequisites - Make sure that you have followed the [Local Setup guide](../development/local_setup.md) up until the [Get the sources](../development/local_setup.md#get-the-sources) step. diff --git a/docs/development/getting_started_locally.md b/docs/development/getting_started_locally.md index ee4bcd7b5d4..74d394d7945 100644 --- a/docs/development/getting_started_locally.md +++ b/docs/development/getting_started_locally.md @@ -1,4 +1,4 @@ -# Running Gardener locally +# Developing Gardener Locally This document will walk you through running Gardener on your local machine for development purposes. If you encounter difficulties, please open an issue so that we can make this process easier. @@ -10,6 +10,18 @@ The Gardener components, however, will be run as regular processes on your machi ![Architecture Diagram](content/getting_started_locally.png) +## Alternatives + +When developing Gardener on your local machine you might face several limitations: + +- Your machine doesn't have enough compute resources (see [prerequisites](#prerequisites)) for hosting a second seed cluster or multiple shoot clusters. +- Developing Gardener's [IPv6 features](../usage/ipv6.md) requires a Linux machine and native IPv6 connectivity to the internet, but you're on macOS or don't have IPv6 connectivity in your office environment or via your home ISP. + +In these cases, you might want to check out one of the following options that run the setup described in this guide elsewhere for circumventing these limitations: + +- [remote local setup](#remote-local-setup): develop on a remote pod for more compute resources +- [dev box on Google Cloud](https://github.com/gardener-community/dev-box-gcp): develop on a Google Cloud machine for more compute resource and/or simple IPv4/IPv6 dual-stack networking + ## Prerequisites - Make sure that you have followed the [Local Setup guide](./local_setup.md) up until the [Get the sources](./local_setup.md#get-the-sources) step. diff --git a/docs/development/local_setup.md b/docs/development/local_setup.md index a183d3cf25e..ddae0750153 100644 --- a/docs/development/local_setup.md +++ b/docs/development/local_setup.md @@ -16,11 +16,6 @@ This guide is split into three main parts: * [Building and starting Gardener components locally](#start-gardener-locally) * [Using your local Gardener setup to create a Shoot](#create-a-shoot) -## Limitations of the Local Development Setup - -You can run Gardener (API server, controller manager, scheduler, gardenlet) against any local Kubernetes cluster, however, your seed and shoot clusters must be deployed to a cloud provider. -Currently, it is not possible to run Gardener entirely isolated from any cloud provider. This means that to be able create Shoot clusters you need to register an external Seed cluster (e.g., one created in AWS). - # Preparing the Setup ## [macOS only] Installing homebrew @@ -62,15 +57,6 @@ brew install kubernetes-cli For other OS, please check the [kubectl installation documentation](https://kubernetes.io/docs/tasks/tools/install-kubectl/). -## Installing helm -You also need the [Helm](https://github.com/kubernetes/helm) CLI. On macOS run - -```bash -brew install helm -``` - -For other OS please check the [Helm installation documentation](https://helm.sh/docs/intro/install/). - ## Installing Docker You need to have docker installed and running. On macOS run @@ -138,8 +124,8 @@ The Gardener repository and all the above-mentioned tools (git, golang, kubectl, Clone the repository from GitHub into your `$GOPATH`. ```bash -mkdir -p $GOPATH/src/github.com/gardener -cd $GOPATH/src/github.com/gardener +mkdir -p $(go env GOPATH)/src/github.com/gardener +cd $(go env GOPATH)/src/github.com/gardener git clone git@github.com:gardener/gardener.git cd gardener ``` diff --git a/docs/usage/ipv6.md b/docs/usage/ipv6.md index bf3f1e43e68..6722e1b6ef2 100644 --- a/docs/usage/ipv6.md +++ b/docs/usage/ipv6.md @@ -8,3 +8,8 @@ This documentation will be enhanced while implementing GEP-21, see [gardener/gardener#7051](https://github.com/gardener/gardener/issues/7051). To use IPv6 single-stack networking, the [feature gate](../deployment/feature_gates.md) `IPv6SingleStack` must be enabled on gardener-apiserver. + +## Development Setup + +Developing or testing IPv6-related features requires a Linux machine (docker only supports IPv6 on Linux) and native IPv6 connectivity to the internet. +If you're on a different OS or don't have IPv6 connectivity in your office environment or via your home ISP, make sure to check out [gardener-community/dev-box-gcp](https://github.com/gardener-community/dev-box-gcp), which allows you to circumvent these limitations.