k8s滚动发布
金丝雀发布
以阿里云ack集群为准 安装组件: ack-kruise
创建滚动yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 apiVersion: rollouts.kruise.io/v1alpha1 kind: Rollout metadata: annotations: rollouts.kruise.io/rolling-style: partition name: example-rollout namespace: sit44 spec: disabled: false objectRef: workloadRef: apiVersion: apps/v1 kind: Deployment name: example-deployment strategy: canary: steps: - pause: duration: 0 replicas: 1 - pause: duration: 0 replicas: 50% - pause: duration: 0 replicas: 100%
1 2 3 4 5 6 1. 注释: metadata.annotations: rollouts.kruise.io/rolling-style: partition: 设置滚动更新的样式为 partition。这种样式表示在滚动更新过程中,会将指定百分比或数量的 pod 切换到新的版本。 2. spec: - disabled: false: 表示 Rollout 是启用状态。 - objectRef.workloadRef: 指定需要滚动更新的目标 Deployment。 - strategy.canary.steps: 定义了滚动更新的步骤。每个步骤指定了 partitions 字段,表示在该步骤中,新版本的 pod 占用的百分比或数量。
本文由作者按照
CC BY 4.0
进行授权