/etc/resolv.conf no nā Kubernetes pods, dots:5 koho, pehea e hiki ai i kēia ke hoʻopilikia i ka hana noi.

/etc/resolv.conf no nā Kubernetes pods, dots:5 koho, pehea e hiki ai i kēia ke hoʻopilikia i ka hana noi.

Ua hoʻokuʻu hou mākou iā Kubernetes 1.9 ma AWS me ka hoʻohana ʻana iā Kops. I nehinei, ʻoiai e holo mālie ana i nā kaʻa hou i ka nui loa o kā mākou mau pūʻulu Kubernetes, ua hoʻomaka wau e ʻike i nā hewa hoʻonā inoa DNS maʻamau i hoʻopaʻa ʻia e kā mākou noi.

Nui nā mea e pili ana i kēia ma GitHub olelo, no laila ua hoʻoholo wau e noʻonoʻo pū. I ka hopena, ua maopopo iaʻu i kā mākou hihia ke kumu kēia i ka hoʻonui ʻana i ka ukana kube-dns и dnsmasq. ʻO ka mea hoihoi loa a me ka mea hou iaʻu ʻo ia ke kumu nui o ka piʻi nui ʻana o nā kaʻa noi DNS. ʻO kaʻu pou e pili ana i kēia a me ka mea e hana ai.

ʻO ka hoʻonā DNS i loko o ka pahu - e like me nā ʻōnaehana Linux - ua hoʻoholo ʻia e ka faila hoʻonohonoho /etc/resolv.conf. Kubernetes paʻamau dnsPolicy ia ClusterFirst, 'o ia ho'i, e ho'ouna 'ia kekahi noi DNS i dnsmasq, e holo ana ma ka pod kube-dns i loko o ka pūʻulu, e hoʻouna i ka noi i ka noi kube-dns, inā e pau ka inoa me ka pūʻulu suffix, a i ʻole, i kahi kikowaena DNS kiʻekiʻe.

waihona /etc/resolv.conf i loko o kēlā me kēia pahu e like me kēia:

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

E like me kāu e ʻike ai, ʻekolu mau kuhikuhi:

  1. ʻO ka inoa kikowaena ka IP o ka lawelawe kube-dns
  2. 4 mau kāhuna hulina kūloko i kuhikuhi ʻia search
  3. Aia kahi koho ndots:5

ʻO ka ʻāpana hoihoi o kēia hoʻonohonoho ʻana, ʻo ia ke ʻano o ka huli ʻana i nā kikowaena a me nā hoʻonohonoho ndots:5 e launa pu. No ka hoʻomaopopo ʻana i kēia, pono ʻoe e hoʻomaopopo i ka hana ʻana o ka hoʻonā DNS no nā inoa kūpono ʻole.

He aha ka inoa piha?

ʻO ka inoa kūpono piha he inoa no ka mea ʻaʻole e hana ʻia kahi nānā kūloko a e manaʻo ʻia ka inoa i ka wā e hoʻoholo ai i ka inoa. Ma ka ʻaha kūkā, manaʻo ka polokalamu DNS i kahi inoa e hoʻokō piha ʻia inā e hoʻopau ʻia me kahi kiko (.), a ʻaʻole kūpono loa. ʻo ia google.com. wehewehe piha a google.com - aʻole.

Pehea e mālama ʻia ai kahi inoa ʻole?

Ke hoʻopili ʻia kahi noi i ka mea hoʻokipa mamao i kuhikuhi ʻia ma ka inoa, hana maʻamau ka hoʻonā inoa DNS me ka hoʻohana ʻana i kahi kelepona ʻōnaehana, e.g. getaddrinfo(). Akā inā ʻaʻole kūpono ka inoa (ʻaʻole i pau me .), Manaʻo wau inā e hoʻāʻo ka ʻōnaehana kelepona e hoʻoholo i ka inoa ma ke ʻano he inoa piha, a i ʻole e hele mua i nā kāʻei hulina kūloko? Pili ia i ke koho ndots.

Mai ka manuale resolv.conf:

ndots:n

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

ʻO kēia ke ʻano inā no ka ndots hāʻawi ʻia ka waiwai o 5 a ʻoi aku ka liʻiliʻi o ka inoa ma mua o 5 mau kiko, e hoʻāʻo ke kelepona ʻōnaehana e hoʻoponopono iā ia ma ke ʻano maʻamau, e hele mua i nā kikowaena hulina āpau āpau, a inā ʻaʻole i kūleʻa, e hoʻoholo i ka inoa piha.

No ke aha hoʻi ndots:5 hiki ke hoʻopilikia i ka hana noi?

E like me kāu e noʻonoʻo ai, inā hoʻohana kāu noi i ka nui o nā kaʻa waho, no kēlā me kēia pilina TCP i hoʻokumu ʻia (a ʻoi aku ka pololei, no kēlā me kēia inoa i hoʻoholo ʻia), e hoʻopuka ʻo ia i 5 mau nīnau DNS ma mua o ka hoʻoholo pololei ʻana o ka inoa, no ka mea, e hele mua ia. 4 kahua hulina kūloko, a ma ka hopena e hoʻopuka i kahi noi hoʻoholo inoa piha.

Hōʻike ka pakuhi aʻe i ka nui o nā kaʻa ma kā mākou mau modula kube-dns 3 ma mua a ma hope o kā mākou hoʻololi ʻana i nā inoa inoa liʻiliʻi i hoʻonohonoho ʻia i kā mākou noi i nā mea kūpono piha.

/etc/resolv.conf no nā Kubernetes pods, dots:5 koho, pehea e hiki ai i kēia ke hoʻopilikia i ka hana noi.

Hōʻike ke kiʻikuhi aʻe i ka latency noi ma mua a ma hope o kā mākou hoʻololi ʻana i kekahi mau inoa inoa i hoʻonohonoho ʻia i kā mākou noi i nā inoa piha (ʻo ka laina polū kūpaʻa ke kau ʻana):

/etc/resolv.conf no nā Kubernetes pods, dots:5 koho, pehea e hiki ai i kēia ke hoʻopilikia i ka hana noi.

Pane #1 - E hoʻohana i nā inoa kūpono piha

Inā he liʻiliʻi kāu mau inoa waho (ʻo ia hoʻi. i wehewehe ʻia i ka hoʻonohonoho noiʻi) kahi āu e hana ai i kahi helu nui o nā pilina, ʻo ka hopena maʻalahi paha ke hoʻololi iā lākou i nā inoa kūpono piha ma ka hoʻopili wale ʻana iā lākou. i ka hopena.

ʻAʻole kēia he hopena hope, akā kōkua ia i ka wikiwiki, ʻaʻole naʻe maʻemaʻe, hoʻomaikaʻi i ke kūlana. Ua hoʻohana mākou i kēia patch e hoʻoponopono i kā mākou pilikia, nā hopena i hōʻike ʻia ma nā kiʻi ma luna.

Hoʻoponopono #2 - hoʻoponopono ndots в dnsConfig

Ma Kubernetes 1.9, ua ʻike ʻia ka hana ma ke ʻano alpha (beta version v1.10), kahi e hiki ai iā ʻoe ke hoʻomalu maikaʻi i nā ʻāpana DNS ma o ka waiwai pod ma dnsConfig. Ma waena o nā mea'ē aʻe, hiki iāʻoe ke hoʻonohonoho i ka waiwai ndots no ka pod kiko'ī, i.e.

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

Pūnaewele

E heluhelu pū i nā ʻatikala ʻē aʻe ma kā mākou blog:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka