【发布时间】:2021-04-08 17:21:10
【问题描述】:
我已经部署了一个 Linkerd 服务网格,并且我的 Kubernetes 集群配置了 Nginx 入口控制器作为 DaemonSet,并且所有入口在 Linkerd 上也可以正常工作。最近,我添加了流量拆分功能来运行我的蓝/绿设置,我可以通过单独的入口资源访问这些服务。我已经按照here 的描述创建了一个 apex-web 服务。如果我在内部与您联系此服务,它会完美运行。我创建了另一个入口资源,但无法在集群外部测试蓝/绿功能。我想提一下,我已经将(注入 Linkerd 代理)连接到我的所有 Nginx pod,但它正在从 Nginx 返回“503 Service Temporarily Unavailable”消息。
我浏览了文档并在this 之后创建了入口,我可以确认以下注释已添加到入口资源中。
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 服务都在 this 培训存储库中。
我不太确定出了什么问题以及如何在集群外部解决此问题。如果有人帮助我解决这个 Linkerd,蓝/绿问题,我将不胜感激。
【问题讨论】:
标签: nginx kubernetes kubernetes-ingress linkerd servicemesh