kubernetes - k8s、RabbitMQ 和对等发现

标签 kubernetes rabbitmq kubernetes-helm

我们正在尝试使用 Helm 从 helm/charts/stable/rabbit 运行 RabbitMQ 图表的实例。项目。我让它运行完美,但后来我不得不重新启动 k8s 进行一些维护。现在我们完全无法以任何方式启动 RabbitMQ 图表。我什至没有尝试使用任何变量运行图表,即只是默认值。

这就是我正在做的一切:

helm install stable/rabbitmq

我已经确认我可以简单地在我使用 Docker for Desktop 运行的本地 k8s 上运行默认权限。当我们在共享的 k8s 上以与在桌面上完全相同的方式运行兔子图表时以及我们在重新启动之前所做的事情时,会引发以下错误:
Failed to get nodes from k8s - 503

我还在 Helm 图表存储库上发布了一个问题。 Click here to see the issue on Github.

我们怀疑 DNS,但还无法确认任何事情。非常令人沮丧的是,在重新启动后,我们安装的所有其他图表都完美地重新启动,除了 Rabbit,它现在根本无法启动。

任何人都知道我可以做些什么来让兔子对等发现工作?重启k8s后有人看到过这样的问题吗?

最佳答案

所以我真的让兔子跑了。原来我的问题是 k8s 对等发现无法通过默认端口 443 连接,我不得不使用外部端口 6443,因为 kubernetes.default.svc.cluster.local解析到公共(public)端口,找不到内部,所以是的,我们的配置也搞砸了。

当我用 helm install . -f server-values.yaml 覆盖下面的变量时,我花了一段时间才意识到它没有被覆盖。 .

rabbitmq:
  configuration: |-
    ## Clustering
    cluster_formation.peer_discovery_backend  = rabbit_peer_discovery_k8s
    cluster_formation.k8s.host = kubernetes.default.svc.cluster.local
    cluster_formation.k8s.port = 6443
    cluster_formation.node_cleanup.interval = 10
    cluster_formation.node_cleanup.only_log_warning = true
    cluster_partition_handling = autoheal
    # queue master locator
    queue_master_locator=min-masters
    # enable guest user
    loopback_users.guest = false

我必须添加 cluster_formation.k8s.port = 6443到主要values.yaml文件而不是我自己的。一旦在 values.yaml 中专门更改了端口, ,兔子开始了。

关于kubernetes - k8s、RabbitMQ 和对等发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54311129/

相关文章:

kubernetes - 使用 JSON key 文件的身份验证方法 : unauthorized: GCR login failed

java - Spring-amqp - 消息处理延迟

java - Apache Camel ,RabbitMQ : Consuming a queue that is autodelete=false on an exchange that is autodelete=true

kubernetes - 无法从 Ldapmain 对您进行身份验证,因为 "Invalid credentials for <username>"- 通过 Helm Chart 安装的 Gitlab 社区版

kubernetes - 如何将另一个 yaml 文件中的 prometheus 规则包含在 stable/prometheus 图表 value.yaml 中?

kubernetes - 如何在给定容器 ID 的情况下查找 pod 名称

kubernetes - kubectl exec 到多容器 pod 的容器中

docker - 在 dockerfile 中使用 secret

c# - Rabbit-Mq在被拒绝后没有路由到死信队列

kubernetes - Helm 调试未知字段