Local Cluster
Skaffold can be easily configured to deploy against a cluster hosted locally, most commonly with
minikube
or docker-for-desktop
.
The advantage of this setup is that no images need to be pushed, since the local cluster
uses images straight from your local docker daemon.
For non-standard local setups, such as a custom minikube
profile or kind,
some extra configuration is necessary. The essential steps are:
- Ensure that Skaffold builds the images with the docker daemon, which also runs the containers.
Tell Skaffold to skip pushing images either by configuring
build: local: push: false
or by marking a Kubernetes context as local (see the following example).
For example, when running minikube
with a custom profile (e.g. minikube start -p my-profile
):
Set up the docker environment for Skaffold with
source <(minikube docker-env -p my-profile)
. This should set some environment variables for docker (check withenv | grep DOCKER
). It is important to do this in the same shell where Skaffold is executed.Tell Skaffold that the Kubernetes context
my-profile
refers to a local cluster withskaffold config set --kube-context my-profile local-cluster true