Poill a shocrú i mbraisle Kubernetes. Tuairisc agus tras-scríbhinn ó DevOpsConf

Thug Pavel Selivanov, ailtire réitigh Southbridge agus múinteoir Slurm, cur i láthair ag DevOpsConf 2019. Tá an chaint seo mar chuid de cheann d’ábhair an chúrsa dhomhain ar Kubernetes “Slurm Mega”.

Slurm Basic: Buneolas ar Kubernetes ar siúl i Moscó ar 18-20 Samhain.
Slurm Mega: ag féachaint faoi chochall Kubernetes - Moscó, 22-24 Samhain.
Slurm Online: an dá chúrsa Kubernetes ar fáil i gcónaí.

Anseo thíos tá tras-scríbhinn den tuarascáil.

Dea-tráthnóna, a chomhghleacaithe agus iad siúd a dhéanann comhbhrón leo. Inniu beidh mé ag caint faoi shábháilteacht.

Feicim go bhfuil go leor gardaí slándála sa halla inniu. Gabhaim mo leithscéal leat roimh ré má bhainim úsáid as téarmaí ó shaol na slándála ní díreach mar is gnách duitse.

Tharla sé mar sin gur tháinig mé trasna ar bhraisle poiblí Kubernetes amháin timpeall sé mhí ó shin. Ciallaíonn poiblí go bhfuil an nú uimhir spásanna ainmneacha; sna spásanna ainm seo tá úsáideoirí scoite ina n-ainmspás. Baineann na húsáideoirí seo go léir le cuideachtaí éagsúla. Bhuel, glacadh leis gur cheart an braisle seo a úsáid mar CDN. Is é sin, tugann siad braisle duit, tugann siad úsáideoir duit ann, téann tú ann chuig d'ainmspás, imlonnaítear do chuid aghaidheanna.

Rinne mo chuideachta roimhe seo iarracht seirbhís den sórt sin a dhíol. Agus iarradh orm an braisle a mhúscailt féachaint an raibh an réiteach seo oiriúnach nó nach raibh.

Tháinig mé go dtí an braisle seo. Tugadh cearta teoranta dom, ainmspás teoranta. Thuig na guys ansin cad a bhí sa tsábháilteacht. Léann siad faoi rialú rochtana Ról-bhunaithe (RBAC) i Kubernetes - agus casadh siad é ionas nach raibh mé in ann pods a sheoladh ar leithligh ó imscaradh. Ní cuimhin liom an fhadhb a bhí mé ag iarraidh a réiteach trí pod a sheoladh gan imscaradh, ach níor theastaigh uaim ach pod a sheoladh. Ar mhaithe le dea-ádh, chinn mé féachaint cad iad na cearta atá agam sa chnuasach, cad is féidir liom a dhéanamh, cad nach féidir liom a dhéanamh, agus cad atá déanta acu ansin. Ag an am céanna, inseoidh mé duit cad atá cumraithe go mícheart acu in RBAC.

Tharla sé mar sin go bhfuair mé riarthóir ar a mbraisle i gceann dhá nóiméad, gur bhreathnaigh mé ar na spásanna ainmneacha comharsanachta go léir, go bhfaca mé ann na réimsí táirgeachta reatha atá ag cuideachtaí a bhí tar éis an tseirbhís a cheannach agus a imscaradh cheana féin. Is ar éigean a d’fhéadfainn mé féin a stopadh ó dhul chun tosaigh duine éigin agus focal mionn éigin a chur ar an bpríomhleathanach.

Inseoidh mé duit le samplaí conas a rinne mé é seo agus conas tú féin a chosaint uaidh seo.

Ach ar dtús, lig dom mé féin a thabhairt isteach. Is é mo ainm Pavel Selivanov. Is ailtire mé ag Southbridge. Tuigim Kubernetes, DevOps agus gach sórt rudaí mhaisiúil. Tá innealtóirí Southbridge agus mé féin ag tógáil seo go léir, agus tá mé ag dul i gcomhairle.

Chomh maith lenár bpríomhghníomhaíochtaí, sheolamar tionscadail ar a dtugtar Slurms le déanaí. Táimid ag iarraidh ár gcumas a bheith ag obair le Kubernetes beagán a thabhairt chuig an mais, chun daoine eile a mhúineadh chun oibriú le K8s freisin.

Cad a labhróidh mé faoi inniu? Is léir ábhar na tuarascála - faoi shlándáil bhraisle Kubernetes. Ach ba mhaith liom a rá ar an bpointe boise go bhfuil an t-ábhar seo an-mhór - agus dá bhrí sin ba mhaith liom a shoiléiriú láithreach cad nach mbeidh mé ag caint faoi. Ní labhróidh mé faoi théarmaí fruilchairr a úsáideadh céad uair cheana ar an Idirlíon. Gach cineál RBAC agus teastais.

Labhróidh mé faoi na rudaí a chuireann pian orm féin agus ar mo chomhghleacaithe faoi shlándáil i mbraisle de Kubernetes. Feicimid na fadhbanna seo i measc soláthraithe a sholáthraíonn braislí Kubernetes agus i measc na gcliant a thagann chugainn. Agus fiú ó chliaint a thagann chugainn ó chuideachtaí riaracháin comhairliúcháin eile. Is é sin le rá go bhfuil scála na tragóide an-mhór.

Go litriúil tá trí phointe ar a mbeidh mé ag caint inniu:

  1. Cearta úsáideora vs cearta pod. Ní hionann cearta úsáideora agus cearta pod.
  2. Eolas a bhailiú faoin gcnuasach. Taispeánfaidh mé gur féidir leat an fhaisnéis go léir a theastaíonn uait a bhailiú ó bhraisle gan cearta speisialta a bheith agat sa bhraisle seo.
  3. Ionsaí DoS ar an mbraisle. Mura féidir linn eolas a bhailiú, beimid in ann braisle a chur ar aon nós. Labhróidh mé faoi ionsaithe DoS ar eilimintí rialaithe braisle.

Rud ginearálta eile a luafaidh mé ná a ndearna mé tástáil air seo go léir, ar ar féidir liom a rá go cinnte go n-oibríonn sé go léir.

Glacaimid mar bhonn le braisle Kubernetes a shuiteáil ag baint úsáide as Kubespray. Mura bhfuil a fhios ag éinne, is sraith róil é seo do Ansible. Bainimid úsáid as i gcónaí inár gcuid oibre. Is é an rud go maith gur féidir leat é a rolladh áit ar bith - is féidir leat é a rolladh ar phíosaí iarainn nó isteach i scamall áit éigin. Oibríonn modh suiteála amháin i bprionsabal do gach rud.

Sa bhraisle seo beidh Kubernetes v1.14.5 agam. Tá an braisle Ciúb ar fad, a mheasfaimid, roinnte ina spásanna ainmneacha, baineann gach ainmspás le foireann ar leith, agus tá rochtain ag baill na foirne seo ar gach ainmspás. Ní féidir leo dul chuig spásanna éagsúla, ach chuig a gcuid spásanna féin. Ach tá cuntas riaracháin áirithe ann a bhfuil cearta aige ar an mbraisle iomlán.

Poill a shocrú i mbraisle Kubernetes. Tuairisc agus tras-scríbhinn ó DevOpsConf

Gheall mé gurb é an chéad rud a dhéanfaimid ná cearta riaracháin a fháil don bhraisle. Ní mór dúinn pod ullmhaithe go speisialta a bhriseadh braisle Kubernetes. Níl le déanamh againn ach é a chur i bhfeidhm ar bhraisle Kubernetes.

kubectl apply -f pod.yaml

Tiocfaidh an pod seo chuig ceann de na máistrí sa bhraisle Kubernetes. Agus ina dhiaidh seo tabharfaidh an braisle ar ais chugainn go sona sásta comhad darb ainm admin.conf. I gCiúb, stórálann an comhad seo gach deimhniú riarthóra, agus ag an am céanna cumraíonn sé an API braisle. Seo é chomh héasca is atá sé rochtain riaracháin a fháil, dar liom, ar 98% de bhraislí Kubernetes.

Arís agus arís eile, rinne forbróir amháin i do bhraisle an pod seo a bhfuil rochtain aige chun a chuid moltaí a imscaradh in aon ainmspás beag amháin, tá sé ar fad clampáilte ag RBAC. Ní raibh aon chearta aige. Ach mar sin féin tugadh an deimhniú ar ais.

Agus anois faoi pod ullmhaithe go speisialta. Rithimid é ar aon íomhá. Glacaimis debian:jessie mar shampla.

Tá an rud seo againn:

tolerations:
-   effect: NoSchedule 
    operator: Exists 
nodeSelector: 
    node-role.kubernetes.io/master: "" 

Cad is lamháltas ann? De ghnáth déantar máistrí i mbraisle Kubernetes a mharcáil le rud ar a dtugtar taint. Agus is é croílár an "ionfhabhtaithe" seo go ndeir sé nach féidir pods a shannadh do nóid mháistir. Ach ní bhacann aon duine a chur in iúl in aon phod go bhfuil sé fulangach don “ionfhabhtú”. Deir an rannóg Caoinfhulaingt má tá NoSchedule ag nód éigin, ansin tá ár nód fulangach d'ionfhabhtú den sórt sin - agus níl aon fhadhbanna ann.

Thairis sin, deirimid go bhfuil ár faoi ní amháin fulangach, ach freisin ba mhaith chun díriú go sonrach ar an máistir. Toisc go bhfuil an rud is delicious ag na máistrí a theastaíonn uainn - na deimhnithe go léir. Dá bhrí sin, deirimid nódSelector - agus tá lipéad caighdeánach againn maidir le máistrí, a ligeann duit na nóid go léir sa bhraisle a roghnú go díreach na nóid sin atá máistreachta.

Leis an dá alt seo is cinnte go dtiocfaidh sé ar an máistir. Agus beidh cead aige cónaí ann.

Ach ní leor dúinn ach teacht go dtí an máistir. Ní thabharfaidh sé seo rud ar bith dúinn. Mar sin seo chugainn tá an dá rud seo againn:

hostNetwork: true 
hostPID: true 

Sonraímid go mbeidh ár pod, a sheolaimid, beo san ainmspás eithne, in ainmspás an líonra, agus san ainmspás PID. Nuair a bheidh an pod seolta ar an máistir, beidh sé in ann na comhéadain fíor, beo den nód seo a fheiceáil, éisteacht leis an trácht go léir agus féach ar PID na bpróiseas go léir.

Ansin tá sé ina ábhar na rudaí beaga. Tóg etcd agus léigh cad atá uait.

Is é an rud is suimiúla ná an ghné Kubernetes seo, atá i láthair ann de réir réamhshocraithe.

volumeMounts:
- mountPath: /host 
  name: host 
volumes:
- hostPath: 
    path: / 
    type: Directory 
  name: host 

Agus is é an bunús atá leis ná gur féidir linn a rá sa pod a sheolaimid, fiú gan cearta ar an mbraisle seo, go dteastaíonn uainn líon cineál hostPath a chruthú. Ciallaíonn sé seo an cosán a thógáil ón ósta ar a mbeidh muid ag seoladh - agus é a ghlacadh mar toirt. Agus ansin tugaimid ainm air: óstach. Cuirimid an t-óstach iomlán seo isteach sa phod. Sa sampla seo, chuig an eolaire / óstach.

Déanfaidh mé arís é. Dúradh linn don pod teacht chuig an máistir, an hostNetwork agus hostPID a fháil ann - agus fréamh iomlán an mháistir a shuiteáil taobh istigh den pod seo.

Tuigeann tú go bhfuil bash ag rith i Debian, agus go ritheann an bash seo faoin bhfréamh. Is é sin, ní bhfuair muid ach fréamh ar an máistir, gan aon chearta a bheith againn i mbraisle Kubernetes.

Ansin is é an tasc iomlán ná dul chuig an bhfo-eolaire / ósta / etc / kubernetes / pki, mura bhfuil dul amú orm, roghnaigh máistir-teastas an bhraisle go léir ansin agus, dá réir sin, bí i do riarthóir braisle.

Má fhéachann tú air ar an mbealach seo, seo iad cuid de na cearta is contúirtí i pods - is cuma cad iad na cearta atá ag an úsáideoir:
Poill a shocrú i mbraisle Kubernetes. Tuairisc agus tras-scríbhinn ó DevOpsConf

Má tá na cearta agam pod a rith in ainmspás éigin den bhraisle, tá na cearta seo ag an pod seo de réir réamhshocraithe. Is féidir liom pods faoi phribhléid a rith, agus go ginearálta is cearta iad seo, go praiticiúil fréamhacha ar an nód.

Is é mo is fearr leat úsáideoir Root. Agus tá an rogha Run As Non-Root seo ag Kubernetes. Is cineál cosanta é seo ó hacker. An bhfuil a fhios agat cad é “víreas na Moldóive”? Más hacker thú go tobann agus go dtagann tú chuig mo bhraisle Kubernetes, cuirimidne, riarthóirí bochta, ceist ort: “Cuir in iúl i do phodaí le do thoil a ndéanfaidh tú mo bhraisle a hackáil, á reáchtáil mar neamhfhréamh. Seachas sin, beidh sé tarlú go ritheann tú an próiseas i do pod faoi fhréamh, agus beidh sé an-éasca duit a hack dom. Cosain tú féin uait le do thoil."

Is é an méid cosán óstach, i mo thuairim, an bealach is tapúla chun an toradh inmhianaithe a fháil ó bhraisle Kubernetes.

Ach cad atá le déanamh leis seo go léir?

Is é an smaoineamh ba chóir a bheith ag aon ghnáth-riarthóir a bhuaileann le Kubernetes ná: “Sea, dúirt mé leat, ní oibríonn Kubernetes. Tá poill ann. Agus tá an Ciúb iomlán bullshit." Go deimhin, tá a leithéid de rud ann agus doiciméadú, agus má fhéachann tú ann, tá alt ann Beartas Slándála Pod.

Is réad yaml é seo - is féidir linn é a chruthú i mbraisle Kubernetes - a rialaíonn gnéithe slándála go sonrach sa chur síos ar na pods. Is é sin, i ndáiríre, rialaíonn sé na cearta chun aon hostNetwork, hostPID, cineálacha áirithe toirte atá sna pods ag am tosaithe a úsáid. Le cabhair ó Pholasaí Slándála Pod, is féidir cur síos a dhéanamh ar seo go léir.

Is é an rud is suimiúla faoin bPolasaí Slándála Pod ná nach gcuirtear síos ar na suiteálaithe PSP go léir i gcnuasach Kubernetes ar bhealach ar bith, go bhfuil siad díchumasaithe go simplí de réir réamhshocraithe. Tá Beartas Slándála Pod cumasaithe ag baint úsáide as an breiseán iontrála.

Ceart go leor, déanaimis Beartas Slándála Pod a imscaradh sa bhraisle, abair linn go bhfuil roinnt pods seirbhíse againn san ainmspás, nach bhfuil rochtain ach ag riarthóirí orthu. Ligean le rá, i ngach cás eile, tá cearta teoranta ag pods. Mar is dóichí nach gá d’fhorbróirí pods faoi phribhléid a rith i do bhraisle.

Agus is cosúil go bhfuil gach rud go breá linn. Agus ní féidir ár mbraisle Kubernetes a hackáil i dhá nóiméad.

Tá fadhb ann. Is dócha, má tá braisle Kubernetes agat, ansin tá monatóireacht suiteáilte ar do bhraisle. Ba mhaith liom dul chomh fada agus a thuar, má tá monatóireacht ag do bhraisle, go dtabharfar Prometheus air.

Beidh a bhfuil mé ar tí a insint duit bailí don oibreoir Prometheus agus Prometheus araon seachadta ina fhoirm ghlan. Is í an cheist ná más rud é nach féidir liom riarthóir a fháil isteach sa bhraisle chomh tapa sin, ciallaíonn sé seo go gcaithfidh mé breathnú níos mó. Agus is féidir liom cuardach a dhéanamh le cabhair ó do mhonatóireacht.

Is dócha go léann gach duine na hailt chéanna ar Habré, agus tá an monatóireacht suite san ainmspás monatóireachta. Tugtar cairt Helm beagnach mar an gcéanna do gach duine. Tá mé ag buille faoi thuairim má dhéanann tú i gceannas ar shuiteáil cobhsaí/prometheus, beidh tú ag deireadh suas le thart ar na hainmneacha céanna. Agus is dócha nach mbeidh orm fiú an t-ainm DNS i do bhraisle a thomhas. Toisc go bhfuil sé caighdeánach.

Poill a shocrú i mbraisle Kubernetes. Tuairisc agus tras-scríbhinn ó DevOpsConf

Ansin tá forbairtí áirithe againn, inar féidir leat pod áirithe a rith. Agus ansin ón pod seo tá sé an-éasca rud éigin mar seo a dhéanamh:

$ curl http://prometheus-kube-state-metrics.monitoring 

Tá prometheus-kube-state-metrics ar cheann de na honnmhaireoirí Prometheus a bhailíonn méadracht ó Kubernetes API féin. Tá go leor sonraí ann, cad atá ar siúl i do bhraisle, cad atá ann, cad iad na fadhbanna atá agat leis.

Mar shampla simplí:

