Te whakatika i nga kohao i te roopu Kubernetes. Ripoata me te tuhinga mai i DevOpsConf

Pavel Selivanov, Southbridge solutions architect and Slurm teacher, gave a presentation at DevOpsConf 2019. Ko tenei korero he waahanga o tetahi o nga kaupapa o te akoranga hohonu mo Kubernetes "Slurm Mega".

Slurm Basic: He Whakataki ki nga Kubernetes ka tu ki Moscow i te Noema 18-20.
Slurm Mega: titiro i raro i te hood o Kubernetes — Moscou, Noema 22-24.
Slurm Online: nga akoranga Kubernetes e rua wātea tonu.

Kei raro iho i te tapahi he tuhinga o te purongo.

Kia ora koutou e hoa mahi me te hunga e aroha ana ki a ratou. I tenei ra ka korero ahau mo te haumaru.

Ka kite ahau he maha nga kaitiaki i roto i te horo i tenei ra. Ka mihi ahau ki a koe i mua mena ka whakamahia e au nga kupu mai i te ao haumaru kaore i te rite ki o tikanga.

I tupu pea e ono marama ki muri ka kite ahau i tetahi kahui Kubernetes maataa. Ko te tikanga a te iwi he maha nga mokowā ingoa; kei roto i enei mokowāingoa he kaiwhakamahi e noho taratahi ana ki o raatau mokowāingoa. Ko enei kaiwhakamahi katoa no nga kamupene rereke. Kaati, i whakaarohia me whakamahi tenei kahui hei CDN. Arā, ka hoatu he kāhui ki a koe, ka hoatu he kaiwhakamahi ki a koe ki reira, ka haere koe ki reira ki to waahi ingoa, horahia o mua.

I whakamatau taku kamupene o mua ki te hoko i taua ratonga. Na ka tonoa ahau ki te wero i te tautau kia kite mena he pai tenei otinga, kaore ranei.

I tae mai ahau ki tenei kahui. He iti noa nga mana i whakawhiwhia ki ahau, he waahi ingoa iti. I mohio nga tama o reira he aha te haumaru. I panui ratou mo te Mana uru-a-Turanga (RBAC) i Kubernetes - a ka whiria e ratou kia kore ai e taea e au te whakarewa i nga putunga motuhake mai i nga whakatakotoranga. Kaore au i te mahara ki te raru e ngana ana ahau ki te whakaoti ma te whakarewa i te peera me te kore e horahia, engari i tino hiahia ahau ki te whakarewa noa i te putea. Mo te waimarie, i whakatau ahau ki te kite he aha nga mana kei ahau i roto i te roopu, he aha ka taea e au, he aha nga mea e kore e taea e au, me nga mea i takahia e ratou ki reira. I te wa ano, ka korero ahau ki a koe he aha ta ratou i whirihora i te he i roto i te RBAC.

I tupu i roto i nga meneti e rua ka tae mai he kaiwhakahaere ki a raatau kahui, ka titiro ki nga waahi ingoa tata katoa, ka kite i reira nga waahanga whakaputa o nga kamupene kua hokona kee te ratonga me te tuku. Kare e taea e au te aukati i a au ki te haere ki mua o tetahi me te whakatakoto kupu kanga ki te wharangi matua.

Ka korero ahau ki a koe me nga tauira me pehea taku mahi me pehea te tiaki i a koe mai i tenei.

Engari ko te tuatahi, me whakaatu ahau i ahau. Ko Pavel Selivanov toku ingoa. He kaihoahoa ahau i Southbridge. Kei te mohio ahau ki nga Kubernetes, DevOps me nga momo mea papai katoa. Ko matou ko nga miihini o Southbridge kei te hanga i enei mea katoa, kei te korero ahau.

I tua atu i a maatau mahi matua, kua whakarewahia e matou etahi kaupapa e kiia nei ko Slurms. E ngana ana matou ki te kawe i to maatau kaha ki te mahi tahi me Kubernetes ki te marea, ki te ako i etahi atu tangata ki te mahi tahi me nga K8.

He aha taku korero i tenei ra? Kua kitea te kaupapa o te ripoata - mo te haumarutanga o te roopu Kubernetes. Engari e hiahia ana ahau ki te kii atu he tino nui tenei kaupapa - na reira e hiahia ana ahau ki te whakamarama tonu i nga mea kaore au e korero. E kore ahau e korero mo nga kupu hackneyed kua whakamahia kotahi rau nga wa i runga i te Ipurangi. Nga momo RBAC me nga tiwhikete.

