首页 > 解决方案 > 带有许多服务条目的 coreDNS 过载

问题描述

当有大量只能通过防火墙访问的外部 VM 并且集群中有多个命名空间时,每个命名空间都有自己的一组外部 VM,您最终会得到大量 ServiceEntries,这反过来又会导致大量 DNS 查询为了

    $host.$ns.svc.cluster.local 
    $host.svc.cluster.local
    $host.cluster.local

$host例如在哪里:vm-1.vm-cluster.example.com 假设每个命名空间中有 10 个命名空间和 100 个 pod,这是相当多的 DNS 查询,全部由 NXDOMAIN 回答,因此本地 istio DNS 代理缓存不起作用。这可能导致 coreDNS Pod 过载(内存大小,包括缓冲区增加并导致 DNS Pod OOM)。

我的问题是:如何防止这些查询?我想出的解决方案是:

我想通过巧妙组合 ServiceEntry、VirtualService 和 Gateway 定义来解决这个问题。

K8s 1.19版(vmware版) Istio 1.9版(也是vmware版)

标签: istiocoredns

解决方案


推荐阅读