首页 文章

Kubernetes服务externalName与端口DNS SRV

提问于
浏览
0

Kubernetes是否支持DNS SRV lookups允许使用externalName的服务?如果允许,如何允许pod访问该记录?我使用的用例是外部提供的服务,其中第三方定义端口号,并且我想在与CNAME相同的位置表示它,即k8s服务 .

我已经在一个pod中使用一个简单的nslookup查询, dnsPolicy 设置为 ClusterFirst ,它似乎适用于内部的默认kubernetes服务:

x nslookup -type=SRV _https._tcp.kubernetes.default.svc
Server: 10.3.0.10
Address: 10.3.0.10#53

_https._tcp.kubernetes.default.svc.cluster.local    service = 10 100 443 kubernetes.default.svc.cluster.local.

但我尝试使用我自己的一个服务,它使用 externalName 加上一个命名端口,但无法找到它 .

我正在使用k8s 1.6.1和kube-dns 1.9(诚然,1.9有点“老”,我会很快升级它) .

1 回答

  • 1

    docs说:

    ExternalName服务是没有选择器的特殊服务案例 . 它没有定义任何端口或 endpoints . 相反,它用作将别名返回到驻留在集群外部的外部服务的方法 .

    所以我认为不可能在同一服务定义中添加端口信息 .

    访问此服务时,您的应用程序可以执行以下操作:

    curl k8s_svc_name:third_party_defined_port_number
    

    使用它有什么问题?

相关问题