Ka korero ahau mo nga mea e mamae ana ahau me oku hoa mahi mo te haumarutanga i roto i te roopu Kubernetes. Ka kite matou i enei raru i waenga i nga kaiwhakarato e whakarato ana i nga kohinga Kubernetes me nga kaihoko ka haere mai ki a matou. A tae noa mai i nga kaihoko mai i etahi atu kamupene whakahaere korero. Arā, he tino nui te āwhata o te aituā.

E toru nga waahanga ka korerohia e au i tenei ra:

  1. Motika Kaiwhakamahi vs motika pod. Ko nga mana kaiwhakamahi me nga motika pod ehara i te mea kotahi.
  2. Te kohikohi korero mo te roopu. Ka whakaatu ahau ka taea e koe te kohikohi i nga korero katoa e hiahia ana koe mai i te roopu me te kore e whai mana motuhake i tenei roopu.
  3. Ko te whakaeke a DoS ki te tautau. Ki te kore e taea e matou te kohi korero, ka taea e matou te whakauru i tetahi roopu ahakoa he aha. Ka korero ahau mo nga whakaekenga a DoS ki nga huānga whakahaere tautau.

Ko tetahi atu mea nui ka whakahuahia e au ko te mea i whakamatauria e au enei mea katoa, ka tino taea e au te kii kei te mahi katoa.

Ka mau matou ki te whakaurunga o te roopu Kubernetes ma te whakamahi i te Kubespray. Ki te kore tetahi e mohio, he huinga mahi tenei mo Ansible. Ka whakamahia e matou i nga wa katoa i roto i ta maatau mahi. Ko te mea pai ka taea e koe te huri ki hea - ka taea e koe te huri ki runga ki nga wahi rino, ki te kapua ranei ki tetahi wahi. Ko tetahi tikanga whakauru e mahi ana mo nga mea katoa.

I roto i tenei huinga ka whiwhi ahau i a Kubernetes v1.14.5. Ko te huinga katoa o te Cube, ka whakaarohia e matou, kua wehewehea ki nga waahi ingoa, no tetahi roopu motuhake ia mokowā ingoa, a ka whai waahi nga mema o tenei roopu ki ia waahi ingoa. E kore e taea e ratou te haere ki nga waahi ingoa rereke, ki a raatau anake. Engari tera ano tetahi kaute whakahaere e whai mana ana ki te roopu katoa.

Te whakatika i nga kohao i te roopu Kubernetes. Ripoata me te tuhinga mai i DevOpsConf

I oati ahau ko te mea tuatahi ka mahia e matou ko te whiwhi mana whakahaere ki te tautau. Kei te hiahia matou i tetahi putunga kua oti te whakarite hei wawahi i te roopu Kubernetes. Ko nga mea katoa hei mahi ma tatou ko te tono ki te roopu Kubernetes.

kubectl apply -f pod.yaml

Ka tae atu tenei pod ki tetahi o nga rangatira o te roopu Kubernetes. A i muri i tenei ka hoki koa mai te roopu ki a matou he konae ko admin.conf. I roto i te Cube, ka penapenahia e tenei konae nga tiwhikete kaiwhakahaere katoa, me te whirihora ano i te API roopu. He ngawari tenei ki te uru atu ki nga kaiwhakahaere, ki taku whakaaro, 98% o nga tautau Kubernetes.

Ka whakahoki ano ahau, na tetahi kaiwhakawhanake i roto i to kahui e whai waahi ana ki te tuku i ana tono ki roto i tetahi mokowāingoa iti, na RBAC katoa i awhi. Karekau ona mana. Engari ahakoa i whakahokia mai te tiwhikete.

Na inaianei mo te peera kua oti te whakarite. Ka whakahaerehia e matou i runga i tetahi ahua. Me tango a debian:jessie hei tauira.

Kei a matou tenei mea:

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

