k8s-deploy

SKILL.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:

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

Weekly Installs
5
GitHub Stars
849
First Seen
Feb 7, 2026
Installed on
amp5
gemini-cli5
github-copilot5
codex5
kimi-cli5
opencode5