我有一个在AWS中运行的Kubernetes v1.4集群,具有自动扩展节点。 我也有一个蒙戈副本集簇只有SSL的连接(FQDN通用名)和公共DNS条目:创建特定的记录条目到Kubernetes本地DNS
- node1.mongo.example.com - > 1.1.1.1
- node2.mongo。 example.com - > 1.1.1.2
- node3.mongo.example.com - > 1.1.1.3
的Kubernetes节点是一个安全组,允许访问所述蒙戈群集的一部分,而是仅经由它们的私人IP。
当公共FQDN被查询时,是否有方法在Kubernetes DNS中使用私有IP创建A记录?
我想的第一件事是一个脚本& ConfigMap组合更新/ etc /在启动时的主机(参见Is it a way to add arbitrary record to kube-dns?),但是这是有问题的其他Kubernetes服务还可以更新主机在不同的时间文件。
我也尝试了服务& Enpoints配置:
---
apiVersion: v1
kind: Service
metadata:
name: node1.mongo.example.com
spec:
ports:
- protocol: TCP
port: 27017
targetPort: 27017
---
apiVersion: v1
kind: Endpoints
metadata:
name: node1.mongo.example.com
subsets:
- addresses:
- ip: 192.168.0.1
ports:
- port: 27017
不过虽然不那么明显,首先,该解决方案是非常简单的失败作为服务名称不能是FQDN ......
你有没有想过使用mongo实例AWS公共DNS(公共主机名)?当从ec2实例调用时,它重定向到专用IP:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html#vpc-public-ip-addresses –