He aha te manawanui? Ko nga rangatira i roto i te roopu Kubernetes ka tohua ki tetahi mea e kiia ana he taint. A ko te ngako o tenei "mate" e kii ana kaore e taea te tuku i nga poti ki nga node rangatira. Engari kaore tetahi e raru ki te tohu i roto i tetahi peera he pai ki te "mate". E kii ana te waahanga Whakaaetanga mena he NoSchedule tetahi node, katahi ka tau to tatou node ki taua mate - kaore he raru.

I tua atu, e kii ana matou ko to maatau i raro ehara i te mea ngawari noa, engari e hiahia ana hoki ki te whai i te rangatira. Na te mea kei nga rangatira te mea tino reka e hiahiatia ana e matou - nga tiwhikete katoa. No reira, e kii ana matou nodeSelector - a he tapanga paerewa ta matou mo nga rangatira, e taea ai e koe te kowhiri mai i nga pona katoa i roto i te kapoi kia rite ki nga pona he rangatira.

Ma enei waahanga e rua ka tino haere mai ia ki te rangatira. A ka whakaaetia kia noho ki reira.

Engari ko te haere noa ki te rangatira kaore e ranea mo tatou. Kaore tenei e hoatu ki a maatau. Na kei a maatau enei mea e rua:

hostNetwork: true 
hostPID: true 

Ka tohua e matou ko ta matou pod, ka whakarewahia e matou, ka noho ki te mokowā ingoa kernel, ki te mokowāingoa whatunga, ki te mokowāingoa PID. Kia whakarewahia te pod ki runga i te rangatira, ka taea e ia te kite i nga hononga tuuturu katoa o tenei pona, whakarongo ki nga waka katoa ka kite i te PID o nga tukanga katoa.

Na ko nga mea iti. Tangohia etcd ka panuihia nga mea e hiahia ana koe.

Ko te mea tino pai ko tenei waahanga Kubernetes, kei reira na te taunoa.

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

A ko te mea nui ka taea e matou te kii i roto i te pod ka whakarewahia e matou, ahakoa kaore he mana ki tenei roopu, e hiahia ana matou ki te hanga i tetahi rōrahi o te momo hostPath. Ko te tikanga ko te tango i te huarahi mai i te kaihautu ka whakarewahia e matou - me te tango hei rōrahi. Na ka huaina e matou te ingoa: kaihautu. Ka whakairihia e matou tenei hostPath katoa ki roto i te pod. I tenei tauira, ki te whaiaronga / ope.

Ka whakahoki ano ahau. I kii matou ki te poti kia haere mai ki te rangatira, tikina te hostNetwork me te hostPID ki reira - ka whakairihia te putake katoa o te ariki ki roto i tenei poti.

Kei te mohio koe kei roto i a Debian kei a maatau te rere o te bash, a ka rere tenei bash i raro i te pakiaka. Arā, kātahi anō mātou ka whiwhi pakiaka ki runga i te rangatira, me te kore he mana ki te kāhui Kubernetes.

Na ko te mahi katoa ko te haere ki te raarangi iti /host /etc/kubernetes/pki, ki te kore au e pohehe, kohia nga tiwhikete matua katoa o te kahui ki reira, ka noho hei kaiwhakahaere roopu.

Mena ka titiro penei koe, koinei etahi o nga motika tino kino i roto i nga pene - ahakoa he aha nga mana kei te kaiwhakamahi:
Te whakatika i nga kohao i te roopu Kubernetes. Ripoata me te tuhinga mai i DevOpsConf

Mena kei a au nga motika ki te whakahaere i tetahi poti i roto i etahi mokowā ingoa o te kapoi, na tenei peera enei motika ma te taunoa. Ka taea e au te whakahaere i nga poti whaimana, a he tika katoa enei, ka whai pakiaka ki runga i te node.

Ko taku tino pai ko te kaiwhakamahi Root. A kei a Kubernetes tenei whiringa Run As Non-Root. He momo whakamarumaru tenei mai i te hacker. Kei te mohio koe he aha te "huaketo Moldavian"? Ki te ohorere koe he hacker ka tae mai ki taku kahui Kubernetes, ka patai matou, nga kaiwhakahaere rawakore: “Tena koa tohu mai i roto i o poti ka tukitukia e koe taku kahui, rere kore-pakiaka. Kore, ka tupu te reira e rere koe i te tukanga i roto i to koutou pākākano i raro i te pakiaka, a ka waiho te reira tino ngāwari mo koutou ki te hack ahau. Tena koa tiakina koe mai i a koe ano."

