LogoLogo
Bonsai (0.13) DocsGitHubDiscord CommunityGarden Enterprise
Edge Release
Edge Release
  • Welcome to Garden!
  • Overview
    • What is Garden
    • Use Cases
      • Isolated On-Demand Preview Environments
      • Fast, Portable CI Pipelines that Run Anywhere
      • Shift Testing Left
      • Local Development With Remote Clusters
      • Jumpstart your Internal Developer Platform
    • Garden vs Other Tools
  • Getting Started
    • Quickstart
    • Garden Basics
    • Next Steps
  • Tutorials
    • Your First Project
      • 1. Create a Garden Project
      • 2. Pick a Kubernetes Plugin
      • 3. Add Actions
      • 4. Add Tests
      • 5. Code Syncing (Hot Reload)
      • 6. Next Steps
    • Setting up a Kubernetes cluster
      • 1. Create a Cluster
        • AWS
        • GCP
        • Azure
      • 2. Configure Container Registry
        • AWS
        • GCP
        • Azure
        • Docker Hub
      • 3. Set Up Ingress, TLS and DNS
      • 4. Configure the Provider
  • Using Garden With
    • Containers
      • Using Remote Container Builder
      • Building Containers
    • Kubernetes
      • Using Remote Kubernetes
      • Using Local Kubernetes
      • Deploying K8s Resources
      • Installing Helm charts
      • Running Tests and Tasks
    • Terraform
      • Using Terraform
      • Applying Terrform Stacks
    • Pulumi
      • Using Pulumi
      • Applying Pulumi Stacks
    • Local Scripts
  • Features
    • Remote Container Builder
    • Team Caching
    • Variables and Templating
    • Config Templates
    • Workflows
    • Code Synchronization
    • Custom Commands
    • Remote Sources
  • Guides
    • Connecting a Project
    • Environments and Namespaces
    • Installing Garden
    • Including/Excluding files
    • Installing Local Kubernetes
    • Migrating from Docker Compose to Garden
    • Using the CLI
    • Using Garden in CircleCI
    • Minimal RBAC Configuration for Development Clusters
    • Deploying to Production
    • Using a Registry Mirror
  • Reference
    • Providers
      • container
      • exec
      • jib
      • kubernetes
      • local-kubernetes
      • otel-collector
      • pulumi
      • terraform
    • Action Types
      • Build
        • container Build
        • exec Build
        • jib-container Build
      • Deploy
        • container Deploy
        • exec Deploy
        • helm Deploy
        • kubernetes Deploy
        • pulumi Deploy
        • terraform Deploy
      • Run
        • container Run
        • exec Run
        • helm-pod Run
        • kubernetes-exec Run
        • kubernetes-pod Run
      • Test
        • container Test
        • exec Test
        • helm-pod Test
        • kubernetes-exec Test
        • kubernetes-pod Test
    • Template Strings
      • Project template context
      • Environment template context
      • Provider template context
      • Action (all fields) template context
      • Action spec template context
      • Module template context
      • Remote Source template context
      • Project Output template context
      • Custom Command template context
      • Workflow template context
      • Template Helper Functions
    • Commands
    • Project Configuration
    • ConfigTemplate Reference
    • RenderTemplate Reference
    • Workflow Configuration
    • Garden Containers on Docker Hub
    • Glossary
    • Module Template Configuration
    • Module Types
      • container
      • exec
      • helm
      • jib-container
      • kubernetes
      • pulumi
      • templated
      • terraform
  • Misc
    • FAQ
    • Troubleshooting
    • Telemetry
    • How Organizations Adopt Garden
    • New Garden Cloud Version
    • Migrating to Cedar
    • Migrating to Bonsai
    • Ingress NGINX Vulnerability
    • Deprecations
  • Contributing to Garden
    • Contributor Covenant Code of Conduct
    • Contributing to the Docs
    • Setting up Your Developer Environment
    • Developing Garden
    • Config Resolution
    • Graph Execution
Powered by GitBook
On this page
  • Option 1 — Local Kubernetes
  • Step 1 — Install Kuberneters locally
  • Step 2 — Set default environment
  • Option 2 — Your own remote Kubernetes cluster
  • Step 1 — Setup remote Kubernetes
  • Step 2 — Enable Remote Container Builder (optional)
  • Step 3 — Update the default environment
  • Next Step

Was this helpful?

  1. Tutorials
  2. Your First Project

2. Pick a Kubernetes Plugin

Previous1. Create a Garden ProjectNext3. Add Actions

Last updated 1 month ago

Was this helpful?

In order to deploy our project, we (perhaps obviously) need somewhere to deploy it to.

Here we hit a bit of a fork in the road since we have a choice between:

  1. Setting up a local Kubernetes cluster on our dev machine

  2. Using our own remote cluster.

Option 1 — Local Kubernetes

You can use a local installation of Kubernetes (e.g. K3s, Minikube or Docker for Desktop). It's great for getting started quickly but you'll miss out on all the collaboration and team features you get with a remote Kubernetes environment.

To use this option follow the steps below.

Step 1 — Install Kuberneters locally

Follow our to set up this plugin.

Step 2 — Set default environment

Open the project.garden.yml file we created earlier and ensure the defaultEnvironment field is set to local like so:

defaultEnvironment: local

Option 2 — Your own remote Kubernetes cluster

This option requires more upfront work but is highly recommended for teams using Garden. It allows you to build, test, and develop in a remote production-like environment that scales with your stack and allows you to easily share work with your team.

If you want to get started quickly we recommend first going for Option 1 above and then coming back to this one once you've kicked the tires.

Otherwise follow the steps below.

Step 1 — Setup remote Kubernetes

In particular you'll need to update the values under the kubernetes provider in the project.garden.yml file we created earlier.

Step 2 — Enable Remote Container Builder (optional)

Step 3 — Update the default environment

Open the project.garden.yml file we created earlier and update the defaultEnvironment field like so:

defaultEnvironment: remote-dev

Next Step

Follow our to set up this plugin.

We highly recommend using our which can significantly speed up container builds.

Once you've set up your Kubernetes plugin and updated your project configuration accordingly, you can move on to .

local Kubernetes guide
remote Kubernetes guide
Remote Container Builder
adding Garden actions to the project