Dnsjava是Java中DNS的一个实现。我们围绕它构建了一些应用程序逻辑。只想检查Kubernetes是否会在应用程序级别支持DNS接口。
发布于 2020-02-04 20:02:39
不完全确定你的意思,但库伯奈特斯不在乎你在上面运行什么。你的工作量是你的问题:)
发布于 2020-02-05 11:29:00
您可以配置DNS Pod并在Kubernetes中自定义DNS解析过程。
DNS是一个内置的Kubernetes服务,使用addon管理器集群插件自动启动。
CoreDNS是最流行的DNS服务器,取代了kube.
CoreDNS部署公开为具有静态IP的Kubernetes服务。CoreDNS和CoreDNS服务在metadata.name字段中都被命名为CoreDNS.这样做是为了增强与依赖于遗留kube服务名称来解析集群内部地址的工作负载的互操作性。它抽象出DNS提供程序在该公共端点后面运行的实现细节。kubelet使用--集群- DNS =标志将dns传递给每个容器。 DNS名称也需要域。使用标志
--cluster-domain=<default-local-domain>配置kubelet中的本地域。
DNS服务器启用端口查找、正向查找和反向IP地址查找(PTR记录)。
如果Pod的dnsPolicy设置为“default”,它将继承Pod运行在其上的节点的名称解析配置。Pod的DNS解析应该与节点的行为相同。但看看已知的问题。 如果您不想这样做,或者如果您想要一个不同的DNS配置,您可以使用
kubelet’s --resolv-conf标志。将此标志设置为“”以防止Pods继承DNS。将其设置为有效的文件路径,以指定用于DNS继承的/etc/resolv.conf以外的文件。
对于每个吊舱,都有可能设置DNS策略。Kubernetes支持以下DNS策略:
www.kubernetes.io。请注意,“默认”值与默认DNS策略不同。如果未指定DNS,则DNS策略的默认值为“ClusterFirst”.。
下面是具有特定DNS策略的pod配置文件的示例:
apiVersion: v1
kind: Pod
metadata:
name: dns-example
spec:
containers:
- name: dns-test
image: eg_postgresql:latest
command:
- sleep
- "4000"
imagePullPolicy: IfNotPresent
name: eg_postgresql
restartPolicy: Always
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet在这里阅读更多:dns-kubernetes,dns-服务-pod。
发布于 2020-02-05 20:41:06
是的--在Kubernetes上运行的应用程序可以与/调用运行在同一个cluster...if中的cluster...if(这就是问题所在)的接口。:-)
如果您有适当的访问权限,您可以在Kubernetes中使用自定义DNS。
查看文档中的“Pod的DNS政策”和“Pod的DNS Config”部分,了解如何在部署/Pod配置中配置dnsPolicy和dnsConfig字段,以便更多地控制部署/Pod的DNS设置。
https://stackoverflow.com/questions/60064406
复制相似问题