Deploy and manage Kubernetes workloads with progressive delivery. Use for deployments, rollouts, blue-green, canary releases, scaling, and release management.
Comprehensive deployment strategies using kubectl-mcp-server tools, including Argo Rollouts and Flagger for progressive delivery.
Use this skill when:
| 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 |
| 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) |
kubectl_apply(manifest_yaml, namespace)
install_helm_chart(
name="my-app",
chart="bitnami/nginx",
namespace="production",
values={"replicaCount": 3}
)
scale_deployment(name, namespace, replicas=5)
set_deployment_image(name, namespace, container="app", image="myapp:v2")
rollout_status(name, namespace, resource_type="deployment")
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.
For service mesh-integrated canary releases:
flagger_canaries_list_tool(namespace)
flagger_canary_get_tool(name, namespace)
| 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_deployment(name, namespace, revision=0)
rollback_deployment(name, namespace, revision=2)
rollback_helm_release(name, namespace, revision=1)
rollout_abort_tool(name, namespace)
After deployment, verify health:
get_pods(namespace, label_selector="app=myapp")
get_pod_metrics(name, namespace)
get_endpoints(namespace)
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"
)
See examples/ for ready-to-use deployment manifests:
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_* tools
kubectl apply -k github.com/fluxcd/flagger/kustomize/kubernetes
Category:developer