Kubernetes Deployment Workflows
Comprehensive deployment strategies using kubectl-mcp-server tools, including Argo Rollouts and Flagger for progressive delivery.
When to Apply
Use this skill when:
-
User mentions: "deploy", "release", "rollout", "scale", "update", "upgrade"
-
Operations: creating deployments, updating images, scaling replicas
-
Strategies: canary, blue-green, rolling update, recreate
-
Keywords: "new version", "push to production", "traffic shifting"
Priority Rules
Priority Rule Impact Tools
1 Preview with template before apply CRITICAL template_helm_chart
2 Check existing state first CRITICAL get_pods , list_helm_releases
3 Use progressive delivery for prod HIGH rollout_* tools
4 Verify health after deployment HIGH get_pod_metrics , get_endpoints
5 Keep rollback revision noted MEDIUM get_helm_history
6 Scale incrementally LOW scale_deployment
Quick Reference
Task Tool Example
Deploy from manifest kubectl_apply
apply_manifest(yaml, namespace)
Deploy with Helm install_helm_chart
install_helm_chart(name, chart, namespace)
Update image set_deployment_image
set_deployment_image(name, ns, container, image)
Scale replicas scale_deployment
scale_deployment(name, ns, replicas=5)
Rollback rollback_deployment
rollback_deployment(name, ns, revision=0)
Canary promote rollout_promote_tool
rollout_promote_tool(name, ns)
Standard Deployments
Deploy from Manifest
kubectl_apply(manifest_yaml, namespace)
Deploy with Helm
install_helm_chart( name="my-app", chart="bitnami/nginx", namespace="production", values={"replicaCount": 3} )
Scale Deployment
scale_deployment(name, namespace, replicas=5)
Rolling Update
set_deployment_image(name, namespace, container="app", image="myapp:v2")
rollout_status(name, namespace, resource_type="deployment")
Progressive Delivery
Argo Rollouts (Recommended)
For canary and blue-green deployments with analysis.
List Rollouts
rollouts_list_tool(namespace)
Canary Promotion
rollout_status_tool(name, namespace)
rollout_promote_tool(name, namespace)
Abort Bad Release
rollout_abort_tool(name, namespace)
Retry Failed Rollout
rollout_retry_tool(name, namespace)
See ROLLOUTS.md for detailed Argo Rollouts workflows.
Flagger Canary
For service mesh-integrated canary releases:
flagger_canaries_list_tool(namespace) flagger_canary_get_tool(name, namespace)
Deployment Strategies
Strategy Use Case Tools
Rolling Standard updates set_deployment_image , rollout_status
Recreate Stateful apps Set strategy in manifest
Canary Risk mitigation rollout_* tools
Blue-Green Zero downtime rollout_* with blue-green
See references/STRATEGIES.md for detailed strategy comparisons.
Rollback Operations
Native Kubernetes
rollback_deployment(name, namespace, revision=0)
rollback_deployment(name, namespace, revision=2)
Helm Rollback
rollback_helm_release(name, namespace, revision=1)
Argo Rollouts Rollback
rollout_abort_tool(name, namespace)
Health Verification
After deployment, verify health:
get_pods(namespace, label_selector="app=myapp")
get_pod_metrics(name, namespace)
get_endpoints(namespace)
Multi-Cluster Deployments
Deploy to specific clusters using context:
install_helm_chart( name="app", chart="./charts/app", namespace="prod", context="production-us-east" )
install_helm_chart( name="app", chart="./charts/app", namespace="prod", context="production-eu-west" )
Example Manifests
See examples/ for ready-to-use deployment manifests:
-
examples/canary-rollout.yaml - Argo Rollouts canary
-
examples/blue-green.yaml - Blue-green deployment
-
examples/hpa-deployment.yaml - Deployment with HPA
Prerequisites
-
Argo Rollouts: Required for rollout_* tools kubectl create namespace argo-rollouts kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml
-
Flagger: Required for flagger_* tools kubectl apply -k github.com/fluxcd/flagger/kustomize/kubernetes
Related Skills
-
k8s-gitops - GitOps deployments with Flux/ArgoCD
-
k8s-autoscaling - Auto-scale deployments
-
k8s-rollouts - Advanced progressive delivery
-
k8s-helm - Helm chart operations