VK Cloud logo

Статикалық DNS жазбаларын қосу

Домендік атау берілген IP мекенжайға үнемі шешілуі үшін, кластердің DNS сервисіне статикалық DNS жазбасын қосу қажет.

Мақалада СoreDNS ресурсын пайдаланып, домен мен IP мекенжайды кластердің DNS сервисіне қалай қосу керектігінің мысалы көрсетілген.

Дайындық қадамдары

  1. Жасаңыз Kubernetes кластерін өзекті нұсқада, егер бұл әлі жасалмаған болса.

    Кластер параметрлерін өз қалауыңыз бойынша таңдаңыз.

  2. kubectl көмегімен кластерге қосыла алатыныңызға көз жеткізіңіз.

1. Хост мекенжайын CoreDNS ресурсының ConfigMap файлына қосыңыз

  1. Команданы орындаңыз:

    kubectl edit cm coredns -n kube-system

    CoreDNS ресурсының ConfigMap файлы ашылады.

  2. Төменде көрсетілгендей, домен мен IP мекенжайды ресурс сипаттамасына .:53 блогының алдына қосыңыз:

    apiVersion: v1data:   Corefile: |      myhost.com {         hosts {            8.8.8.8 myhost.com            fallthrough         }      }      .:53 {         errors         log         health         kubernetes cluster.local 10.254.0.0/16 10.100.0.0/16 {            pods insecure         }         prometheus :9153         forward . /etc/resolv.conf         cache 30      }

    Мұнда:

    • 8.8.8.8 — қосылатын доменнің IP мекенжайы.
    • myhost.com — хосттың домендік атауы.
    • fallthrough — егер домен ағымдағы аймақта табылмаса, сұрауды келесі плагиндерде өңдеуді жалғастыруға мүмкіндік беретін параметр.

    CoreDNS конфигурацияны 1-2 минут ішінде автоматты түрде қайта жүктейді. Өзгерістердің қолданылғанын күтіңіз.

2. Конфигурацияның қолданылуын тексеріңіз

  1. Уақытша под жасаңыз:

    kubectl run -it --rm dns-test --image=busybox:1.28 --restart=Never -- nslookup myhost.com

    Күтілетін шығыс:

    Server:    10.254.0.10Address 1: 10.254.0.10 kube-dns.kube-system.svc.cluster.localName:      myhost.comAddress 1: 8.8.8.8
  2. Егер жауапта myhost.com хосты үшін басқа IP мекенжай қайтарылса:

    1. Барлық CoreDNS подтарын қайта іске қосыңыз:

      kubectl rollout restart daemonset/coredns -n kube-system

      DaemonSet контроллері оларды өзгертілген конфигурация бойынша қайта жасайды.

    2. DNS-ті тексеру үшін уақытша подты қайта жасаңыз:

      kubectl run -it --rm dns-test --image=busybox:1.28 --restart=Never -- nslookup myhost.com

Пайдаланылмайтын ресурстарды жойыңыз

Жұмыс істеп тұрған кластер тарификацияланады және есептеу ресурстарын тұтынады. Егер сіз кластерді тестілеу мақсатында жасап, ол енді қажет болмаса: