我有一個在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 –