Skip to content

Progressive Istio deployment

Progressive Istio deployment is a strategy that uses the Skaffold tool to manage the staged rollout of an Istio service mesh and its associated components^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]. This approach enables developers to deploy modules incrementally, ensuring that foundational services are established before adding observability tools or sample workloads^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

Implementation

The deployment process is modularized, allowing for the sequential activation of specific profiles using the skaffold run command^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]. This facilitates the control of deployments to local or remote clusters^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md].

The typical progression follows these steps:

  1. Istio Control Plane: Deploy the base components and the Istio discovery service (istiod).^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]
    [Skaffold](<./skaffold.md>) run -m istiod
    
  2. Ingress: Integrate an Ingress gateway to manage external traffic.^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]
    [Skaffold](<./skaffold.md>) run -m [Ingress](<./ingress.md>)
    
  3. Observability: Add Kiali for visualization and monitoring of the mesh.^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]
    [Skaffold](<./skaffold.md>) run -m [Ingress](<./ingress.md>),kiali
    
  4. Sample Workloads: Deploy the Bookinfo application to demonstrate mesh capabilities.^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]
    [Skaffold](<./skaffold.md>) run -m [Ingress](<./ingress.md>),kiali,bookinfo
    

Development vs. Deployment Modes

Skaffold distinguishes between deployment and development workflows. When executing skaffold run, the tool retrieves manifests from remote charts^[400-devops-07-monitoring-and-observability-k8s-istio-samples-cicd-skaffold-readme.md]. Conversely, running skaffold dev enables hot-reloading capabilities and utilizes manifests from the current branch, facilitating faster iteration during the development cycle^[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]