【发布时间】:2023-10-13 10:56:02
【问题描述】:
我在 GKE 中设置了一个 K8S 集群,并安装了 RabbitMQ(来自市场)和 Istio(通过 Helm)。我可以从 Pod 访问 rabbitMQ,直到我启用 Envoy 代理注入这些 Pod,但之后流量将无法到达 rabbitMQ,我不知道如何启用到 rabbitmq 服务的流量。
有一个负载均衡器类型的服务 rabbitmq-rabbitmq-svc(在 rabbitmq 命名空间中)。 当我没有运行特使时,我尝试了一个简单的busybox,然后我可以毫无问题地远程登录到rabbitmq(端口5672),但是一旦我尝试使用自动特使注入,特使就会阻止流量。 我尝试添加 DestinationRule 失败。 (我添加了一条规则,但没有区别)
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: rabbitmq-rabbitmq-svc
spec:
host: rabbitmq.rabbitmq.svc.cluster.local
trafficPolicy:
loadBalancer:
simple: LEAST_CONN
似乎应该是一个简单的解决方案,但我想不通...:/
更新 原来这是主机名中的一个简单错误,最终使用它并且它有效:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: rabbitmq-rabbitmq-svc
spec:
host: rabbitmq-rabbitmq-svc.rabbitmq.svc.cluster.local
【问题讨论】:
-
你在 rabbitmq 上启用了 istio 吗? rabbitmq 部署的“istio-proxy”容器说明了什么?
-
不,RabbitMQ 在 Istio 之外运行。原来是主机名中的一个简单错误。 ??????
标签: kubernetes rabbitmq google-kubernetes-engine istio envoyproxy