Ko te rahinga ara kaihautu, ki taku whakaaro, te huarahi tere ki te tiki i nga hua e hiahiatia ana mai i te kahui Kubernetes.

Engari he aha te mahi ki enei mea katoa?

Ko te whakaaro ka puta ki tetahi kaiwhakahaere noa ka tutaki ki a Kubernetes: "Ae, i kii ahau ki a koe, kaore a Kubernetes e mahi. He kohao kei roto. A he porangi katoa te Cube.” Inaa, tera ano he tuhinga, a, ki te titiro koe ki reira, he wahanga Kaupapahere Haumarutanga Pod.

He ahanoa yaml tenei - ka taea e taatau ki te hanga i roto i te roopu Kubernetes - e whakahaere ana i nga waahanga haumarutanga i roto i te whakaahuatanga o nga pene. Ko te tikanga, ka whakahaeretia e ia nga mana ki te whakamahi i tetahi hostNetwork, hostPID, etahi momo rōrahi kei roto i nga pona i te tiimatanga. Ma te awhina o Pod Security Policy, ka taea te whakaahua i enei mea katoa.

Ko te mea tino pai mo te Pod Security Policy kei roto i te roopu Kubernetes, ko nga kaiwhakauru PSP katoa kaore i te whakaahuahia i nga huarahi katoa, kua monoa noa na te taunoa. Ka whakahohehia te Kaupapahere Haumarutanga Pod ma te whakamahi i te mono whakauru.

Kaati, me toha te Kaupapahere Haumarutanga Pod ki roto i te roopu, me kii kei a tatou etahi putunga ratonga kei roto i te mokowāingoa, ko nga kaiwhakahaere anake te uru. Me kii tatou, i era atu keehi, he iti noa nga mana o nga pene. Na te mea ko te nuinga o nga kaiwhakawhanake kaore e hiahia ki te whakahaere i nga putunga whaimana i roto i to huinga.

A he pai nga mea katoa ki a maatau. A e kore e taea te taumanutia a tatou roopu Kubernetes i roto i nga meneti e rua.

He raruraru. Ko te mea pea, mena he kahui Kubernetes koe, katahi ka whakauruhia te aro turuki ki to roopu. Ka tae rawa atu ahau ki te matapae mena kei te tirotirohia to roopu, ka kiia ko Prometheus.

Ko nga mea ka korerotia e ahau ki a koe ka whai mana mo te kaiwhakahaere Prometheus me te Prometheus i tukuna i roto i tona ahua parakore. Ko te patai mena kaore e taea e au te whakauru i tetahi kaiwhakahaere ki roto i te roopu, ko te tikanga me titiro ake ahau. A ka taea e au te rapu ma te awhina o to aroturuki.

He rite tonu nga korero a te katoa mo Habré, a, kei te waahi ingoa mokowhiti te aroturuki. He rite tonu te karangatanga o te tūtohi Helm mo te katoa. Ki taku whakaaro mena ka whakauru koe i te stable/prometheus, ka mutu he rite tonu nga ingoa. A ko te mea pea kaore au e whakaaro ki te ingoa DNS kei roto i to roopu. No te mea he paerewa.

Te whakatika i nga kohao i te roopu Kubernetes. Ripoata me te tuhinga mai i DevOpsConf

I muri mai kei a maatau etahi dev ns, ka taea e koe te whakahaere i tetahi putea. Na ka mai i tenei putea he tino ngawari ki te mahi i tetahi mea penei:

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

Ko te prometheus-kube-state-metrics tetahi o nga kaihokohoko Prometheus e kohi inenga mai i te Kubernetes API ake. He nui nga raraunga kei reira, he aha kei te rere i roto i to roopu, he aha tena, he aha nga raru kei a koe.

Hei tauira ngawari:

