来自kubernetes主机的DNS解析
kubernetes具有服务或pod的DNS解析。例如,如果我登录到pod,我可以通过DNS名称访问服务或pod,如来自kubernetes主机的DNS解析,kubernetes,Kubernetes,kubernetes具有服务或pod的DNS解析。例如,如果我登录到pod,我可以通过DNS名称访问服务或pod,如mysvc.default.svc 但我如何通过DNS直接从Kubernetes主机访问它们 目前,我必须获得IP地址才能访问该服务,这很不方便 谢谢 您不能从kubernetes外部(即主机)使用kubernetes群集DNS(CoreDNS)。您应该通过入口或负载平衡器或节点端口类型服务公开pod,并配置外部DNS提供商以将主机名解析为IP。您不能从kubernetes外部使用
mysvc.default.svc
但我如何通过DNS直接从Kubernetes主机访问它们
目前,我必须获得IP地址才能访问该服务,这很不方便
谢谢 您不能从kubernetes外部(即主机)使用kubernetes群集DNS(CoreDNS)。您应该通过入口或负载平衡器或节点端口类型服务公开pod,并配置外部DNS提供商以将主机名解析为IP。您不能从kubernetes外部使用CoreDNS。您应该通过入口或LoadBalancer或NodePort类型服务公开pod,并配置外部DNS提供程序将主机名解析为IP地址
Arghya Sadhu
answers
另一种方法是将外部IP用于您的服务,并直接与公共IP通信
这里有一些例子:
我不认为你可以,这些DNS只在集群中可见。若您希望主机能够解决此问题,则需要指向同一DNS服务器
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
spec:
type: ClusterIP
ports:
- port: 5432
targetPort: 5432
selector:
app: postgres
externalIPs:
- <YOUR_PUBLIC_IP_ADDRESS>
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
spec:
type: NodePort
ports:
- port: 5432
targetPort: 5432
selector:
app: postgres