我已经部署了一个 Linkerd 服务网格,并且我的 Kubernetes 集群配置了 Nginx 入口控制器作为 DaemonSet,并且所有入口在 Linkerd 上也可以正常工作。最近,我添加了流量拆分功能来运行我的蓝/绿设置,我可以通过单独的入口资源访问这些服务。我已经创建了一个 apex-web 服务,如此处所述。如果我在内部与您联系此服务,它会完美运行。我创建了另一个入口资源,但无法在集群外部测试蓝/绿功能。我想提一下,我已经将(注入 Linkerd 代理)连接到我所有的 Nginx pod,但它正在503 Service Temporarily Unavailable
从 Nginx 返回“”消息。
我浏览了文档并在此之后创建了入口,我可以确认以下注释已添加到入口资源中。
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:$service_port;
grpc_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:$service_port;
但是集群的外部仍然没有运气。
我正在使用给定的 emojivoto 应用程序进行测试,所有流量拆分和 apex-web 服务都在这个培训存储库中。
我不太确定出了什么问题以及如何从集群外部解决此问题。如果有人帮助我解决这个 Linkerd、Blue/Green 问题,我将不胜感激。