2017-10-04 120 views
1

我有一個在Azure上運行的kubernetes服務。部署和服務創建完成後,該服務將發佈外部IP地址,並且我可以訪問該IP:端口上的服務。使用公共IP在Azure上運行的Kubernetes服務。什麼是DNS名稱?

但是,我想通過常規域名訪問服務。我知道在Azure上運行的kubernetes羣集有其自己的DNS,但我如何才能弄清楚服務DNS名稱是什麼?

我正在運行多個服務,並且它們使用_ServiceName>來引用另一個服務。 < _Namespace> .svc.cluster.local命名約定,但是如果我嘗試使用< _ServiceName>訪問服務。 < _Namespace> .svc。 < _kubernetesDNS>。 < _location> .azureapp.com,它不起作用。

任何幫助將不勝感激。

+0

決定將要如何公開服務:通過['LoadBalancer'(https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer)或通過['NodePort'](https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport)。當您在Azure上運行時,'LoadBalancer'意味着您將從Azure獲得一個沒有FQDN(完全限定的域名)關聯的公共IP。如果您選擇'NodePort',那麼您的服務將暴露在節點的端口上,您可以通過agen-fqdn:端口訪問它。希望這可以幫助! –

+0

如果您擁有一個域名,那麼您可以將CNAME與您服務的公共IP相關聯。請讓我知道,如果您需要關於這些的其他信息,很高興能擴展他們。祝你好運! –

+0

你好radu-matei,所以我非常感謝你的幫助。我看到我可以公開一個NodePort,但是由於我正在運行一個集羣,因此我不希望碰到特定的節點。將CNAME添加到公共IP!就是那個。我會研究它,但如果您有其他信息,那將非常棒! – user227837

回答

0

在Azure中,你可以使用正在使用你的服務的「公共IP地址」資源和準公共IP,在DNS名稱的默認DNS Azure的命名空間下:.location.couldapp.azure.com。 例如:demo.k8s.service.centralindia.couldapp.azure.com

注意:Dns記錄應該是唯一的。

否則嘗試創建Azure DNS來創建自己的域。

associating a public Ip to default dns record provided by azure