
Vao haingana izahay no namoaka Kubernetes 1.9 amin'ny AWS mampiasa Kops. Omaly, raha nampandeha moramora ny fifamoivoizana vaovao ho an'ny lehibe indrindra amin'ireo cluster Kubernetes, dia nanomboka nahatsikaritra fahadisoana tsy mahazatra momba ny famaha ny anaran'ny DNS voarakitra ao amin'ny fampiharanay aho.
Betsaka ny momba an'io ao amin'ny GitHub , ka nanapa-kevitra ny hamantatra izany koa aho. Tamin'ny farany, tsapako fa amin'ny tranga misy antsika dia vokatry ny fitomboan'ny entana kube-dns и dnsmasq. Ny zavatra mahaliana sy vaovao indrindra ho ahy dia ny tena antony nitomboan'ny fifamoivoizana fangatahana DNS. Ny lahatsoratro dia momba izany sy ny tokony hatao amin'izany.
Ny famahana DNS ao anatin'ny kaontenera - toy ny amin'ny rafitra Linux rehetra - dia voafaritra amin'ny alàlan'ny fichier configuration /etc/resolv.conf. Default Kubernetes dnsPolicy izany ClusterFirst, izay midika fa ny fangatahana DNS rehetra dia halefa any dnsmasq, mihazakazaka ao anaty pod kube-dns ao anatin'ny cluster, izay hampita ny fangatahana amin'ny fampiharana kube-dns, raha mifarana amin'ny tovana cluster ny anarana, na, raha tsy izany, mankany amin'ny mpizara DNS ambony kokoa.
rakitra /etc/resolv.conf Ao anatin'ny container tsirairay dia ho toy izao ny default:
nameserver 100.64.0.10
search namespace.svc.cluster.local svc.cluster.local cluster.local
eu-west-1.compute.internal
options ndots:5Araka ny hitanao dia misy torolàlana telo:
- Ny mpizara anarana dia ny IP an'ny serivisy
kube-dns - Seha-pikarohana eo an-toerana 4 voatondro
search - Misy safidy
ndots:5
Ny ampahany mahaliana amin'ity fanitsiana ity dia ny fomba fitadiavana sehatra sy firafitry eo an-toerana ndots:5 miaraka. Mba hahatakarana izany dia mila mahatakatra ny fomba fiasan'ny famahana DNS ho an'ny anarana tsy mendrika ianao.
Inona no atao hoe anarana feno?
Ny anarana mahafeno fepetra dia anarana izay tsy hanaovana fikarohana eo an-toerana ary ho raisina ho tanteraka ny anarana mandritra ny famahana ny anarana. Araka ny fifanarahana, ny logiciel DNS dia mihevitra ny anarana iray ho mahafeno fepetra raha mifarana amin'ny teboka (.), ary tsy mahafeno fepetra raha tsy izany. Izany hoe google.com. voafaritra tanteraka ary google.com - Tsia.
Ahoana ny fomba fitantanana ny anarana tsy mendrika?
Rehefa misy fampiharana mifandray amin'ny mpampiantrano lavitra voalaza ao amin'ilay anarana, ny famahana ny anaran'ny DNS dia matetika atao amin'ny alàlan'ny antso an-tariby, ohatra. getaddrinfo(). Fa raha tsy mahafeno fepetra ny anarana (tsy mifarana amin'ny .), Manontany tena aho raha hanandrana hamaha ny anarana ho anarana tanteraka aloha ny antson'ny rafitra, sa handeha amin'ny sehatra fikarohana eo an-toerana aloha? Izany dia miankina amin'ny safidy ndots.
Avy amin'ny manual resolv.conf:
ndots:n
устанавливает порог для количества точек, которые должны появиться в имени, прежде чем будет сделан начальный абсолютный запрос. Значение по умолчанию для n равно 1, что означает, что если в имени есть какие-либо точки, имя будет сначала опробовано как абсолютное имя, прежде чем к нему будут добавлены какие-либо элементы списка поиска.Midika izany fa raha ny ndots raha omena sanda 5 ary misy teboka latsaky ny 5 ny anarana, ny antson'ny rafitra dia hiezaka hamaha azy misesy, mamakivaky ny sehatra rehetra amin'ny fikarohana eo an-toerana aloha, ary, raha tsy mahomby, dia hamaha azy io ho anarana tanteraka.
Fa maninona ary ndots:5 mety hisy fiatraikany ratsy amin'ny fahombiazan'ny fampiharana ve izany?
Araka ny azonao alaina sary an-tsaina, raha mampiasa fifamoivoizana ivelany be dia be ny fampiharanao, ho an'ny fifandraisana TCP rehetra napetraka (na ny marimarina kokoa, ho an'ny anarana voavaha), dia hamoaka fanontaniana DNS 5 izy alohan'ny hivoahan'ny anarana, satria handeha aloha izy. 4 sehatra fikarohana eo an-toerana, ary amin'ny farany dia hamoaka fangatahana famahana anarana tanteraka.
Ity tabilao manaraka ity dia mampiseho ny tontalin'ny fifamoivoizana amin'ny maody 3 kube-dns anay taloha sy taorian'ny nanovanay ireo anarana mpampiantrano vitsivitsy namboarina tao amin'ny fampiharana anay ho an'ny anarana mahafeno fepetra.

Ity kisary manaraka ity dia mampiseho ny fahatarana amin'ny fampiharana alohan'ny sy aorian'ny nanovantsika ny anaran'ny mpampiantrano maromaro namboarina tao amin'ny fampiharana ho anarana feno (ny tsipika manga mitsangana dia ny fametrahana):

Vahaolana #1 - Mampiasà anarana mahafeno fepetra
Raha manana anarana ivelany static vitsivitsy ianao (izany hoe voafaritra ao amin'ny fampifanarahana ny fampiharana) izay ahafahanao mamorona fifandraisana marobe, angamba ny vahaolana tsotra indrindra dia ny manova azy ireo amin'ny anarana mahafeno fepetra amin'ny fampidirana azy ireo fotsiny. any amin'ny farany.
Tsy vahaolana farany izany, fa manampy haingana, na dia tsy madio aza, manatsara ny toe-draharaha. Nampihatra ity patch ity izahay mba hamahana ny olanay, ny vokatr'izany dia aseho amin'ny pikantsary etsy ambony.
Vahaolana #2 - fanamboarana ndots в dnsConfig
Ao amin'ny Kubernetes 1.9, ny fiasa dia niseho tamin'ny fomba alpha (beta version v1.10), izay ahafahanao mifehy tsara kokoa ny masontsivana DNS amin'ny alàlan'ny fananana pod dnsConfig. Ankoatra ny zavatra hafa, dia ahafahanao manitsy ny sandany ndots ho an'ny pod manokana, i.e.
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-example
spec:
containers:
- name: test
image: nginx
dnsConfig:
options:
- name: ndots
value: "1"loharanom-baovao
Vakio ihany koa lahatsoratra hafa ao amin'ny bilaoginay:
Source: www.habr.com
