【问题标题】:how to assign hostname for rabbitmq cluster on Azure Kubernetes Service如何在 Azure Kubernetes 服务上为 rabbitmq 集群分配主机名
【发布时间】:2019-04-16 19:30:37
【问题描述】:

亲爱的, 我正在尝试在 Azure Kubernetes 服务上设置 Rabbitmq 集群。

我正在使用此处提供的示例 yaml 文件: https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/tree/master/examples/k8s_statefulsets

我收到此错误并且 pod 不断重启:

Failed to get nodes from k8s - {failed_connect,[{to_address,{"kubernetes.default.svc.cluster.local",443}},
                 {inet,[inet],nxdomain}]}

我知道错误的含义。但是,让我烦恼的是我不知道如何为集群分配主机名。或者我从哪里得到了正确的!

我已经搜索了整个互联网,对于这个问题我可以找到任何有用的答案。 所有来自“您需要指定您的主机名”的答案......好吧,我真的需要这样做......但是如何?

rabbitmq 配置中的这一行:

cluster_formation.k8s.host = kubernetes.default.svc.cluster.local 

这是一个默认值。 我不知道什么是正确的价值?我需要创造一些东西吗?从某个地方获取特定的主机名?

【问题讨论】:

  • 它是默认值,并且在 AKS 集群中默认存在
  • 是的..我需要改变它..但改变它是什么?
  • 如果您的意思是它已经在集群中,那么为什么我得到“不存在域”错误!
  • 表示集群中的dns不工作,你能测试一下它工作吗?
  • 我不知道如何测试它..但是我有在“kube-system”命名空间上运行的“kube-dns”服务..如果这是你的意思?

标签: azure kubernetes rabbitmq


【解决方案1】:

好吧,伙计们,

在与我的两位同事就这个问题进行了合作之后。 我们通过定义 --service-cidr--dns-service-ip 重新创建 AKS 解决了这个问题

因为如果将它们留空,Azure 将为它们创建不切实际的值。即使您选择了特定的子网!!

此外,--dns-service-ip 必须是定义范围的第 10 个 ip!!

az aks create `
--location region `
--resource-group rgname `
--vnet-subnet-id ***** `
--name clustername `
--node-count 2 `
--service-principal ****
--client-secret ****
--network-plugin azure `
--docker-bridge-address 172.17.0.1/16 `
--service-cidr 10.1.1.0/24 `
--dns-service-ip 10.1.1.10 `
--generate-ssh-keys

【讨论】:

    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多