/etc/resolv.conf mo Kubernetes pods, dots:5 filifiliga, faʻafefea ona aʻafia ai le faʻatinoga o talosaga.

/etc/resolv.conf mo Kubernetes pods, dots:5 filifiliga, faʻafefea ona aʻafia ai le faʻatinoga o talosaga.

Na matou tatalaina talu ai nei Kubernetes 1.9 i le AWS e faʻaaoga ai Kops. O ananafi, a'o fa'agasolo sologa lelei auala fou i le tele o a tatou fuifui Kubernetes, na amata ona ou matauina fa'aletonu le masani ai o igoa DNS na fa'amauina e le matou talosaga.

E tele naua e uiga i lenei mea ile GitHub tautala, o lea na ou filifili ai e mafaufau foi i ai. I le faaiuga, na ou iloa ai i lo matou tulaga e mafua mai i le faateleina o le uta i luga kube-dns и dnsmasq. O le mea e sili ona manaia ma fou mo aʻu o le mafuaʻaga tonu lea o le faʻateleina o le faʻateleina o fefaʻatauaiga o talosaga DNS. O la'u pou e uiga i lenei mea ma le mea e fai i ai.

DNS resolution i totonu o le atigipusa - pei o soʻo se Linux system - e faʻamoemoeina e le faila faila /etc/resolv.conf. Kubernetes masani dnsPolicy na ClusterFirst, o lona uiga e tu'uina atu so'o se talosaga DNS i dnsmasq, tamoe i totonu o se pusa kube-dns i totonu o le fuifui, lea o le a tuʻuina atu le talosaga i le talosaga kube-dns, pe a fa'ai'u le igoa i se fuifui suffix, po'o, i se isi itu, i se tulaga maualuga DNS server.

faila /etc/resolv.conf i totonu o atigipusa taʻitasi o le faaletonu o le a pei o lenei:

nameserver 100.64.0.10
search namespace.svc.cluster.local svc.cluster.local cluster.local 
eu-west-1.compute.internal
options ndots:5

E pei ona e vaʻai, e tolu faʻatonuga:

  1. O le igoa server o le IP o le auaunaga kube-dns
  2. 4 su'esu'ega fa'apitonu'u ua fa'amaonia search
  3. E iai le filifiliga ndots:5

O le vaega manaia o lenei fa'atulagaga o le fa'afefea o su'esu'ega fa'apitonu'u ma fa'atulagaga ndots:5 mafuta faatasi. Ina ia malamalama i lenei mea, e tatau ona e malamalama pe faʻafefea ona galue le DNS mo igoa e le faʻamaonia.

O le a le igoa atoa?

O le igoa fa'amaonia atoatoa o se igoa e leai se su'esu'ega fa'apitonu'u o le a faia ma o le igoa o le a fa'amaoni a'o fa'ai'uga igoa. E ala i le fa'asalalauga, e manatu le polokalame DNS o se igoa e matua'i agava'a pe afai e fa'ai'u i se togi (.), ae le'o fa'amaonia atoatoa i se isi itu. O lena lava google.com. fa'amalamalama atoatoa ma google.com - leai.

E fa'afefea ona taulimaina se igoa e le fa'amaonia?

A fa'afeso'ota'i se talosaga i le 'au'aunaga mamao o lo'o fa'amaoti mai i le igoa, e masani lava ona faia le fa'ai'uga ole igoa ole DNS ile fa'aogaina ole telefoni, eg. getaddrinfo(). Ae afai o le igoa e le faʻamaonia (e le faʻamutaina i le .), Ou te mafaufau pe o le a taumafai le polokalama telefoni e foia le igoa o se igoa atoatoa muamua, pe alu muamua i totonu ole suʻesuʻega faʻapitonuʻu? E faalagolago i le filifiliga ndots.

Mai le tusi lesona resolv.conf:

ndots:n

устанавливает порог для количества точек, которые должны появиться в имени, прежде чем будет сделан начальный абсолютный запрос. Значение по умолчанию для n равно 1, что означает, что если в имени есть какие-либо точки, имя будет сначала опробовано как абсолютное имя, прежде чем к нему будут добавлены какие-либо элементы списка поиска.

O lona uiga afai mo ndots tu'uina atu le tau o le 5 ma o le igoa e itiiti ifo i le 5 togitogi, o le a taumafai le system call e foia fa'asolosolo fa'asolosolo, fa'asaga muamua i vaega uma o su'esu'ega fa'apitonu'u, ma, afai e le manuia, e iu lava ina fo'ia o se igoa atoatoa.

Aisea la? ndots:5 e mafai ona afaina ai le faatinoga o talosaga?

E pei ona mafai ona e mafaufauina, afai o lau talosaga e faʻaaogaina le tele o fefaʻatauaiga i fafo, mo fesoʻotaʻiga TCP uma ua faʻatuina (pe sili atu le saʻo, mo igoa uma ua foia), o le a tuʻuina atu 5 DNS fesili aʻo leʻi saʻo le igoa, aua o le a alu muamua. 4 su'esu'ega fa'apitonu'u, ma i le fa'ai'uga o le a tu'uina atu ai se talosaga fa'ai'uga o igoa.

O le siata o loʻo i lalo o loʻo faʻaalia ai le aofaʻi o fefaʻatauaiga i luga o la matou 3 kube-dns modules aʻo leʻi maeʻa ma pe a maeʻa ona matou fesuiaʻi nai igoa talimalo na faʻapipiʻiina i la matou talosaga i tagata agavaa atoatoa.

/etc/resolv.conf mo Kubernetes pods, dots:5 filifiliga, faʻafefea ona aʻafia ai le faʻatinoga o talosaga.

O le ata o loʻo i lalo o loʻo faʻaalia ai le faʻaogaina o le talosaga aʻo leʻi maeʻa ma pe a uma ona matou fesuiaʻi le tele o igoa talimalo na faʻapipiʻiina i totonu o la matou talosaga i igoa atoa (o le laina lanumoana o le faʻapipiʻiina lea):

/etc/resolv.conf mo Kubernetes pods, dots:5 filifiliga, faʻafefea ona aʻafia ai le faʻatinoga o talosaga.

Fofo #1 - Fa'aaoga igoa fa'amaonia atoatoa

Afai e itiiti ni au igoa faʻapitoa i fafo (e pei o faʻamatalaina i le faʻatulagaina o talosaga) e te fatuina ai se numera tele o fesoʻotaʻiga, masalo o le tali sili ona faigofie o le fesuiaʻi i latou i igoa atoatoa e ala i le faʻapipiʻiina. i le faaiuga.

E le o se fofo mulimuli lea, ae e fesoasoani e vave, e ui lava e le mama, faʻaleleia le tulaga. Na matou faʻaogaina lenei patch e foia ai le matou faʻafitauli, o taunuuga na faʻaalia i ata o loʻo i luga.

Fofo #2 - fa'apitoa ndots в dnsConfig

I le Kubernetes 1.9, na faʻaalia galuega i le ala alafa (beta version v1.10), lea e mafai ai e oe ona sili atu le pulea o DNS parameters e ala i le pod property in dnsConfig. Faatasi ai ma isi mea, e mafai ai ona e faʻatulagaina le tau ndots mo se pod faapitoa, i.e.

apiVersion: v1
kind: Pod
metadata:
  namespace: default
  name: dns-example
spec:
  containers:
    - name: test
      image: nginx
  dnsConfig:
    options:
      - name: ndots
        value: "1"

Punaoa

Faitau foi isi tala i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga