亲爱的,我正在尝试在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
这是一个默认值。我没有什么是正确的价值?我需要创造一些东西吗?从某个地方获取特定的主机名?
好,朋友们,
在与本期两位同事合作之后。我们通过用定义的--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