Când există o mulțime de VM externe care sunt accesibile numai printr-un firewall și există mai multe spații de nume în cluster, fiecare cu propriul set de VM externe, ajungeți cu o mulțime de ServiceEntries, care la rândul lor provoacă o mulțime de interogări DNS. pentru
$gazdă.$ns.svc.cluster.local
$host.svc.cluster.local
$host.cluster.local
unde $host este, de exemplu: vm-1.vm-cluster.example.com cu să spunem 10 spații de nume și 100 de poduri în fiecare spațiu de nume, adică un număr destul de mare de interogări DNS, toate la care se răspunde cu NXDOMAIN, deci cache-ul proxy DNS local istio nu funcționează. Acest lucru poate duce la o situație de supraîncărcare a pod-urilor coreDNS (dimensiunea memoriei, inclusiv buffer-urile crește și determină OOM-ul DNS Pod).
Întrebarea mea este: cum pot preveni aceste interogări? Soluțiile cu care am venit sunt:
Înlocuirea $host cu un FQDN, care include punctul final, nu funcționează deoarece certificatele X.509 conțin numele gazdă fără punctul final.
Schimbați configurația DNS a fiecărui Pod și setați ndots-ul la ceva de genul 3. Dar asta sună ca un coșmar de întreținere.
Aș dori să rezolv acest lucru printr-o combinație inteligentă de definiții ServiceEntry, VirtualService și Gateway.
K8s versiunea 1.19 (ediția vmware) Istio versiunea 1.9 (și ediția vmware)