kube_pod_container_info{namespace=“kube-system”,pod=”kube-apiserver-k8s- 1″,container=”kube-apiserver”,image=

"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

Ma te tono riipoi ngawari mai i te putea kore, ka taea e koe nga korero e whai ake nei. Ki te kore koe e mohio he aha te putanga o Kubernetes e whakahaere ana koe, ka ngawari te korero ki a koe.

Ko te mea tino pai ko te taapiri ki te uru atu ki nga kube-state-metrics, ka taea e koe te uru tika ki a Prometheus ake. Ka taea e koe te kohi inenga mai i reira. Ka taea e koe te hanga inenga mai i reira. Ahakoa te tikanga, ka taea e koe te hanga patai mai i te kahui i Prometheus, ka whakaweto noa. A ka mutu to mahi tirotiro mai i te roopu.

I konei ka puta ake te patai mena kei te aro turuki tetahi o nga mahi tirotiro o waho i to aroturuki. Katahi ano ahau ka whai waahi ki te whakahaere i roto i te roopu Kubernetes kaore he hua mo au. Kaore koe e mohio kei te whakahaere ahau i reira, na te mea kua kore he aroturuki.

He rite ki te PSP, ko te raru ko enei hangarau whakahirahira katoa - Kubernetes, Prometheus - kaore e mahi, kua ki tonu i nga kohao. Kaore rawa.

He mea pera - Kaupapahere Whatunga.

Mena he kaiwhakahaere noa koe, katahi ka mohio koe mo te Kaupapahere Whatunga ko tetahi atu yaml tenei, he maha tonu o raatau kei roto i te roopu. A ko etahi Kaupapahere Whatunga kaore e tino hiahiatia. A ahakoa ka panui koe he aha te Kaupapahere Whatunga, he papaahi yaml na Kubernetes, ka taea e koe te whakatiki i nga mana uru i waenga i nga ingoa ingoa, i waenga i nga poti, katahi ka tino whakatau koe ko te papangaahi kei te whakatakotoranga yaml i Kubernetes kei runga i nga tangohanga e whai ake nei. ... Kao, kaore. He tino kore tenei e tika.

Ahakoa kaore koe i korero ki o tohunga mo te haumarutanga ma te whakamahi i o Kubernetes ka taea e koe te hanga i tetahi papangaahi tino ngawari me te ngawari, me tetahi mea tino marama. Mena kaore ano ratou i te mohio ki tenei, kaore koe e whakararuraru i a koe: "Tena, homai ki ahau, homai ki ahau ..." Na ahakoa, me hiahia koe ki te Kaupapahere Whatunga hei aukati i te uru ki etahi waahi ratonga ka taea te kumea mai i to tautau. kahore he whakamanatanga.

Pērā i te tauira i hoatu e au, ka taea e koe te tango i nga inenga kube mai i tetahi mokowā ingoa i roto i te kāhui Kubernetes me te kore e whai mana ki te mahi pera. Ko nga kaupapa here whatunga kua kati te uru mai i etahi atu ingoa ingoa katoa ki te mokowā ingoa aroturuki me te mea: kaore he uru, kaore he raru. I roto i nga tūtohi katoa e noho ana, ko te Prometheus paerewa me te Prometheus kei roto i te kaiwhakahaere, he whiringa noa i roto i nga uara urungi kia taea ai nga kaupapa here whatunga mo ratou. Me whakahuri noa koe ka mahi.

He tino raruraru kei konei. I te mea he kaiwhakahaere pahau noa koe, kua whakatau pea koe kaore e hiahiatia nga kaupapa here whatunga. A, i muri i te panui i nga momo tuhinga katoa mo nga rauemi penei i a Habr, i whakatau koe ko te harakeke, ina koa me te aratau-kaiwhakahaere, te mea pai ka taea e koe te whiriwhiri.

Me aha ahau?

Ka taea e koe te ngana ki te tuku ano i te otinga whatunga kei roto i to roopu Kubernetes, ngana ki te whakakapi ki tetahi atu mahi. Mo te Calico ano, hei tauira. Engari e hiahia ana ahau ki te kii atu ko te mahi ki te whakarereke i te otinga whatunga i roto i te roopu mahi Kubernetes he tino kore noa. E rua nga wa i whakaotia e au (e rua nga wa, heoi, i runga i nga tikanga), engari i whakaatu ano matou me pehea te mahi i Slurms. Mo a maatau akonga, i whakaatu me pehea te whakarereke i te otinga whatunga i roto i te roopu Kubernetes. I roto i te tikanga, ka taea e koe te ngana ki te whakarite kia kore he wa whakaheke i runga i te roopu whakaputa. Engari kare pea koe e angitu.

A ko te raruraru kei te tino whakatauhia. He tiwhikete kei roto i te roopu, a ka mohio koe ka pau o tiwhikete i roto i te tau. Ae, me te tikanga he otinga noa me nga tiwhikete kei roto i te tautau - he aha tatou e awangawanga ana, ka whakaarahia he kahui hou e tata ana, kia pirau te mea tawhito, ka tukuna ano nga mea katoa. Pono, ka pirau, me noho tatou mo te ra kotahi, engari he kahui hou tenei.

Ina whakaarahia he kahui hou, me whakauru ano te Calico hei utu mo te harakeke.

Me aha mena ka tukuna o tiwhikete mo nga tau kotahi rau karekau koe e tuku ano i te tautau? He mea penei ko Kube-RBAC-Proxy. He whanaketanga tino hauhautanga tenei, ka taea e koe te whakauru i a koe ano hei ipu tahataha ki tetahi poro i roto i te roopu Kubernetes. Na ka taapirihia he whakamanatanga ki tenei pod na roto i te RBAC o Kubernetes ake.

Kotahi te raruraru. I mua, i hangaia tenei otinga Kube-RBAC-Proxy ki roto i te Prometheus o te kaiwhakahaere. Engari katahi ka ngaro atu. Inaianei kei te whakawhirinaki nga putanga hou kei a koe he kaupapa here whatunga ka kati ma te whakamahi. Na reira me tuhi ano tatou i te tūtohi. Inaa, ki te haere koe ki tenei putunga, he tauira me pehea te whakamahi i tenei hei motuka taha, me tuhi ano nga tūtohi.

He raruraru iti ano. Ehara i te mea ko Prometheus anake te tuku i ana inenga ki tetahi. Ka taea hoki e a maatau waahanga roopu Kubernetes te whakahoki i o raatau ake inenga.

Engari kia rite ki taku korero, ki te kore e taea e koe te uru atu ki te kohinga me te kohikohi korero, katahi ka taea e koe te mahi kino.

No reira ka whakaatu wawe ahau i nga huarahi e rua me pehea e pakaru ai te roopu Kubernetes.

Ka kata koe ina korero atu ahau ki a koe, e rua enei keehi o te ao.

Tikanga kotahi. Te whakaheke rauemi.

Ka whakarewahia e tatou tetahi atu putunga motuhake. Ka whai wahanga penei.

resources: 
    requests: 
        cpu: 4 
        memory: 4Gi 

E mohio ana koe, ko nga tono ko te nui o te PTM me te mahara kua rahuitia i runga i te kaihautu mo nga pene motuhake me nga tono. Mena he kaihautu wha-matua kei roto i te roopu Kubernetes, a ka tae mai e wha nga pene PTM ki reira me nga tono, ko te tikanga karekau he poti me nga tono ka tae mai ki tenei kaihautu.

Mena ka whakahaere ahau i taua poka, ka whakahaere ahau i te whakahau:

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

Na ka kore tetahi atu e kaha ki te tuku ki te roopu Kubernetes. No te mea ka pau katoa nga pona i nga tono. Na ka mutu taku kahui Kubernetes. Mena ka mahia e au i te ahiahi, ka taea e au te aukati i nga tukunga mo te wa roa.

Mena ka titiro ano tatou ki nga tuhinga Kubernetes, ka kite tatou i tenei mea e kiia nei ko Te Awhe Tepe. Ka whakatakoto rauemi mo nga taonga tautau. Ka taea e koe te tuhi i tetahi ahanoa Awhe Tepe ki te yaml, hoatu ki etahi mokowāingoa - katahi i tenei mokowāingoa ka taea e koe te kii kei a koe nga rauemi taunoa, te nui me te iti rawa mo nga pene.

Ma te awhina o taua mea, ka taea e taatau te whakawhāiti i nga kaiwhakamahi ki nga ingoa ingoa hua motuhake o nga roopu i roto i te kaha ki te tohu i nga momo mea kino katoa i runga i o raatau putunga. Engari, ahakoa ka kii koe ki te kaiwhakamahi kaore e taea e raatau te whakarewa i nga pene me nga tono mo te neke atu i te kotahi te PTM, he nui te whakahau tauine, ka taea ranei e raatau te tauine ma te papatohu.

Na konei ka puta mai te tikanga nama tuarua. Ka whakarewahia e matou te 11 pods. Tekau ma tahi piriona tera. Ehara tenei i te mea i puta mai he nama penei, engari na au ano i kite.

He korero pono. I te ahiahi ka tata ahau ki te wehe i te tari. Ka kite ahau i tetahi roopu kaiwhakawhanake e noho ana i te kokonga, e mahi ana i tetahi mea me o raatau rorohiko. Ka haere ahau ki runga ki nga tama me te patai: "I aha koe?"

I mua tata ake nei, tata ki te iwa i te ahiahi, kei te whakatika tetahi o nga kaihanga ki te hoki ki te kainga. Na ka whakatau ahau: "Ka whakaitihia e au taku tono ki te kotahi." I pehia e ahau tetahi, engari he iti te tere o te Ipurangi. Ka pehia ano e ia te mea kotahi, ka pehia e ia tetahi, ka paatohia te tomo. I werohia e ahau nga mea katoa ka taea e au. Na ka ora te Ipurangi - ka timata nga mea katoa ki te heke ki tenei tau.

He pono, kaore tenei korero i puta i runga i te Kubernetes; i taua wa ko Nomad. I mutu i te meka i muri i te haora o a maatau ngana ki te aukati i a Nomad mai i nga ngana tonu ki te tauine, ka whakahoki a Nomad e kore ia e mutu te tarai me te kore e mahi i tetahi atu mea. "Kua ngenge ahau, ka haere ahau." Na ka kopikopiko ia.

Ko te tikanga, i ngana ahau ki te mahi pera i runga i te Kubernetes. Kaore a Kubernetes i harikoa ki te tekau ma tahi piriona piriona, ka kii ia: "Kaore e taea e au. He nui ake i nga kaitiaki waha o roto." Engari ka taea e 1 nga pene.

I te whakautu ki te kotahi piriona, kaore te Cube i wehe atu ki a ia ano. I tino timata ia ki te tarai. Ko te haere tonu o te tukanga, ka nui ake te wa ka pau ia ki te hanga poti hou. Engari i haere tonu te tukanga. Ko te raru anake mena ka taea e au te whakarewa i nga pene i roto i taku waahi ingoa, katahi ka kore he tono me nga rohe ka taea e au te whakarewa i nga putunga maha me etahi mahi ma te awhina o enei mahi ka tiimata nga pona ki te taapiri i te mahara, i roto i te PTM. Ina whakarewahia e au nga putunga maha, me uru nga korero mai i a raatau ki te rokiroki, ara, etcd. A, ka nui rawa atu nga korero ka tae ki reira, ka ata hoki te hokinga mai o te rokiroki - ka tiimata te puhoi o Kubernetes.

Me tetahi atu raruraru ... E mohio ana koe, ko nga waahanga whakahaere Kubernetes ehara i te mea kotahi, engari he maha nga waahanga. Ina koa, he kaiwhakahaere kaiwhakahaere, he kaiwhakarite, me etahi atu. Ko enei taangata katoa ka timata ki te mahi i nga mahi kore, poauau i te wa ano, ka nui ake te wa ka timata te wa. Ka hangaia e te kaiwhakahaere kaiwhakahaere nga pene hou. Ka ngana te Kaihōtaka ki te kimi i tetahi node hou mo ratou. Ka ngaro pea koe i nga pona hou i roto i to roopu apopo. Ka puhoi ake te mahi a te roopu Kubernetes.

Engari i whakatau ahau ki te haere atu. Kei te mohio koe, kei Kubernetes tetahi mea e kiia ana he ratonga. Ana, ma te taunoa i roto i o tautau, te nuinga pea, ka mahi te ratonga ma te whakamahi i nga ripanga IP.

Mena ka whakahaere koe i te kotahi piriona pene, hei tauira, ka whakamahi i te tuhinga hei akiaki i a Kubernetis ki te hanga ratonga hou:

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

I runga i nga pona katoa o te tautau, ka nui ake nga ture iptables hou ka hangaia i te wa kotahi. Ano, kotahi piriona ture iptables ka hangaia mo ia ratonga.

I tirohia e ahau tenei mea katoa i runga i te maha mano, tae atu ki te tekau. A ko te raru kei tenei paepae he tino raru ki te mahi ssh ki te node. Na te mea ko nga putea, ka haere i roto i nga mekameka maha, ka timata te ahua kaore i te tino pai.

A ko tenei hoki, kua whakatauhia ma te awhina a Kubernetes. He ahanoa motunga Rauemi penei. Ka tautuhi i te maha o nga rauemi me nga taonga e waatea ana mo te mokowāingoa i te kāhui. Ka taea e tatou te hanga ahanoa yaml ki ia mokowā ingoa o te kāhui Kubernetes. Ma te whakamahi i tenei ahanoa, ka taea e matou te kii he maha nga tono me nga rohe kua tohatohahia mo tenei mokowā ingoa, katahi ka taea e matou te kii kei roto i tenei ingoa ingoa ka taea te hanga i nga ratonga 10 me te 10 pods. A ka taea e te kaiwhakawhanake kotahi te kowaowao i a ia ano i nga ahiahi. Ka kii atu a Kubernetes ki a ia: "Kaore e taea e koe te whakarahi i o poti ki tera nui, na te mea kua nui ke atu te rauemi i te motunga." Koia, kua oti te raruraru. Nga tuhinga kei konei.

Ko tetahi take raruraru ka ara ake mo tenei kaupapa. Kei te mohio koe he uaua te hanga mokowāingoa ki Kubernetes. Hei waihanga, me whai whakaaro nui tatou.

Motunga rauemi + Awhe Tepe + RBAC
• Waihangatia he mokowā ingoa
• Waihangatia he awhe rohe ki roto
• Waihangahia te rahinga rauemi o roto
• Waihangahia he kaute ratonga mo CI
• Waihanga herenga mahi mo CI me nga kaiwhakamahi
• Ka taea te whakarewa i nga putunga ratonga e tika ana

No reira, ka hiahia ahau ki te whai waahi ki te whakapuaki i aku whanaketanga. He mea penei e kiia ana ko te kaiwhakahaere SDK. He huarahi tenei mo te roopu Kubernetes ki te tuhi i nga kaiwhakahaere mo taua mea. Ka taea e koe te tuhi korero ma te whakamahi i te Ansible.

I te tuatahi i tuhia ki te Ansible, katahi ka kite ahau he kaiwhakahaere SDK ka tuhi ano i te mahi Ansible hei kaiwhakahaere. Ma tenei tauākī ka taea e koe te hanga ahanoa ki te kāhui Kubernetes e kiia nei he whakahau. I roto i te whakahau, ka taea e koe te whakaahua i te taiao mo tenei whakahau i roto i te yaml. A, i roto i te taiao o te roopu, ka taea e maatau te whakaahua kei te tohatohahia e matou nga rauemi maha.

Iti kia ngawari ake tenei tukanga matatini katoa.

A hei mutunga. Me aha ki enei mea katoa?
Tuatahi. He pai te Kaupapahere Haumaru Pod. A ahakoa te mea kaore tetahi o nga kaiwhakauru Kubernetes e whakamahi ana tae noa ki tenei ra, me whakamahi tonu koe i roto i o tautau.

Ko te Kaupapahere Whatunga ehara i te mea noa tetahi waahanga kore. Koinei te mea e tino hiahiatia ana i roto i te kohinga.

LimitRange/ResourceQuota - kua tae ki te wa ki te whakamahi. I timata matou ki te whakamahi i tenei wa roa, a mo te wa roa ka tino mohio ahau kei te whakamahia e te katoa. I puta mai he onge tenei.

I tua atu i nga mea i whakahuahia e au i te wa o te purongo, kei reira nga ahuatanga kaore i tuhia e taea ai e koe te whakaeke i te roopu. I tukuna tata nei he tātaritanga whanui mo nga whakaraeraetanga o Kubernetes.

Ko etahi mea he tino pouri me te mamae. Hei tauira, i raro i etahi tikanga, ka taea e nga cubelets i roto i te roopu Kubernetes te tuku i nga ihirangi o te raarangi warlocks ki tetahi kaiwhakamahi kore mana.

konei He tohutohu me pehea te whakaputa i nga mea katoa i korerotia e ahau ki a koe. He konae kei te hanga tauira o te ahua o te ResourceQuota me te Pod Security Policy. A ka taea e koe te pa ki enei mea katoa.

Nga mihi ki te katoa.

Source: will.com

Tāpiri i te kōrero