首页 > 解决方案 > CoreDNS 自定义托管区域指向默认 dns 服务器

问题描述

我正在尝试注册一个新的集群范围的托管区域,称为foo-bar.local指向现有 dns 服务器。我想为要解析的主机名,我将能够重写它就能够解决它myservice.namespace.foo-bar.localmyservice.namespace.cluster.svc.local所以我coredns-custom像这样修改了configmap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns-custom
  namespace: kube-system
data:
  my.server: |
    foo-bar.local:53 {
        errors
        rewrite name suffix .foo-bar.local. .svc.cluster.local.
        forward . /etc/resolv.conf
        cache 30
    }

在这种情况下,我希望rewrite规则在请求转发到 resolv.conf 之前发生。我应用了配置并删除了 coredns pod,并验证它已在新实例上被拾取,但是当我尝试nslookup myservice.namespace.foo-bar.local从 pod执行操作时NXDOMAIN: Name does not resolve出现错误。我错过了什么吗?我尝试创建“别名”后缀的原因是我可以请求与特定域匹配的 TLS 证书,而不是.svc.cluster.local. 任何帮助,将不胜感激。

PS 这是一个 AKS 集群,除了通过 configmaps 之外,它似乎不支持配置 CoreDNS。

标签: kubernetescoredns

解决方案


你的请求应该去myservice.namespace.svc.foo-bar.local。不给myservice.namespace.foo-bar.local


推荐阅读