【问题标题】:Adding a extra DNS pod how to configure and handle添加额外的 DNS pod 如何配置和处理
【发布时间】:2019-08-23 09:13:44
【问题描述】:

我想添加一个额外的 DNS 服务器作为 pod(其他 pod 的内部)。

Kube-DNS 工作正常,Pod 可以解析其他 Pod 的短名称,并且可以通过以下方式找到额外的 dns-Pod:#>host dns

到目前为止一切顺利。所有 pod 上的 resolve.conf 只有 coredns 条目(名称服务器 CLUSTER_IP)。

我手动将第二个名称服务器添加到 resolve.conf,但它不起作用。现在我想到了 Kube-DNS 中的一个额外规则,将请求转发到 dns-pod。但不知道这是否是正确的方法。此外,在自动创建完整设置(terraform)期间,我不知道 dns-pod 的 ip。

很高兴收到一些提示,应该如何做到这一点。

最好的

【问题讨论】:

  • 您能解释一下通过添加额外的 DNS 服务器来实现的目标吗? CoreDNS 可以配置为做很多事情,它可能支持您尝试添加的任何内容。
  • 其他 pod 应该向 dns-pod 添加额外的域(pod1.domain=> 外部 ip,pod1-internal.domain=> 内部 ip 等等)。但在他们必须解决 dos-pod 之前知道它是什么。
  • 好的.. 需要更详细的解释来看看 coredns 是否可以为您管理服务,但它至少可以进行转发。

标签: amazon-web-services kubernetes amazon-eks coredns


【解决方案1】:

为您的 DNS pod 设置一个 Service,在您分配的集群服务范围内指定一个集群 IP。

apiVersion: v1
kind: Service
metadata:
  name: my-dns-service
spec:
  selector:
    app: dns-app
  ports:
    - protocol: UDP
      port: 53
      targetPort: 53
    - protocol: TCP
      port: 53
      targetPort: 53
  clusterIP: 10.233.8.8

Configure CoreDNS 将您的自定义域转发到该集群 IP。

修改coredns ConfigMap 以包含forward plugin

    domain:53 {
        errors
        cache 30
        forward . 10.233.8.8
    }
    internal.domain:53 {
        errors
        cache 30
        forward . 10.233.8.8
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-25
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    相关资源
    最近更新 更多