kube_pod_container_info{namespace=“kube-system”, pod=”kube-apiserver-k8s- 1″,coimeádán=”kube-apiserver”, íomhá=

"gcr.io/google-containers/kube-apiserver:v1.14.5"

,image_id=»docker-pullable://gcr.io/google-containers/kube- apiserver@sha256:e29561119a52adad9edc72bfe0e7fcab308501313b09bf99df4a96 38ee634989″,container_id=»docker://7cbe7b1fea33f811fdd8f7e0e079191110268f2 853397d7daf08e72c22d3cf8b»} 1

Trí iarratas simplí curl a dhéanamh ó phod neamhphribhléideach, is féidir leat an fhaisnéis seo a leanas a fháil. Mura bhfuil a fhios agat cén leagan de Kubernetes atá á rith agat, inseoidh sé duit go héasca.

Agus is é an rud is suimiúla ná, chomh maith le rochtain a fháil ar mhéadracht kube-stáit, is féidir leat rochtain dhíreach a fháil ar Prometheus féin. Is féidir leat méadracht a bhailiú as sin. Is féidir leat fiú méadracht a thógáil as sin. Fiú go teoiriciúil, is féidir leat a leithéid de cheist a thógáil ó bhraisle i Prometheus, rud a mhúchfaidh go simplí é. Agus stopfaidh do mhonatóireacht ag obair ón mbraisle ar fad.

Agus anseo eascraíonn an cheist an ndéanann aon mhonatóireacht sheachtrach monatóireacht ar do chuid monatóireachta. Fuair ​​​​mé an deis oibriú i mbraisle Kubernetes gan aon iarmhairtí dom féin. Ní bheidh a fhios agat fiú go bhfuil mé ag feidhmiú ann, ós rud é nach bhfuil aon mhonatóireacht ann a thuilleadh.

Díreach cosúil leis an PSP, mothaíonn sé cosúil leis an fhadhb atá ann go léir na teicneolaíochtaí mhaisiúil - Kubernetes, Prometheus - ní hamháin go n-oibríonn siad agus go bhfuil siad lán de phoill. Níl i ndáiríre.

Tá a leithéid ann - Beartas Líonra.

Más gnáth-riarthóir tú, is dóichí go bhfuil a fhios agat faoi Bheartas Líonra nach bhfuil anseo ach yaml eile, a bhfuil go leor acu sa bhraisle cheana féin. Agus is cinnte nach bhfuil gá le roinnt Polasaithe Líonra. Agus fiú má léann tú cad é Beartas Líonra, gur balla dóiteáin yaml de Kubernetes é, ligeann sé duit cearta rochtana a theorannú idir spásanna ainmneacha, idir pods, ansin shocraigh tú go cinnte go bhfuil an balla dóiteáin i bhformáid yaml i Kubernetes bunaithe ar na chéad astarraingtí eile. ... Níl, níl . Is cinnte nach bhfuil gá leis seo.

Fiú mura ndúirt tú le do speisialtóirí slándála gur féidir leat balla dóiteáin an-éasca agus simplí a thógáil le do Kubernetes agus balla an-ghráiníneach air sin. Mura bhfuil sé seo ar eolas acu go fóill agus mura gcuireann siad isteach ort: “Bhuel, tabhair dom, tabhair dom...” Ansin ar aon nós, teastaíonn Beartas Líonra uait chun rochtain ar roinnt áiteanna seirbhíse is féidir a bhaint as do bhraisle a chosc. gan aon údarú.

Mar atá sa sampla a thug mé, is féidir leat méadracht stáit kube a tharraingt suas ó aon ainmspás i mbraisle Kubernetes gan aon chearta a bheith agat é sin a dhéanamh. Tá rochtain dúnta ag polasaithe líonra ó gach ainmspás eile ar an ainmspás monatóireachta agus sin é: gan rochtain, gan fadhbanna. Sna cairteacha go léir atá ann, idir an Prometheus caighdeánach agus an Prometheus atá san oibreoir, níl ach rogha sna luachanna stiúrtha chun beartais líonra a chumasú dóibh go simplí. Ní mór duit ach é a chasadh air agus oibreoidh siad.

Tá fadhb amháin anseo i ndáiríre. Toisc gur gnáth-riarthóir féasóg é, is dócha gur shocraigh tú nach bhfuil gá le polasaithe líonra. Agus tar éis gach cineál alt a léamh ar acmhainní cosúil le Habr, shocraigh tú gurb é flannel, go háirithe leis an modh ósta-geata, an rud is fearr is féidir leat a roghnú.

Cad le déanamh?

Is féidir leat triail a bhaint as an réiteach líonra atá agat i do bhraisle Kubernetes a ath-imscaradh, déan iarracht rud éigin níos feidhmiúla a chur ina ionad. Maidir leis an Calico céanna, mar shampla. Ach ba mhaith liom a rá ar an bpointe boise go bhfuil an tasc an réiteach líonra a athrú i mbraisle oibre Kubernetes sách neamhfhánach. Réitigh mé é faoi dhó (an dá uair, áfach, go teoiriciúil), ach léirigh muid fiú conas é a dhéanamh ag Slurms. Le haghaidh ár gcuid mac léinn, thaispeáin muid conas an réiteach líonra a athrú i mbraisle Kubernetes. I bprionsabal, is féidir leat iarracht a dhéanamh a chinntiú nach bhfuil aon downtime ar an mbraisle táirgthe. Ach is dócha nach n-éireoidh leat.

Agus tá an fhadhb a réiteach i ndáiríre go han-simplí. Tá teastais sa bhraisle, agus tá a fhios agat go rachaidh do theastais in éag i gceann bliana. Bhuel, de ghnáth gnáthréiteach le teastais i mbraisle - cén fáth a bhfuil imní orainn, tógfaimid braisle nua in aice láimhe, ligfimid don seancheann lofa, agus ath-imlonnaimid gach rud. Fíor, nuair a bheidh sé lofa, beidh orainn suí ar feadh lae, ach seo braisle nua.

Nuair a ardaíonn tú braisle nua, cuir isteach Calico in ionad flannel ag an am céanna.

Cad atá le déanamh má eisítear do theastais ar feadh céad bliain agus nach bhfuil tú chun an braisle a ath-imscaradh? Tá a leithéid de rud ann agus Kube-RBAC-Proxy. Is forbairt an-fhionnuar é seo, ligeann sé duit é féin a leabú mar choimeádán taobhcharr le haon pod i mbraisle Kubernetes. Agus cuireann sé údarú leis an pod seo trí RBAC Kubernetes féin.

Tá fadhb amháin ann. Roimhe seo, tógadh an réiteach Kube-RBAC-Proxy seo isteach i Prometheus an oibreora. Ach ansin bhí sé imithe. Anois tá leaganacha nua-aimseartha ag brath ar an bhfíric go bhfuil polasaí líonra agat agus é a dhúnadh agus iad a úsáid. Agus mar sin beidh orainn an chairt a athscríobh beagán. Go deimhin, má théann tú go dtí an stór seo, tá samplaí ann maidir le conas é seo a úsáid mar charranna taobh, agus ní mór na cairteacha a athscríobh ar a laghad.

Tá fadhb bheag amháin eile ann. Ní hé Prometheus an t-aon duine a thugann a mhéadracht do dhuine ar bith amháin. Tá ár gcomhpháirteanna braisle Kubernetes go léir in ann a méadracht féin a thabhairt ar ais freisin.

Ach mar a dúirt mé cheana, mura féidir leat rochtain a fháil ar an mbraisle agus faisnéis a bhailiú, is féidir leat ar a laghad dochar a dhéanamh.

Mar sin taispeánfaidh mé go tapa dhá bhealach conas is féidir braisle Kubernetes a mhilleadh.

Déanfaidh tú gáire nuair a déarfaidh mé seo leat, is dhá chás saoil iad seo.

Modh a haon. Ídiú acmhainní.

Seolfaimid pod speisialta eile. Beidh alt mar seo aige.

resources: 
    requests: 
        cpu: 4 
        memory: 4Gi 

Mar is eol duit, is é iarratais an méid LAP agus cuimhne atá in áirithe ar an ósta le haghaidh pods ar leith le hiarratais. Má tá óstach ceithre chroí againn i mbraisle Kubernetes, agus go dtagann ceithre pod LAP ann le hiarratais, ciallaíonn sé nach mbeidh níos mó pods le hiarratais in ann teacht chuig an óstach seo.

Má rithim pod den sórt sin, rithfidh mé an t-ordú:

$ kubectl scale special-pod --replicas=...

Ansin ní bheidh aon duine eile in ann imscaradh chuig braisle Kubernetes. Toisc go rithfidh gach nóid as iarratais. Agus mar sin stopfaidh mé do bhraisle Kubernetes. Má dhéanaim é seo sa tráthnóna, is féidir liom an t-imscaradh a stopadh ar feadh i bhfad.

Má fhéachaimid arís ar dhoiciméadú Kubernetes, feicfimid an rud seo ar a dtugtar Raon Teorainn. Socraíonn sé acmhainní do bhraisle réad. Is féidir leat réad Raon Teorann a scríobh in yaml, é a chur i bhfeidhm ar spásanna áirithe - agus ansin san ainmspás seo is féidir leat a rá go bhfuil acmhainní réamhshocraithe, uasta agus íosta agat le haghaidh na pods.

Le cabhair ó rud den sórt sin, is féidir linn úsáideoirí a theorannú in ainmspásanna táirgí sonracha na bhfoirne maidir leis an gcumas gach cineál rudaí olc a chur in iúl ar a gcuid pods. Ach ar an drochuair, fiú má insíonn tú don úsáideoir nach féidir leo pods a sheoladh le hiarratais ar níos mó ná LAP amháin, tá ordú scála chomh iontach, nó is féidir leo scála a dhéanamh tríd an deais.

Agus is as seo a thagann modh uimhir a dó. Seolaimid 11 pods. Sin aon billiún déag. Ní hé seo toisc gur tháinig mé suas le huimhir den sórt sin, ach toisc go bhfaca mé mé féin é.

Scéal fíor. Go déanach sa tráthnóna bhí mé ar tí an oifig a fhágáil. Feicim grúpa forbróirí ina suí sa chúinne, ag déanamh rud éigin go frantically lena ríomhairí glúine. Téim suas go dtí na guys agus fiafraí: "Cad a tharla duit?"

Beagán níos luaithe, thart ar naoi sa tráthnóna, bhí ceann de na forbróirí ag fáil réidh le dul abhaile. Agus shocraigh mé: “Scálfaidh mé m’iarratas anois go dtí ceann amháin.” Bhrúigh mé ceann, ach mhoilligh an Idirlíon beagán. Bhrúigh sé an ceann arís, bhrúigh sé an ceann, agus chliceáil Iontráil. Phóg mé ar gach rud a d'fhéadfadh mé. Ansin tháinig an Idirlíon ar an saol - agus thosaigh gach rud ag scála síos go dtí an uimhir seo.

Fíor, níor tharla an scéal seo ar Kubernetes; ag an am sin bhí sé Nomad. Chríochnaigh sé nuair a d'fhreagair Nomad tar éis uair an chloig dár n-iarrachtaí chun Nomad a stopadh ó iarrachtaí leanúnacha scála a dhéanamh, nach stopfadh sé de scála agus nach ndéanfadh sé aon rud eile. "Tá mé tuirseach, tá mé ag fágáil." Agus cuachta sé suas.

Ar ndóigh, rinne mé iarracht an rud céanna a dhéanamh ar Kubernetes. Ní raibh Kubernetes sásta le haon bhilliún pods, dúirt sé: “Ní féidir liom. Níos mó ná gardaí béil inmheánacha." Ach d'fhéadfadh 1 pods.

Mar fhreagra ar aon billiún, níor tharraing an Ciúb siar isteach ann féin. Thosaigh sé i ndáiríre ag scálú. Dá mhéad a chuaigh an próiseas, is amhlaidh is mó ama a thóg sé air pods nua a chruthú. Ach fós chuaigh an próiseas ar aghaidh. Is é an t-aon fhadhb atá ann, más féidir liom pods a sheoladh gan teorainn i mo spás ainm, ansin fiú gan iarratais agus teorainneacha is féidir liom an oiread sin pods a sheoladh le roinnt tascanna a thosóidh na nóid ag cur suas sa chuimhne le cabhair ó na tascanna seo, i LAP. Nuair a sheolaim an oiread sin pods, ba cheart go rachadh an fhaisnéis uathu isteach sa stóráil, is é sin, etcd. Agus nuair a thagann an iomarca faisnéise ann, tosaíonn an stóráil ag filleadh ró-mhall - agus tosaíonn Kubernetes ag éirí dull.

Agus fadhb amháin eile... Mar is eol duit, ní rud lárnach amháin iad eilimintí rialaithe Kubernetes, ach roinnt comhpháirteanna. Go háirithe, tá bainisteoir rialaitheora, sceidealóir, agus mar sin de. Tosóidh na guys seo go léir ag déanamh obair dúr gan ghá ag an am céanna, rud a thosóidh ag tógáil níos mó ama agus níos mó le himeacht ama. Cruthóidh an bainisteoir rialaithe pods nua. Déanfaidh an sceidealóir iarracht nód nua a aimsiú dóibh. Is dócha go n-éireoidh tú as nóid nua i do bhraisle go luath. Tosóidh braisle Kubernetes ag obair níos moille agus níos moille.

Ach chinn mé dul níos faide fós. Mar is eol duit, i Kubernetes tá a leithéid de rud ar a dtugtar seirbhís. Bhuel, de réir réamhshocraithe i do bhraislí, is dócha go n-oibríonn an tseirbhís ag baint úsáide as táblaí IP.

Má ritheann tú billiún pods, mar shampla, agus ansin úsáid a bhaint as script chun iallach a chur ar Kubernetis seirbhísí nua a chruthú:

for i in {1..1111111}; do
    kubectl expose deployment test --port 80  
        --overrides="{"apiVersion": "v1", 
           "metadata": {"name": "nginx$i"}}"; 
