Skip to content

Skaffold profiles and modules

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].

Modules and Profiles

Skaffold's workflow is built around the concepts of modules and profiles, which allow developers to define and manage different parts of an application stack^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

  • Modules: These represent distinct components or services within the project architecture (e.g., the control plane, Ingress, or specific applications like Kiali or Bookinfo).
  • Profiles: These allow for specific configurations or selections of modules to be deployed together.

Usage Differences

The source of the deployment manifests depends on the command used:

  • skaffold run: Used for standard deployments; this command pulls manifests from remote charts^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].
  • skaffold dev: Used for development and hot-reload scenarios; this command pulls manifests from the current branch^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

Deployment Examples

The modular structure enables incremental deployment. For instance, in a sample environment involving Istio, different stacks can be launched by combining modules^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]:

  1. Istio Control Plane:

    [Skaffold](<./skaffold.md>) run -m istiod
    
    Deploys istio-base and istio^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

  2. Ingress:

    [Skaffold](<./skaffold.md>) run -m [Ingress](<./ingress.md>)
    
    Adds the ingress module to the base stack^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

  3. Observability:

    [Skaffold](<./skaffold.md>) run -m [Ingress](<./ingress.md>),kiali
    
    Adds the kiali module^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

  4. Full Stack:

    [Skaffold](<./skaffold.md>) run -m [Ingress](<./ingress.md>),kiali,bookinfo
    
    Deploys the base, Ingress, Kiali, and the sample bookinfo application^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

Sources

^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]