【问题标题】:coredns forward plugin to use a k8s service namecoredns 转发插件使用 k8s 服务名称
【发布时间】:2020-10-02 06:49:32
【问题描述】:

要配置具有复制控制平面的多集群 Isito,要求之一是在 kube-system 命名空间中配置 k8s coredns 服务,将区域“global”转发到部署在 istio 中的“istiocoredns”服务的 IP -系统命名空间。赞this:

    global:53 {
        errors
        cache 30
        forward . $(kubectl get svc -n istio-system istiocoredns -o jsonpath={.spec.clusterIP}):53
    }

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

由于这是一个非静态 IP 并且可以修改,我正在寻找一种方法来使用更动态和变化感知的东西。使用 istiocoredns 服务的 FQDN 名称会很棒,但 coredns 文档没有提及它。

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

谢谢。

【问题讨论】:

    标签: kubernetes dns istio kubernetes-service coredns


    【解决方案1】:

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

    istio coredns plugin,但正如usage section 中提到的那样,无论如何他们在这里设置了coredns 的IP。

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

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: kube-dns
      namespace: kube-system
    data:
      stubDomains: |
        {"global": ["10.2.3.4"]}
    

    但这里有一些有趣的信息

    更新:从 Istio 1.8 开始不再需要此插件。 DNS 内置在 sidecar 中的 istio 代理中。 Sidecar DNS 在预览配置文件中默认启用。您也可以通过在 istio operator 中设置以下配置来手动启用它

      meshConfig:
        defaultConfig:
          proxyMetadata:
            ISTIO_META_DNS_CAPTURE: "true"
            ISTIO_META_PROXY_XDS_VIA_AGENT: "true"
    

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

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

    Istio 很快将支持使用 Sidecar 代理对所有工作负载进行 DNS 拦截。这将允许 Istio 代表应用程序执行 DNS 查找。

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

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

    虽然 Admiral 现在可用,但 Istio 和 Kubernetes 社区正在积极地在他们的平台中构建更通用的解决方案。敬请期待!


    在 1.8 prelim docs 中有 article

    【讨论】:

      猜你喜欢
      • 2020-05-10
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多