k8s-deploy
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseKubernetes Deployment Workflows
Kubernetes 部署工作流
Comprehensive deployment strategies using kubectl-mcp-server tools, including Argo Rollouts and Flagger for progressive delivery.
使用kubectl-mcp-server工具实现的全面部署策略,包括基于Argo Rollouts和Flagger的渐进式交付方案。
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 | |
| 2 | Check existing state first | CRITICAL | |
| 3 | Use progressive delivery for prod | HIGH | |
| 4 | Verify health after deployment | HIGH | |
| 5 | Keep rollback revision noted | MEDIUM | |
| 6 | Scale incrementally | LOW | |
| 优先级 | 规则 | 影响级别 | 工具 |
|---|---|---|---|
| 1 | 应用前使用模板预览 | CRITICAL | |
| 2 | 先检查现有状态 | CRITICAL | |
| 3 | 生产环境使用渐进式交付 | HIGH | |
| 4 | 部署后验证健康状态 | HIGH | |
| 5 | 记录回滚版本 | MEDIUM | |
| 6 | 增量式扩缩容 | LOW | |
Quick Reference
快速参考
| Task | Tool | Example |
|---|---|---|
| Deploy from manifest | | |
| Deploy with Helm | | |
| Update image | | |
| Scale replicas | | |
| Rollback | | |
| Canary promote | | |
| 任务 | 工具 | 示例 |
|---|---|---|
| 通过清单部署 | | |
| 使用Helm部署 | | |
| 更新镜像 | | |
| 调整副本数 | | |
| 回滚操作 | | |
| 金丝雀发布推广 | | |
Standard Deployments
标准部署方案
Deploy from Manifest
通过清单部署
python
kubectl_apply(manifest_yaml, namespace)python
kubectl_apply(manifest_yaml, namespace)Deploy with Helm
使用Helm部署
python
install_helm_chart(
name="my-app",
chart="bitnami/nginx",
namespace="production",
values={"replicaCount": 3}
)python
install_helm_chart(
name="my-app",
chart="bitnami/nginx",
namespace="production",
values={"replicaCount": 3}
)Scale Deployment
扩缩容部署
python
scale_deployment(name, namespace, replicas=5)python
scale_deployment(name, namespace, replicas=5)Rolling Update
滚动更新
python
set_deployment_image(name, namespace, container="app", image="myapp:v2")
rollout_status(name, namespace, resource_type="deployment")python
set_deployment_image(name, namespace, container="app", image="myapp:v2")
rollout_status(name, namespace, resource_type="deployment")Progressive Delivery
渐进式交付
Argo Rollouts (Recommended)
Argo Rollouts(推荐)
For canary and blue-green deployments with analysis.
List Rollouts
python
rollouts_list_tool(namespace)Canary Promotion
python
rollout_status_tool(name, namespace)
rollout_promote_tool(name, namespace)Abort Bad Release
python
rollout_abort_tool(name, namespace)Retry Failed Rollout
python
rollout_retry_tool(name, namespace)See ROLLOUTS.md for detailed Argo Rollouts workflows.
支持带分析的金丝雀和蓝绿部署。
列出发布实例
python
rollouts_list_tool(namespace)金丝雀发布推广
python
rollout_status_tool(name, namespace)
rollout_promote_tool(name, namespace)终止异常发布
python
rollout_abort_tool(name, namespace)重试失败的发布
python
rollout_retry_tool(name, namespace)详细Argo Rollouts工作流请参考 ROLLOUTS.md。
Flagger Canary
Flagger 金丝雀发布
For service mesh-integrated canary releases:
python
flagger_canaries_list_tool(namespace)
flagger_canary_get_tool(name, namespace)适用于集成服务网格的金丝雀发布:
python
flagger_canaries_list_tool(namespace)
flagger_canary_get_tool(name, namespace)Deployment Strategies
部署策略对比
| Strategy | Use Case | Tools |
|---|---|---|
| Rolling | Standard updates | |
| Recreate | Stateful apps | Set strategy in manifest |
| Canary | Risk mitigation | |
| Blue-Green | Zero downtime | |
See references/STRATEGIES.md for detailed strategy comparisons.
| 策略 | 适用场景 | 工具 |
|---|---|---|
| 滚动更新 | 标准版本更新 | |
| 重建式更新 | 有状态应用 | 在清单中配置策略 |
| 金丝雀发布 | 风险缓解 | |
| 蓝绿部署 | 零停机更新 | 结合 |
策略详细对比请参考 references/STRATEGIES.md。
Rollback Operations
回滚操作
Native Kubernetes
原生Kubernetes回滚
python
rollback_deployment(name, namespace, revision=0)
rollback_deployment(name, namespace, revision=2)python
rollback_deployment(name, namespace, revision=0)
rollback_deployment(name, namespace, revision=2)Helm Rollback
Helm回滚
python
rollback_helm_release(name, namespace, revision=1)python
rollback_helm_release(name, namespace, revision=1)Argo Rollouts Rollback
Argo Rollouts回滚
python
rollout_abort_tool(name, namespace)python
rollout_abort_tool(name, namespace)Health Verification
健康状态校验
After deployment, verify health:
python
get_pods(namespace, label_selector="app=myapp")
get_pod_metrics(name, namespace)
get_endpoints(namespace)部署完成后,验证健康状态:
python
get_pods(namespace, label_selector="app=myapp")
get_pod_metrics(name, namespace)
get_endpoints(namespace)Multi-Cluster Deployments
多集群部署
Deploy to specific clusters using context:
python
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"
)通过上下文指定目标集群进行部署:
python
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
请查看 examples/ 获取可直接使用的部署清单:
- examples/canary-rollout.yaml - Argo Rollouts金丝雀部署
- examples/blue-green.yaml - 蓝绿部署
- examples/hpa-deployment.yaml - 配置HPA的部署
Prerequisites
前置条件
- Argo Rollouts: Required for tools
rollout_*bashkubectl create namespace argo-rollouts kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml - Flagger: Required for tools
flagger_*bashkubectl apply -k github.com/fluxcd/flagger/kustomize/kubernetes
- Argo Rollouts:使用工具需先安装
rollout_*bashkubectl create namespace argo-rollouts kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml - Flagger:使用工具需先安装
flagger_*bashkubectl 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
- k8s-gitops - 基于Flux/ArgoCD的GitOps部署
- k8s-autoscaling - 部署自动扩缩容
- k8s-rollouts - 高级渐进式交付
- k8s-helm - Helm图表操作