一键导入
k8s-rollouts
Progressive delivery with Argo Rollouts and Flagger. Use when implementing canary deployments, blue-green deployments, or traffic shifting strategies.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Progressive delivery with Argo Rollouts and Flagger. Use when implementing canary deployments, blue-green deployments, or traffic shifting strategies.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Configure Kubernetes autoscaling with HPA, VPA, and KEDA. Use for horizontal/vertical pod autoscaling, event-driven scaling, and capacity management.
Kubernetes backup and restore with Velero. Use when creating backups, restoring applications, managing disaster recovery, or migrating workloads between clusters.
Browser automation for Kubernetes dashboards and web UIs. Use when interacting with Kubernetes Dashboard, Grafana, ArgoCD UI, or other web interfaces. Requires MCP_BROWSER_ENABLED=true.
Cluster API lifecycle management for provisioning, scaling, and upgrading Kubernetes clusters. Use when managing cluster infrastructure or multi-cluster operations.
Kubernetes certificate management with cert-manager. Use when managing TLS certificates, configuring issuers, or troubleshooting certificate issues.
Cilium and Hubble network observability for Kubernetes. Use when managing network policies, observing traffic flows, or troubleshooting connectivity with eBPF-based networking.
| name | k8s-rollouts |
| description | Progressive delivery with Argo Rollouts and Flagger. Use when implementing canary deployments, blue-green deployments, or traffic shifting strategies. |
| license | Apache-2.0 |
| metadata | {"author":"rohitg00","version":"1.0.0","tools":11,"category":"delivery"} |
Manage progressive deployments using kubectl-mcp-server's rollout tools (11 tools).
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Detect Argo Rollouts installation first | CRITICAL | rollouts_detect_tool |
| 2 | Check rollout status before promoting | HIGH | rollout_status_tool |
| 3 | Monitor analysis runs for failures | HIGH | analysis_runs_list_tool |
| 4 | Abort immediately on critical failures | CRITICAL | rollout_abort_tool |
| Task | Tool | Example |
|---|---|---|
| Detect Argo Rollouts | rollouts_detect_tool | rollouts_detect_tool() |
| List rollouts | rollouts_list_tool | rollouts_list_tool(namespace) |
| Get rollout status | rollout_status_tool | rollout_status_tool(name, namespace) |
| Promote rollout | rollout_promote_tool | rollout_promote_tool(name, namespace) |
rollouts_detect_tool()
rollouts_list_tool(namespace="default")
# Shows:
# - Rollout name
# - Strategy (canary/blueGreen)
# - Status
# - Desired/Ready replicas
rollout_get_tool(name="my-rollout", namespace="default")
# Shows:
# - Spec (strategy, steps)
# - Status (phase, conditions)
# - Current step
rollout_status_tool(name="my-rollout", namespace="default")
# Returns detailed status with:
# - Current step index
# - Canary weight
# - Stable/canary replicasets
# Promote to next step
rollout_promote_tool(name="my-rollout", namespace="default")
# Full promote (skip remaining steps)
rollout_promote_tool(name="my-rollout", namespace="default", full=True)
rollout_abort_tool(name="my-rollout", namespace="default")
# Reverts to stable version
rollout_retry_tool(name="my-rollout", namespace="default")
# Retry failed rollout
rollout_restart_tool(name="my-rollout", namespace="default")
# Triggers new rollout with same spec
# List analysis runs
analysis_runs_list_tool(namespace="default")
# Analysis runs verify rollout health:
# - Prometheus metrics
# - Web hooks
# - Custom jobs
kubectl_apply(manifest="""
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: my-rollout
namespace: default
spec:
replicas: 5
strategy:
canary:
steps:
- setWeight: 20
- pause: {duration: 1m}
- setWeight: 40
- pause: {duration: 1m}
- setWeight: 60
- pause: {duration: 1m}
- setWeight: 80
- pause: {duration: 1m}
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: app
image: my-app:v2
ports:
- containerPort: 8080
""")
kubectl_apply(manifest="""
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: my-rollout
namespace: default
spec:
replicas: 3
strategy:
blueGreen:
activeService: my-app-active
previewService: my-app-preview
autoPromotionEnabled: false
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: app
image: my-app:v2
""")
flagger_canaries_list_tool(namespace="default")
# Shows:
# - Canary name
# - Status (Initialized, Progressing, Succeeded, Failed)
# - Weight
flagger_canary_get_tool(name="my-canary", namespace="default")
kubectl_apply(manifest="""
apiVersion: flagger.app/v1beta1
kind: Canary
metadata:
name: my-canary
namespace: default
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
service:
port: 80
analysis:
interval: 30s
threshold: 5
maxWeight: 50
stepWeight: 10
metrics:
- name: request-success-rate
threshold: 99
interval: 1m
- name: request-duration
threshold: 500
interval: 1m
""")
1. rollouts_list_tool(namespace)
2. # Update image in rollout
3. rollout_status_tool(name, namespace) # Monitor progress
4. rollout_promote_tool(name, namespace) # Promote when ready
5. # Or: rollout_abort_tool(name, namespace) if issues
1. rollout_get_tool(name, namespace) # Check current state
2. # Update image
3. rollout_status_tool(name, namespace) # Wait for preview ready
4. # Test preview service
5. rollout_promote_tool(name, namespace) # Switch traffic
1. rollout_status_tool(name, namespace) # Check current step
2. analysis_runs_list_tool(namespace) # Check analysis
3. get_events(namespace) # Check events
4. # If analysis failing:
rollout_abort_tool(name, namespace)
1. analysis_runs_list_tool(namespace)
2. # Check metrics source (Prometheus, etc.)
3. # Verify threshold configuration
4. rollout_retry_tool(name, namespace) # Retry if transient