金丝雀正在运行但未接收任何流量
Symptom
金丝雀的容器正在运行且健康,每个请求仍然到达稳定版本。 金丝雀自身的指标保持为零,这很容易被理解为“新版本没问题”。
Diagnose
- 金丝雀是否真的在运行?
GET /api/v1/deployments/{name}/canary。处于待定或暂停状态的金丝雀按设计不会接收任何流量。 - 设置了什么权重? 权重为零意味着金丝雀存在但不接收流量。这是一个合法状态——这是金丝雀暂存的方式——也是此症状最常见的原因。
- 金丝雀的容器是否通过了探测? 只有健康的容器才会被分配流量。
- 部署是否被路由? 金丝雀权重在路由边缘应用,因此没有主机名的部署没有地方可以应用权重。
- 更改是否已生效? 路由更改需要一小段时间才能传播。在得出什么都没发生的结论之前,请间隔一分钟测量两次。

Resolve
- 权重为零: 提升它。
POST /api/v1/deployments/{name}/canary/start开始滚动更新; promote、pause、resume 和 rollback 路由是它的其他控制项。 - 金丝雀不健康: 修复探测或镜像——金丝雀正在告诉你它的用途。
- 未路由: 加权滚动更新需要一个主机名。参见 rollouts。
Prevent
在启动金丝雀的同一操作中设置第一个权重,这样分阶段的金丝雀就不会被误认为是失败的金丝雀,并且应关注金丝雀自身的指标,而不是部署的总指标。