Kubernetes coredns转发插件以使用k8s服务名称

Kubernetes coredns转发插件以使用k8s服务名称,kubernetes,dns,istio,kubernetes-service,coredns,Kubernetes,Dns,Istio,Kubernetes Service,Coredns,对于使用复制控制平面配置多集群Isito,要求之一是在kube系统命名空间中配置k8s coredns服务,将区域“全局”转发到istio系统命名空间中部署的“ISTIOCredons”服务的IP。像 在本例中,使用该命令扩展获取istiocoredns ClusterIP类型的服务的IP 由于这是一个非静态的IP,可以修改,我正在寻找一种方法来使用一些更具动态性和变化意识的东西。使用istiocoredns服务FQDN名称会很好,但coredns文档并未提及任何相关内容 是否有任何coredn

对于使用复制控制平面配置多集群Isito,要求之一是在kube系统命名空间中配置k8s coredns服务,将区域“全局”转发到istio系统命名空间中部署的“ISTIOCredons”服务的IP。像

在本例中,使用该命令扩展获取istiocoredns ClusterIP类型的服务的IP

由于这是一个非静态的IP,可以修改,我正在寻找一种方法来使用一些更具动态性和变化意识的东西。使用istiocoredns服务FQDN名称会很好,但coredns文档并未提及任何相关内容

是否有任何coredns插件或解决方法

多谢各位

是否有任何coredns插件或解决方法

有,但正如在本文中提到的,他们在这里设置了coredns的IP

更新kube dns配置映射,将此coredns服务作为*.global域的上游dns服务指向。您必须找到coredns服务的集群IP并更新配置映射(或为此编写控制器!)

但这里有一些有趣的信息

更新:从Istio 1.8开始,不再需要此插件。DNS内置于侧车中的istio代理中。默认情况下,在预览配置文件中启用Sidecar DNS。您还可以通过在istio操作符中设置以下配置来手动启用它

你可以找到更多关于它的信息

有一些正在进行的工作将有助于简化DNS故事:

Istio将很快通过sidecar代理支持所有工作负载的DNS拦截。这将允许Istio代表应用程序执行DNS查找

是一个Istio社区项目,提供许多多群集功能,包括自动创建服务DNS条目

是一个Kubernetes增强计划(KEP),它定义了一个用于将服务导出到多个集群的API。这有效地将整个clusterset的服务可见性和DNS解析的责任推给了Kubernetes。还正在将MCS支持层构建到Istio中,这将允许Istio与任何云供应商MCS控制器一起工作,甚至充当整个网格的MCS控制器

虽然Admiral现在可以使用,但Istio和Kubernetes社区正在积极地将更通用的解决方案构建到他们的平台中。请继续收看


在1.8版的预览文档中有相关内容

    global:53 {
        errors
        cache 30
        forward . $(kubectl get svc -n istio-system istiocoredns -o jsonpath={.spec.clusterIP}):53
    }
apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-dns
  namespace: kube-system
data:
  stubDomains: |
    {"global": ["10.2.3.4"]}
  meshConfig:
    defaultConfig:
      proxyMetadata:
        ISTIO_META_DNS_CAPTURE: "true"
        ISTIO_META_PROXY_XDS_VIA_AGENT: "true"