首页 > 解决方案 > 有没有办法在不使用入口/网关的情况下在 kubernetes 服务级别上设置金丝雀或加权部署?

问题描述

我可以在虚拟服务上设置权重或按标题过滤。因此,我使用入口/网关进行访问,并且使用权重和标头过滤器取得了成功。但是我想在服务级别上设置这个条件,以便在集群内部访问。我正在使用 ISTIO。

有人知道吗?

标签: kubernetesistioenvoyproxycanary-deployment

解决方案


不,没有办法做到这一点。您可以查看 Kubernetes 的服务文档以确保它的文档。总之,kubernetes 使用 IP 表来进行负载平衡和强制统计循环策略(查看此链接)。

然而,使用其他技术在 Kubernetes 中实际解决它并不难。在加权上游之间使用代理将立即解决问题。像这样的东西:



upstream dynamic {
    server pod-proxy-1      weight=2;
    server pod-proxy-2      weight=4;
}

server {
    location / {
        proxy_pass http://dynamic;
    }
}


推荐阅读