4. Configure the Provider
Once you've completed steps 1-3 on the previous pages you should have all the values at hand to configure Garden's Kubernetes plugin.
In particular, you should have:
The context for your Kubernetes cluster (see step 1).
The name(s) and namespace(s) of the ImagePullSecret(s) used by your cluster (see step 2).
The hostname for your services (see step 3).
A TLS secret (optional) (see step 3).
Now we can finally add them to our Garden config.
1. Add initial config
First, add your values to the project level Garden configuration file at the root of your project:
Garden does NOT inject the image pull secret into the Deployment (unless you're using the container
Deploy type). So if you're using e.g. the kubernetes
or helm
action types you need to make sure the imagePullSecret
field is set in the corresponding manifest / Helm chart. See also the official Kubernetes docs for setting image pull secrets.
2. Select build mode
Next, select a "build mode".
You can choose between building your images locally with Docker using the local-docker
build mode or remotely, in the cluster itself.
Note that even if you choose the local-docker
build mode, you still need to configure a container registry that Garden can push to and set an ImagePullSecret so that Kubernetes can pull your images.
In general, we recommend doing remote building with the cluster-buildkit
build mode.
This means you don't need Docker running on your laptop and you're able to share build caches with your team and across environments.
To use the cluster-buildkit
build mode, add the following to your configuration:
We also recommend taking a look at our in-depth guide on build modes which explains the pros and cons of different modes and how to configure them.
3. Initialize the plugin
Finally, initialize the plugin by running:
And that's it! Your Kubernetes plugin is now configured and you can proceed to deploying your project to Kubernetes with Garden.
Next, we recommend learning more about configuring Kubernetes actions.
Last updated