ProHoster > Blog > Rianachd > /etc/resolv.conf airson pods Kubernetes, ndots: roghainn 5, mar a bheir seo droch bhuaidh air coileanadh tagraidh
/etc/resolv.conf airson pods Kubernetes, ndots: roghainn 5, mar a bheir seo droch bhuaidh air coileanadh tagraidh
Chuir sinn Kubernetes 1.9 air bhog o chionn ghoirid air AWS a’ cleachdadh Kops. An-dè, fhad ‘s a bha mi a’ sgaoileadh trafaic ùr gu rèidh chun an fheadhainn as motha de na cruinneachaidhean Kubernetes againn, thòisich mi a ’mothachadh mearachdan fuasglaidh ainm DNS annasach a chaidh an logadh leis an tagradh againn.
Tha tòrr mu dheidhinn seo air GitHub bhruidhinn, agus mar sin chuir mi romham faighinn a-mach e cuideachd. Aig a’ cheann thall, thuig mi gu bheil seo anns a’ chùis againn air adhbhrachadh leis an àrdachadh eallach air kube-dns и dnsmasq. B ’e an rud as inntinniche agus as ùire dhòmhsa an dearbh adhbhar airson an àrdachadh mòr ann an trafaic iarrtas DNS. Tha an post agam mu dheidhinn seo agus dè a nì mi mu dheidhinn.
Tha rùn DNS taobh a-staigh an t-soithich - mar ann an siostam Linux sam bith - air a dhearbhadh leis an fhaidhle rèiteachaidh /etc/resolv.conf. Kubernetes bunaiteach dnsPolicy e ClusterFirst, a tha a 'ciallachadh gun tèid iarrtas DNS sam bith a chuir air adhart gu dnsmasq, a 'ruith ann am pod kube-dns taobh a-staigh a’ bhraisle, a chuireas an uair sin an t-iarrtas air adhart chun tagradh kube-dns, ma thig an t-ainm gu crìch le iar-leasachan brabhsair, no, air dhòigh eile, gu frithealaiche DNS aig ìre nas àirde.
faidhl /etc/resolv.conf taobh a-staigh gach soitheach seallaidh an roghainn bunaiteach mar seo:
Is e am frithealaiche ainm IP na seirbheis kube-dns
4 raointean sgrùdaidh ionadail air an sònrachadh search
Tha roghainn ann ndots:5
Is e am pàirt inntinneach den rèiteachadh seo mar a tha na raointean sgrùdaidh ionadail agus na roghainnean ndots:5 gabh ri chèile. Gus seo a thuigsinn, feumaidh tu tuigsinn mar a tha rùn DNS airson ainmean gun teisteanas ag obair.
Dè th' ann an làn ainm?
Is e ainm làn-theisteanas ainm nach tèid sgrùdadh ionadail a dhèanamh air agus bithear a’ meas gu bheil an t-ainm iomlan aig àm fuasglaidh ainm. A rèir gnàthachaidh, tha bathar-bog DNS a’ meas gu bheil ainm làn theisteanas ma thig e gu crìch le dot (.), Agus mura h-eil e làn theisteanas air dhòigh eile. S e sin google.com. làn mhìneachadh agus google.com - Chan eil.
Ciamar a thathar a’ làimhseachadh ainm gun teisteanas?
Nuair a cheanglas tagradh ris an òstair iomallach a tha air a shònrachadh san ainm, mar as trice bidh fuasgladh ainm DNS air a dhèanamh le bhith a’ cleachdadh gairm siostaim, me. getaddrinfo(). Ach ma tha an t-ainm gun teisteanas (chan eil e a’ crìochnachadh le .), Saoil am feuch an gairm siostam ri fuasgladh fhaighinn air an ainm mar ainm iomlan an-toiseach, no an tèid e tro na raointean sgrùdaidh ionadail an toiseach? Tha e an urra ris an roghainn ndots.
Bhon leabhar-làimhe resolv.conf:
ndots:n
устанавливает порог для количества точек, которые должны появиться в имени, прежде чем будет сделан начальный абсолютный запрос. Значение по умолчанию для n равно 1, что означает, что если в имени есть какие-либо точки, имя будет сначала опробовано как абсолютное имя, прежде чем к нему будут добавлены какие-либо элементы списка поиска.
Tha seo a’ ciallachadh ma tha ndots le luach 5 agus nas lugha na dotagan 5 san ainm, feuchaidh gairm an t-siostaim ri fhuasgladh ann an sreath, an toiseach a’ dol thairis air a h-uile raon sgrùdaidh ionadail, agus, mura soirbhich, ga fhuasgladh mar ainm iomlan.
Carson ma-thà ndots:5 am faodadh e droch bhuaidh a thoirt air coileanadh an tagraidh?
Mar a shaoileadh tu, ma chleachdas an tagradh agad tòrr trafaic bhon taobh a-muigh, airson gach ceangal TCP stèidhichte (no nas mionaidiche, airson gach ainm a chaidh fhuasgladh), cuiridh e a-mach 5 ceistean DNS mus tèid an t-ainm fhuasgladh gu ceart, oir thèid e troimhe an-toiseach. 4 sgìre sgrùdaidh ionadail, agus aig an deireadh cuiridh e a-mach iarrtas fuasglaidh ainm iomlan.
Tha an clàr a leanas a’ sealltainn an trafaic iomlan air na modalan 3 kube-dns againn ro agus às deidh dhuinn am beagan ainmean aoigheachd a chaidh a dhealbhadh san tagradh againn atharrachadh gu feadhainn làn-teisteanasach.
Tha an diagram a leanas a’ sealltainn latency an tagraidh ro agus às deidh dhuinn grunn ainmean aoigheachd a chaidh an rèiteachadh san tagradh againn atharrachadh gu ainmean slàn (is e an loidhne ghorm dhìreach an cleachdadh):
Fuasgladh #1 - Cleachd ainmean làn-theisteanas
Mura h-eil mòran ainmean taobh a-muigh statach agad (ie air am mìneachadh ann an rèiteachadh an tagraidh) ris an cruthaich thu àireamh mhòr de cheanglaichean, is dòcha gur e am fuasgladh as sìmplidh an tionndadh gu feadhainn làn-teisteanasach le bhith dìreach gan ceangal. aig a' cheann thall.
Chan e fuasgladh deireannach a tha seo, ach tha e a 'cuideachadh le bhith a' leasachadh an t-suidheachaidh gu luath, ged nach eil e glan. Chuir sinn am bad seo an sàs gus ar duilgheadas fhuasgladh, agus bha na toraidhean air an sealltainn anns na dealbhan-sgrìn gu h-àrd.
Fuasgladh #2 - gnàthachadh ndots в dnsConfig
Ann an Kubernetes 1.9, nochd comas-gnìomh ann am modh alpha (dreach beta v1.10), a leigeas leat smachd nas fheàrr a chumail air paramadairean DNS tro sheilbh a’ pod ann an dnsConfig. Am measg rudan eile, leigidh e leat an luach a rèiteachadh ndots airson pod sònraichte, i.e.