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-profilerefers to a local cluster withskaffold config set --kube-context my-profile local-cluster true