我正在尝试为 RabbitMq 集群配置负载均衡器 IP(我知道它在某些时候已被弃用,但目前还没有明显),但我在获取正确的服务定义时遇到了问题。
这是它的开头:
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: rabbitmq-cluster
namespace: rabbitmq
spec:
replicas: 3
rabbitmq:
additionalConfig: |
loopback_users.guest = false
service:
type: LoadBalancer
loadBalancerIP: 10.191.2.17
annotations:
load-balancer/rabbitmq: "true"
如果我在没有
loadBalancerIP
行的情况下运行,集群会正常启动,但不会在我想要的 IP 地址上运行。
使用它后,我收到以下错误:
来自服务器的错误(BadRequest):创建“RabbitMq .yaml”时出错:版本“v1beta1”中的 RabbitmqCluster 无法作为 RabbitmqCluster 处理:严格解码错误:未知字段“spec.service.loadBalancerIP”。
编辑:
如果不可能,那么我可以做一些事情,比如在
nginx
前面放置一个 ClusterIP
服务器吗?如果是这样,有人能够使用适当的 yaml 进行保存吗?
感谢@QuentinGeff 的回复,我能够想出以下可以解决问题的服务:
apiVersion: v1
kind: Service
metadata:
name: rabbitmq-loadbalancer
namespace: rabbitmq
spec:
type: LoadBalancer
loadBalancerIP: 10.191.2.17
ports:
- name: amqps
port: 5671
protocol: TCP
targetPort: 5671
- name: management-ui
port: 15671
protocol: TCP
targetPort: 15671
selector:
app.kubernetes.io/name: RabbitMq -cluster