Istio部署rabbitmq的坑
使用Istio的时候,自动插入边车,envoy似乎不支持amqp,在给rabbitmq的pod注入边车以后,5672端口的amqp不能正常转发,连接mq会报错:
Failed to connect to RabbitMQ: Exception (501) Reason: "Exception (501) Reas
之后删除了边车,就可以正常使用了
另外,envoy不影响管理端口15672(因为这个是tcp)
envoy不影响rabbitmq的发起端。我应用侧注入envoy后,是可以正常访问rabbitmq的。
Update:
原因找到了,rabbitmq的epmd端口没有暴露出来。
在service.yaml里增加epmd端口的映射,就可以成功使用envoy转发amqp的流量:
apiVersion: v1
kind: Service
metadata:
name: rabbitmq
labels:
app: rabbitmq
spec:
type: ClusterIP
ports:
- port: 5672
targetPort: 5672
name: message - port: 4369
targetPort: 4369
name: epmd - port: 15672
targetPort: 15672
name: management
selector:
app: rabbitmq