Skaffold
Skaffold is an open-source command-line tool from Google that automates the build, push, and deploy workflow for Kubernetes application development.
Definition
Skaffold is an open-source command-line tool from Google that automates the build, push, and deploy workflow for Kubernetes application development.
Overview
Skaffold is designed to remove the repetitive manual steps of local Kubernetes development. It watches your source code for changes, then automatically builds a container image with Docker, Jib, Buildpacks, or another supported builder, pushes it to a registry if needed, and deploys the result to a cluster using kubectl, Helm, or Kustomize — all driven by a single `skaffold.yaml` pipeline definition. Its most-used mode, `skaffold dev`, continuously rebuilds and redeploys on file changes and streams logs back to the terminal, giving a tight inner-development-loop experience similar to hot reloading, but for full containerized services running in a real cluster (including local clusters like minikube or kind). Skaffold also supports `skaffold run` for one-off deployments and `skaffold render` for generating final manifests for CI/CD pipelines, making it usable both for local iteration and for standardizing deployment steps across a team. Because it is declarative and pluggable across builders and deployers, Skaffold is often used as the glue between a developer's local machine and the same Kubernetes primitives used in production, reducing the gap between local testing and cluster deployment.
Key Features
- Automatic rebuild, push, and redeploy loop triggered by local file changes
- Pluggable builders including Docker, Cloud Native Buildpacks, and Jib
- Pluggable deployers supporting kubectl, Helm, and Kustomize
- Single skaffold.yaml pipeline definition per project
- Log streaming and port-forwarding from cluster pods to the local terminal
- Render mode for producing final manifests for CI/CD use