done 

Ar gach nóid den bhraisle, ginfear níos mó agus níos mó rialacha iptables nua go comhuaineach. Thairis sin, ginfear rialacha billiún iptables do gach seirbhís.

Sheiceáil mé an rud ar fad ar roinnt mílte, suas le deich. Agus is é an fhadhb atá ann go bhfuil cheana féin ag an tairseach seo go leor fadhbanna a dhéanamh ssh leis an nód. Toisc go mbraitheann paicéid, ag dul tríd an oiread sin slabhraí, nach bhfuil siad an-mhaith.

Agus seo, freisin, a réiteach go léir le cabhair ó Kubernetes. Tá a leithéid de réad cuóta Acmhainní ann. Socraíonn sé an líon acmhainní agus réad atá ar fáil don ainmspás sa bhraisle. Is féidir linn réad yaml a chruthú i ngach ainmspás de bhraisle Kubernetes. Ag baint úsáide as an réad seo, is féidir linn a rá go bhfuil líon áirithe iarratas agus teorainneacha leithdháilte againn don ainmspás seo, agus ansin is féidir linn a rá gur féidir 10 seirbhís agus 10 pods a chruthú san ainmspás seo. Agus is féidir le forbróir aonair ar a laghad é féin a thachtadh sa tráthnóna. Inseoidh Kubernetes dó: “Ní féidir leat do chuid pods a scála go dtí an méid sin, mar go sáraíonn an acmhainn an cuóta.” Sin é, fadhb réitithe. Doiciméadú anseo.

