/etc/resolv.conf bakeng sa Kubernetes pods, ndots: khetho ea 5, hore na sena se ka ama ts'ebetso ea kopo hampe joang

/etc/resolv.conf bakeng sa Kubernetes pods, ndots: khetho ea 5, hore na sena se ka ama ts'ebetso ea kopo hampe joang

Haufinyane tjena re phatlalalitse Kubernetes 1.9 ho AWS re sebelisa Kops. Maobane, ha ke ntse ke tsamaisa sephethephethe se secha hantle ho lihlopha tse kholo tsa Kubernetes, ke ile ka qala ho hlokomela liphoso tse sa tloaelehang tsa ho rarolla mabitso a DNS tse kentsoeng ke kopo ea rona.

Ho na le lintho tse ngata ka sena ho GitHub a bua, kahoo le ’na ke ile ka etsa qeto ea ho e utloisisa. Qetellong, ke ile ka hlokomela hore tabeng ea rona sena se bakoa ke ho eketseha ha mojaro kube-dns и dnsmasq. Ntho e khahlisang le e ncha ho 'na ke lona lebaka la keketseho e kholo ea sephethephethe sa kopo ea DNS. Poso ea ka e mabapi le sena le seo u lokelang ho se etsa ka eona.

Qeto ea DNS ka har'a setshelo - joalo ka sistimi efe kapa efe ea Linux - e khethoa ke faele ea tlhophiso /etc/resolv.conf. Li-Kubernetes tsa kamehla dnsPolicy e ClusterFirst, ho bolelang hore kopo efe kapa efe ea DNS e tla romelloa ho dnsmasq, ho matha ka har'a pod kube-dns ka har'a sehlopha, seo hamorao se tla fetisetsa kopo ho kopo kube-dns, haeba lebitso le qetella ka sehlomathiso sa cluster, kapa, ho seng joalo, ho ea boemong bo phahameng ba seva sa DNS.

faele /etc/resolv.conf ka har'a sets'oants'o se seng le se seng sa kamehla se tla shebahala tjena:

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

Joalokaha u ka bona, ho na le litaelo tse tharo:

  1. Lebitso la seva ke IP ea tšebeletso kube-dns
  2. Libaka tse 4 tsa ho batla tse boletsoeng search
  3. Ho na le khetho ndots:5

Karolo e khahlisang ea tlhophiso ena ke kamoo libaka le litlhophiso tsa sebaka sa hau tsa ho batla ndots:5 utloanang mmoho. Ho utloisisa sena, o hloka ho utloisisa hore na qeto ea DNS ea mabitso a sa tšoaneleheng e sebetsa joang.

Lebitso le felletseng ke mang?

Lebitso le tšoanelehang ka botlalo ke lebitso leo ho ke keng ha etsoa tlhahlobo ea lehae mme lebitso le tla nkuoa e le le felletseng nakong ea qeto ea mabitso. Ka tloaelo, software ea DNS e nka lebitso le tšoaneleha ka botlalo haeba le qetella ka letheba (.), 'me le sa tšoanelehe ka botlalo ho seng joalo. Ke hore google.com. hlalosoa ka botlalo le google.com - Che.

Lebitso le sa tšoaneleheng le sebetsoa joang?

Ha sesebelisoa se hokela ho moamoheli ea hole ea boletsoeng ka lebitso, tharollo ea lebitso la DNS hangata e etsoa ho sebelisoa mohala oa sistimi, mohlala. getaddrinfo(). Empa haeba lebitso le sa tšoanelehe (ha le felle ka .), kea ipotsa hore na mohala oa sistimi o tla leka ho rarolla lebitso lena e le lebitso le felletseng pele, kapa o fete libakeng tsa ho batla tsa lehae pele? E itšetlehile ka khetho ndots.

Ho tsoa bukeng ea litaelo resolv.conf:

ndots:n

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

Sena se bolela hore haeba bakeng sa ndots ha e fuoa boleng ba 5 'me lebitso le na le matheba a ka tlase ho 5, mohala oa tsamaiso o tla leka ho o rarolla ka tatellano, pele o haola le libaka tsohle tsa ho batla tsa sebaka seo,' me, haeba o sa atlehe, qetellong o tla rarolla e le lebitso le feletseng.

Hobaneng ha ho le joalo ndots:5 na e ka ama ts'ebetso ea kopo hampe?

Joalokaha u ka inahanela, haeba kopo ea hau e sebelisa sephethephethe se sengata sa kantle, bakeng sa khokahano e 'ngoe le e' ngoe ea TCP e thehiloeng (kapa ka nepo, bakeng sa lebitso le leng le le leng le rarollotsoe), e tla fana ka lipotso tsa 5 DNS pele lebitso le rarolloa ka nepo, hobane e tla qala ho feta. 4 sebakeng sa patlo ea lehae, 'me qetellong e tla fana ka kopo e felletseng ea ho rarolla mabitso.

Chate e latelang e bonts'a kakaretso ea sephethephethe ho li-module tsa rona tse 3 tsa kube-dns pele le ka mor'a hore re fetole mabitso a 'maloa a hostele a hlophisitsoeng molemong oa rona ho ba tšoanelehang ka botlalo.

/etc/resolv.conf bakeng sa Kubernetes pods, ndots: khetho ea 5, hore na sena se ka ama ts'ebetso ea kopo hampe joang

Setšoantšo se latelang se bonts'a latency ea ts'ebeliso pele le ka mor'a hore re fetole mabitso a 'maloa a moamoheli a hlophisitsoeng ts'ebelisong ea rona ho mabitso a felletseng (mohala o moputsoa o otlolohileng ke phepelo):

/etc/resolv.conf bakeng sa Kubernetes pods, ndots: khetho ea 5, hore na sena se ka ama ts'ebetso ea kopo hampe joang

Tharollo #1 - Sebelisa mabitso a tšoanelehang ka botlalo

Haeba u na le mabitso a seng makae a ka ntle a tsitsitseng (ke hore, a hlalositsoeng ts'ebetsong ea ts'ebeliso) ao u thehang palo e kholo ea likhokahano, mohlomong tharollo e bonolo ke ho a fetisetsa ho a tšoanelehang ka ho feletseng ka ho a kenyelletsa feela. qetellong.

Ena hase tharollo ea ho qetela, empa e thusa ho potlakela, le hoja e se ka mokhoa o hloekileng, ho ntlafatsa boemo. Re sebelisitse patch ena ho rarolla bothata ba rona, liphetho tsa tsona li bonts'itsoeng litšoantšong tse kaholimo.

Tharollo #2 - ho iketsetsa ndots в dnsConfig

Ho Kubernetes 1.9, ts'ebetso e hlahile ka mokhoa oa alpha (beta version v1.10), e u lumellang hore u laole maemo a DNS hamolemo ka thepa ea pod ho. dnsConfig. Har'a lintho tse ling, e u lumella ho hlophisa boleng ndots bakeng sa pod e itseng, i.e.

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

Mohloli

Hape bala lingoliloeng tse ling ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso