Argo Rollouts Dashboard 的 namespace 下拉框失效,接口返回空列表。排查确认 RBAC、网络、版本均正常,最终定位到某个 rollout 的 resources.limits 被误写为字符串而非 map。client-go 对集群级列表整体解码,单个坏对象导致整个列表解码失败,而代码用 if err == nil 静默吞掉错误,接口仍返回 200 和空数组。建议在 CI 或 ArgoCD 阶段校验 YAML 类型。
Argo Rollouts 仪表盘的命名空间下拉框失效,排查发现 RBAC、网络、版本均正常。真正原因是集群中某个 Rollout 的 resources.limits 被误写成字符串而非 map,导致 client-go 整体解码集群级列表失败。代码中 if err == nil 静默吞掉错误,接口仍返回 200 但 availableNamespaces 为空。建议在 CI 或 ArgoCD 校验阶段拦截此类 YAML 类型错误。
使用Argo Rollouts、Istio和Prometheus在Kubernetes上实现金丝雀部署,逐步将流量从旧版本转移到新版本。创建GKE集群,安装Istio和Prometheus,配置网络资源,进行负载测试,监控部署状态,并在失败时回滚到稳定版本。
完成下面两步后,将自动完成登录并继续当前操作。