> k8s-deploy
Deploy and manage Kubernetes workloads with progressive delivery. Use for deployments, rollouts, blue-green, canary releases, scaling, and release management.
curl "https://skillshub.wtf/rohitg00/kubectl-mcp-server/k8s-deploy?format=md"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_*toolskubectl 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_*toolskubectl 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
> related_skills --same-repo
> k8s-vind
Manage vCluster (virtual Kubernetes clusters) instances using vind. Use when creating, managing, or operating lightweight virtual clusters for development, testing, or multi-tenancy.
> k8s-troubleshoot
Debug Kubernetes pods, nodes, and workloads. Use when pods are failing, containers crash, nodes are unhealthy, or users mention debugging, troubleshooting, or diagnosing Kubernetes issues.
> k8s-storage
Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
> k8s-service-mesh
Manage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.