Tagann fadhb amháin chun cinn maidir leis seo. Mothaíonn tú cé chomh deacair is atá sé spás ainm a chruthú i Kubernetes. Chun é a chruthú, ní mór dúinn a lán rudaí a chur san áireamh.

Cuóta acmhainní + Raon Teorainn + RBAC
• Cruthaigh ainmspás
• Cruthaigh raon teorann taobh istigh
• Cruthaigh cuóta acmhainní laistigh
• Cruthaigh cuntas seirbhíse do CI
• Rólcheangail a chruthú do CI agus d'úsáideoirí
• Seoladh na pods seirbhíse riachtanacha go roghnach

Mar sin, ba mhaith liom an deis seo a thapú chun mo chuid forbairtí a roinnt. Tá a leithéid de rud ar a dtugtar an t-oibreoir SDK. Is bealach é seo do bhraisle Kubernetes chun oibreoirí a scríobh ar a shon. Is féidir leat ráitis a scríobh ag baint úsáide as Ansible.

Ar dtús bhí sé scríofa i Ansible, agus ansin chonaic mé go raibh oibreoir SDK ann agus athscríobh an ról Insible isteach in oibreoir. Ligeann an ráiteas seo duit réad a chruthú i mbraisle Kubernetes ar a dtugtar ordú. Taobh istigh d'ordú, ligeann sé duit cur síos a dhéanamh ar an timpeallacht don ordú seo i yaml. Agus laistigh den timpeallacht foirne, cuireann sé ar ár gcumas cur síos a dhéanamh go bhfuil an oiread sin acmhainní á leithdháileadh againn.

