Skip to content

Skaffold deployment modes

Skaffold is a command-line tool designed to facilitate fast development iteration and manage the deployment of applications to local or remote Kubernetes clusters^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

The tool operates using a modular structure, supporting different deployment configurations and target environments through its "run" and "dev" workflows^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

Modes of Operation

The specific behavior of Skaffold—particularly regarding how configuration manifests are sourced—depends heavily on whether the user invokes the run or dev commands^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

Deployment Mode (skaffold run)

When executing skaffold run for standard deployment, the tool retrieves manifests from remote charts^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]. This mode is typically used for deploying the application in a target environment, focusing on the stability of the released configuration artifacts.

Development Mode (skaffold dev)

Conversely, the skaffold dev command is intended for the development lifecycle. In this mode, Skaffold enables features such as hot reloading and pulls manifests directly from the current branch rather than remote sources^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]. This ensures that the code being deployed reflects the local state of the repository, allowing for rapid iteration.

Modular Deployment

Skaffold allows for the composition of complex deployments using specific modules and profiles^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

Common examples of modular deployments include:

  • Control Plane: Deploying core components such as istio-base and istiod^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].
  • Ingress: Extending the deployment to include Ingress gateways^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].
  • Observability: Adding tools like Kiali for monitoring^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].
  • Workloads: Deploying sample applications, such as the Bookinfo application^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].
  • [[Continuous Deployment]]
  • Kubernetes
  • Helm (often used as the underlying chart manager)
  • [[Hot reloading]]

Sources

  • 400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md