/etc/resolv.conf maka Kubernetes pods, ndots: 5 nhọrọ, otu nke a nwere ike isi metụta arụmọrụ ngwa na-adịghị mma.

/etc/resolv.conf maka Kubernetes pods, ndots: 5 nhọrọ, otu nke a nwere ike isi metụta arụmọrụ ngwa na-adịghị mma.

Anyị malitere Kubernetes 1.9 n'oge na-adịbeghị anya na AWS site na iji Kops. Ụnyaahụ, ka m na-ebugharị okporo ụzọ ọhụrụ n'ọtụtụ Kubernetes ụyọkọ anyị, amalitere m ịhụ njehie mkpebi DNS na-adịghị ahụkebe nke ngwa anyị debanyere.

Enwere ọtụtụ ihe gbasara nke a na GitHub kwuru okwu, ya mere ekpebiri m ịchọpụtakwa ya. N'ikpeazụ, achọpụtara m na n'ọnọdụ anyị nke a na-akpata site na ụbara ibu na kube-dns и dnsmasq. Ihe kacha adọrọ mmasị na ihe ọhụrụ nye m bụ ihe kpatara mmụba dị ịrịba ama na okporo ụzọ arịrịọ DNS. Ozi m bụ maka nke a na ihe m ga-eme maka ya.

A na-ekpebi mkpebi DNS n'ime akpa - dị ka ọ dị na sistemụ Linux ọ bụla - site na faịlụ nhazi /etc/resolv.conf. Kubernetes dapụtara dnsPolicyClusterFirst, nke pụtara na a ga-ebuga arịrịọ DNS ọ bụla dnsmasq, na-agba ọsọ na pọd kube-dns n'ime ụyọkọ ahụ, nke n'aka nke ya ga-ebuga arịrịọ ahụ na ngwa ahụ kube-dns, ma ọ bụrụ na aha mechie na nchịkọta ụyọkọ, ma ọ bụ, ma ọ bụghị, gaa na ihe nkesa DNS dị elu.

file /etc/resolv.conf n'ime akpa ọ bụla ndabara ga-adị ka nke a:

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

Dịka ị na-ahụ, enwere ntuziaka atọ:

  1. Ihe nkesa aha bụ IP nke ọrụ ahụ kube-dns
  2. 4 ngalaba ọchụchọ mpaghara akọwapụtara search
  3. Enwere nhọrọ ndots:5

Akụkụ na-adọrọ mmasị nke nhazi a bụ otú ngalaba ọchụchọ mpaghara na ntọala ndots:5 na-emekọrịta ihe. Iji ghọta nke a, ịkwesịrị ịghọta ka mkpebi DNS maka aha erughị eru si arụ ọrụ.

Gịnị bụ aha zuru ezu?

Aha tozuru oke bụ aha nke agaghị eme nyocha mpaghara na aha a ga-ewere ya dị ka ihe zuru oke n'oge mkpebi aha. Site na nkwekọrịta, ngwanrọ DNS na-ewere aha ka tozuru oke ma ọ bụrụ na ọ kwụsịrị na ntụpọ (.), ma ọ bụghị nke ọma. Ya bụ google.com. zuru ezu kọwaa na google.com - mba.

Kedu ka esi edozi aha na-erughị eru?

Mgbe ngwa jikọọ na onye ọbịa dịpụrụ adịpụ akọwapụtara na aha ahụ, a na-eme mkpebi aha DNS site na iji oku sistemụ, dịka ọmụmaatụ. getaddrinfo(). Ma ọ bụrụ na aha ahụ erughị eru (anaghị ejedebe na .), M na-eche ma ọ bụrụ na oku usoro ga-agbalị idozi aha ahụ dị ka aha zuru oke na mbụ, ma ọ bụ buru ụzọ gaa na ngalaba ọchụchọ mpaghara? Ọ dabere na nhọrọ ndots.

Site na ntuziaka resolv.conf:

ndots:n

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

Nke a pụtara na ọ bụrụ na ndots nyere uru nke 5 na aha ahụ nwere ihe na-erughị ntụpọ 5, oku usoro ahụ ga-anwa idozi ya n'usoro, buru ụzọ gafee ngalaba ọchụchọ mpaghara niile, na, ọ bụrụ na ọ gaghị eme nke ọma, emesị dozie ya dị ka aha zuru oke.

Gịnị kpatara ya ndots:5 ọ nwere ike imetụta arụmọrụ ngwa na-adịghị mma?

Dị ka ị nwere ike iche n'echiche, ọ bụrụ na ngwa gị na-eji ọtụtụ okporo ụzọ mpụga, maka njikọ TCP ọ bụla eguzobere (ma ọ bụ karịa, maka aha ọ bụla edozi), ọ ga-enye ajụjụ 5 DNS tupu e dozie aha ahụ nke ọma, n'ihi na ọ ga-ebu ụzọ gafee. 4 ngalaba ọchụchọ mpaghara, na njedebe ga-enye arịrịọ mkpebi aha zuru oke.

Chaatị na-esote na-egosi mkpokọta okporo ụzọ na modul 3 kube-dns tupu na mgbe anyị gbanwere aha nnabata ole na ole ahaziri na ngwa anyị ka ndị tozuru oke.

/etc/resolv.conf maka Kubernetes pods, ndots: 5 nhọrọ, otu nke a nwere ike isi metụta arụmọrụ ngwa na-adịghị mma.

Eserese na-esonụ na-egosi nkwụsị ngwa tupu na mgbe anyị gbanwere ọtụtụ aha nnabata ahaziri na ngwa anyị ka ọ bụrụ aha zuru ezu (akara anụnụ anụnụ kwụ ọtọ bụ ntinye):

/etc/resolv.conf maka Kubernetes pods, ndots: 5 nhọrọ, otu nke a nwere ike isi metụta arụmọrụ ngwa na-adịghị mma.

Ngwọta #1 - Jiri aha ndị tozuru oke

Ọ bụrụ na ị nwere aha dịpụrụ adịpụ ole na ole (ya bụ akọwapụtara na nhazi ngwa) nke ị mepụtara ọnụ ọgụgụ dị ukwuu nke njikọ, ikekwe ngwọta kachasị mfe bụ ịgbanwe ha ka ha bụrụ ndị tozuru oke site na itinye ha naanị. na njedebe.

Nke a abụghị ngwọta ikpeazụ, ma ọ na-enyere aka ngwa ngwa, ọ bụ ezie na ọ bụghị nke dị ọcha, meziwanye ọnọdụ ahụ. Anyị tinyere ihe nkedo a iji dozie nsogbu anyị, nke egosiri nsonaazụ ya na nseta ihuenyo dị n'elu.

Ngwọta #2 - customization ndots в dnsConfig

Na Kubernetes 1.9, arụmọrụ pụtara na ọnọdụ alfa (ụdị beta v1.10), nke na-enye gị ohere ijikwa paramita DNS nke ọma site na ihe onwunwe pod dị na ya. dnsConfig. Tinyere ihe ndị ọzọ, ọ na-enye gị ohere ịhazi uru ndots maka otu pọd, ya bụ.

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

Isi mmalite

Gụọkwa akụkọ ndị ọzọ na blọọgụ anyị:

isi: www.habr.com

Tinye a comment