Little rud a fhágann go bhfuil an próiseas iomlán casta seo níos éasca.

Agus mar fhocal scoir. Cad atá le déanamh leis seo go léir?
Ar dtús. Tá Beartas Slándála Pod go maith. Agus in ainneoin nach n-úsáideann aon cheann de na suiteálaithe Kubernetes iad go dtí an lá atá inniu ann, ní mór duit iad a úsáid fós i do bhraislí.

Ní gné eile gan ghá é Beartas Líonra. Is é seo an rud atá ag teastáil i ndáiríre i mbraisle.

LimitRange/ResourceQuota - tá sé in am é a úsáid. Thosaigh muid ag baint úsáide as seo i bhfad ó shin, agus ar feadh i bhfad bhí mé cinnte go raibh gach duine ag baint úsáide as. Iompaigh sé amach go bhfuil sé seo annamh.

Chomh maith leis an méid a luaigh mé le linn na tuarascála, tá gnéithe gan doiciméid a ligeann duit ionsaí a dhéanamh ar an mbraisle. Eisithe le déanaí anailís fhairsing ar leochaileachtaí Kubernetes.

Tá roinnt rudaí chomh brónach agus gortaithe. Mar shampla, faoi choinníollacha áirithe, is féidir le ciúbanna i mbraisle Kubernetes ábhar an eolaire warlocks a thabhairt d'úsáideoir neamhúdaraithe.

Anseo Tá treoracha ann maidir le conas gach rud a dúirt mé leat a atáirgeadh. Tá comhaid ann ina bhfuil samplaí táirgeachta de chuma ResourceQuota agus Pod Security Policy. Agus is féidir leat teagmháil seo go léir.

Go raibh maith agaibh.

Foinse: will.com

Add a comment