留给Kubernetes的配置,其中包含两个不同的主副本服务实例。主容器和副本的pod都包含服务容器和度量收集容器(因此每个pod都有两个不同的容器)。此外,我还有一个服务headless,它针对所有这三个组件,然后由其他组件使用。关键是这些"复制品"需要访问Master,以及经典的DNS命名法"Master- pod - name . service - name . namspace . svc . cluster .local";不工作(它已经在变量中以这种方式设置),我做了一些查找测试等,显然它只有在我使用"service-name. namspace .svc.cluster.local"时才有效,然而,该服务针对所有3个实例,我必须只指向主。我的疑问是,我无法解决它,因为在该pod中有几个容器,但我没有找到如何在文档中指示正确DNS的参考。
我也尝试配置
dnsConfig:
options:
- name: ndots
value: "6"
然后输入DNS container - name .pod- name . service - name . namspace . svc . cluster。本地的,但是什么都没有改变。
我正在工作的环境是一个类似的集群(Kubernetes on Google Cloud)。
确保您的应用程序作为有状态集与无头服务一起部署。只有有状态集才能保证在DNS查找中使用的稳定网络id:
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/stable-network-id