Version v1.39 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.


Deploying with kubectl

kubectl is Kubernetes command-line tool for deploying and managing applications on Kubernetes clusters.

Skaffold can work with kubectl to deploy artifacts on any Kubernetes cluster, including Google Kubernetes Engine clusters and local Minikube clusters.


To use kubectl, add deploy type kubectl to the deploy section of skaffold.yaml.

The kubectl type offers the following options:

Option Description Default
manifests the Kubernetes yaml or json manifests. ["k8s/*.yaml"]
remoteManifests Kubernetes manifests in remote clusters. []
flags additional flags passed to kubectl.
defaultNamespace default namespace passed to kubectl on deployment if no other override is given.
hooks describes a set of lifecycle hooks that are executed before and after every deploy.

flags section offers the following options:

Option Description Default
global additional flags passed on every command. []
apply additional flags passed on creations (kubectl apply). []
delete additional flags passed on deletions (kubectl delete). []
disableValidation passes the --validate=false flag to supported kubectl commands when enabled. false


The following deploy section instructs Skaffold to deploy artifacts using kubectl:

  - k8s-*