Na 10 Molaidhean is Molaidhean Kubernetes as fheàrr

Na 10 Molaidhean is Molaidhean Kubernetes as fheàrr

Tha tòrr litreachas fiosrachaidh air an eadar-lìn, ach uaireannan is e a’ chomhairle as sìmplidh an fheadhainn as luachmhoire. Sgioba Kubernetes aaS bho Mail.ru eadar-theangaichte taghadh de dheich cleasan is molaidhean, a chruinnich ùghdar an artaigil às deidh bliadhna de bhith ag obair le Kubernetes. Chan eil na molaidhean air an òrdachadh a rèir cudromachd, ach tha sinn den bheachd gum faigh a h-uile duine rudeigin feumail dhaibh fhèin.

An òrdugh as sìmplidh airson obrachadh le Kubernetes

An toiseach, is dòcha an gnìomh as sìmplidh agus as fheumaile ann a bhith ag obair le Kubernetes. Tha an àithne a leanas a’ comasachadh crìochnachadh àithne kubectl ann an slige bash:

echo "source <(kubectl completion bash)" >> ~/.bashrc

Autofill kubectl thèid a sgrìobhadh chun fhaidhle .bashrc agus thèid a chuir an gnìomh gu fèin-ghluasadach a h-uile uair a thèid an t-slige a thòiseachadh. Bidh seo a’ luathachadh sgrìobhadh òrdughan fada agus paramadairean leithid all-namespaces. Leugh tuilleadh ann an Kubernetes bash cuideachadh.

Cuimhne bunaiteach agus crìochan CPU ann an àite ainm

Ma tha an tagradh air a sgrìobhadh gu ceàrr, mar eisimpleir, bidh e a’ fosgladh ceangal ùr ris an stòr-dàta a h-uile diog ach nach dùin e e gu bràth, tha aodion cuimhne aig a’ bhuidheann. Agus mura h-eil crìoch cuimhne aig an tagradh aig àm cleachdadh, faodaidh seo leantainn gu fàilligeadh nód.

Gus casg a chuir air seo, leigidh Kubernetes leat cuingealachaidhean bunaiteach a shuidheachadh a rèir àite-ainm. Tha iad sgrìobhte ann am faidhle yaml airson àite ainm sònraichte. Seo eisimpleir de leithid de fhaidhle:

apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
spec:
  limits:
  - default:
      memory: 512Mi
    defaultRequest:
      memory: 256Mi
    type: Container

Cruthaich a leithid de yaml agus cuir a-steach gu àite ainm sam bith. Mar eisimpleir, chun an namespace limit-example. A-nis bidh crìoch de 512Mi aig soitheach sam bith a thèid a chleachdadh san ainm-àite seo, mura h-eil crìoch fa leth eile air a shuidheachadh airson a’ ghobhar seo.

Cruinneachadh sgudail ann an dreachan nas sine de Kubernetes

Bidh Kubelet gu gnàthach a’ tòiseachadh cruinneachadh sgudail nuair var/lib/docker a’ gabhail thairis 90% den àite diosc a tha ri fhaighinn. Tha seo fìor mhath, ge-tà, gus an Kubernetes 1.7 cha robh crìoch bunaiteach air an àireamh de inodes a chaidh a chleachdadh, a tha a rèir an àireamh de fhaidhlichean san t-siostam faidhle.

Is dòcha an soitheach agad var/lib/docker is dòcha nach cleachd iad ach 50% den àite diosc, ach dh’ fhaodadh sin ruith a-mach à inodes, a dh’ adhbhraicheas duilgheadasan don luchd-obrach.

Ann an dreachan nas sine de kubelet bho 1.4 gu 1.6 feumaidh tu am bratach seo a chur ris:

--eviction-hard
=memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%

Ann an dreachan 1.7 agus nas fhaide air adhart tha am bratach seo air a shuidheachadh gu bunaiteach. Ach, chan eil dreachan roimhe a 'cumail sùil air a' chrìoch inode.

Minikube... Kubernetes ionadail beag ach cumhachdach

Is e Minikube an dòigh as fhasa air cruinneachadh ionadail Kubernetes a ruith. Tha e air a chuir air bhog le òrdugh sìmplidh:

minikube start

Le bhith a’ ruith an àithne seo bidh fìor bhuidheann Kubernetes a’ ruith air an inneal agad.

Na 10 Molaidhean is Molaidhean Kubernetes as fheàrr
Stòr dealbh

Is e an cleas mar a thogas tu an tagradh agus a ruith gu h-ionadail air a’ bhuidheann sin. Mura h-eil stiùireadh sònraichte ann, thèid ìomhaigh an Docker a thogail air a’ choimpiutair agad agus chan ann air a’ bhraisle.

Gus toirt air Docker an ìomhaigh a phutadh chun bhuidheann ionadail Kubernetes, gheibh an inneal docker an àithne a leanas:

eval $(minikube docker-env)

A-nis is urrainn dhuinn tagraidhean a thogail air cruinneachadh ionadail Kubernetes.

Na toir cothrom kubectl don h-uile duine

Tha e coltach gu bheil seo follaiseach, ach ma tha grunn sgiobaidhean a’ cleachdadh an aon bhuidheann airson na tagraidhean aca (is e sin an adhbhar a chaidh Kubernetes a chruthachadh), cha bu chòir dhut dìreach a thoirt don h-uile duine kubectl. Tha e nas fheàrr na h-òrdughan a sgaradh, a’ sònrachadh àite-ainm fhèin do gach fear dhiubh agus a’ cuingealachadh ruigsinneachd a’ cleachdadh poileasaidhean RBAC.

Faodaidh tu a bhith troimh-chèile le bhith a’ sònrachadh chòraichean ruigsinneachd, leughadh, cruthachadh, cuir às agus gnìomhachd eile airson gach pod. Ach is e am prìomh rud ruigsinneachd gu dìomhaireachdan a chuingealachadh, a ’toirt cothrom dha luchd-rianachd a-mhàin. San dòigh seo nì sinn eadar-dhealachadh eadar an fheadhainn as urrainn a’ bhuidheann a rianachd agus an fheadhainn as urrainn dìreach a chuir thuige.

Stiùirich Buidseatan Pod

Mar a nì thu cinnteach nach eil ùine downt ann airson tagradh ann am buidheann Kubernetes? Buidseit PodDisruption agus a-rithist PodDisruptionBudget.

Bidh cruinneachaidhean air an ùrachadh bho àm gu àm agus bidh nodan air am falmhachadh. Chan eil dad a’ seasamh, sin an fhìrinn. Bu chòir PDB (PodDisruptionBudget) a bhith anns gach cleachdadh le barrachd air aon eisimpleir. Tha e air a chruthachadh ann am faidhle yaml sìmplidh a tha air a chuir a-steach don bhuidheann. Tha raon còmhdaich PDB sònraichte air a dhearbhadh le luchd-taghaidh leubail.

Note: Cha tèid beachdachadh air buidseat PDB ach nuair a tha briseadh a’ bhuidseit air a thionndadh air ais (briseadh saor-thoileach). Ann an suidheachaidhean leithid fàilligeadh bathar-cruaidh, chan obraich PDB.

Eisimpleir PDB:

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: app-a-pdb
spec:
  minAvailable: 2
  selector:
      matchLabels:
        app: app-a

Tha an dà phrìomh paramadair matchLabels и minAvailable. Tha a’ chiad paramadair a’ sònrachadh dè na h-iarrtasan a bhuineas don bhuidseit. Mar eisimpleir, ma tha cleachdadh agam le bileagan app: app-a и app: app-b, an uairsin cha bhi am PDB seo a’ buntainn ach ris a’ chiad fhear.

Parameter minAvailable air a thoirt fa-near nuair a bhios tu a’ falmhachadh (glanadh) an nód. Mar eisimpleir, anns an eisimpleir againn, nuair a bhios tu a 'falmhachadh, tha a h-uile suidheachadh air am fuadach app: app-a, ach a dhà.

Leigidh seo dhut smachd a chumail air cia mheud suidheachadh den tagradh a bu chòir a bhith a’ ruith aig àm sònraichte sam bith.

Iarrtas airson sgrùdadh slàinte

Tha an leithid de sgrùdadh comasach ann an dà dhòigh: a’ cleachdadh deuchainnean Deònach no Beò.

Bidh a’ chiad probe (deiseileachd) a’ dearbhadh dè cho deònach sa tha an soitheach airson trafaic fhaighinn.

Tha an dàrna fear (beòthalachd) a’ sealltainn a bheil an soitheach fallain no a bheil feum air ath-thòiseachadh.

Tha na rèiteachaidhean iomchaidh dìreach air an cur ris an yaml airson an cleachdadh. An sin faodaidh tu amannan-ama, amannan dàil agus an àireamh de dheuchainnean a shònrachadh. Faic barrachd fiosrachaidh mun deidhinn Sgrìobhainnean Kubernetes.

Tha tagaichean anns a h-uile àite

Tha bileagan mar aon de na bun-bheachdan bunaiteach ann an Kubernetes. Leigidh iad le nithean conaltradh gu saor ri chèile, a bharrachd air ceistean a chruthachadh stèidhichte air bileagan. Ann an Kubernetes, faodaidh tu eadhon a dhol chun neach-dèiligidh agus coimhead air tachartasan airson tagaichean sònraichte.

Faodaidh tu cha mhòr rud sam bith a dhèanamh le tagaichean, ach bhiodh e na dheagh eisimpleir a bhith a’ cruthachadh ioma àrainneachdan gus prògraman a ruith air an aon bhuidheann.

Canaidh sinn gu bheil thu a’ cleachdadh an aon bhuidheann airson dev и qa. Tha seo a’ ciallachadh gum faod tagradh a bhith agad app-a, ag obair aig an aon àm anns an dà àrainneachd qa и dev. Anns a ’chùis seo, is urrainn dhuinn cothrom fhaighinn air an t-eisimpleir tagraidh ann an àrainneachd shònraichte le bhith a’ sònrachadh am paramadair iomchaidh environment. Mar eisimpleir app: app-a и environment: dev airson aon àrainneachd, agus app: app-a и environment: qa airson an dàrna fear.

Leigidh seo leat faighinn chun dà shuidheachadh den tagradh, mar eisimpleir, gus deuchainn a dhèanamh aig an aon àm.

Faigh eagraichte

Is e siostam fìor chumhachdach a th’ ann an Kubernetes, ach faodaidh siostam sam bith mu dheireadh a dhol sìos le cus phròiseasan. Bidh an Kubelet a’ ruith a h-uile pròiseas agus sgrùdadh a shònraicheas tu, a bharrachd air a chuid fhèin.

Gu dearbh, cha chuir aon seirbheis dìlleachdan maill air an t-siostam, agus tha Kubernetes air a dhealbhadh gus sgèile bhon talamh suas. Ach ma nochdas millean an àite seirbheis, bidh an kubelet a 'tòiseachadh a' tachdadh.

Ma sguabas tu às cleachdadh airson adhbhar air choireigin (soitheach, ìomhaigh, ge bith dè), dìreach dèan cinnteach gun dèan thu glanadh iomlan.

Coinnich Rach

Shàbhail sinn a’ phrìomh chomhairle mu dheireadh. Ionnsaich cànan prògramadh Go.

Tha Kubernetes air a leasachadh ann an Go, tha a h-uile leudachadh air a sgrìobhadh ann an Go, agus tha leabharlann teachdaiche teachdaiche a’ faighinn taic oifigeil cuideachd.

Faodar a chleachdadh airson rudan eadar-dhealaichte agus inntinneach. Mar eisimpleir, gus siostam Kubernetes a leudachadh gu do bhlas. Mar sin, faodaidh tu na prògraman agad fhèin a chleachdadh gus dàta a chruinneachadh, tagraidhean a chuir an sàs, no dìreach soithichean a ghlanadh.

Is dòcha gur e ionnsachadh cànan prògramadh Go agus a bhith a’ faighinn eòlas air luchd-dèiligidh a’ chomhairle as cudromaiche as urrainn dhut a thoirt do luchd-cleachdaidh ùr Kubernetes.

Eadar-theangachadh le taic bho Mail.ru Cloud Solutions

Dè eile a leughadh:

  1. Trì ìrean de fèin-sgèileadh ann an Kubernetes agus mar a chleachdas tu iad gu h-èifeachdach.
  2. Nòtaichean neach-obrach Kubernetes: mòran dhaoine beaga no glè bheag de fheadhainn mòra?
  3. 25 Innealan Feumail airson a bhith a’ cleachdadh agus a’ riaghladh Kubernetes.

Source: www.habr.com

Cuir beachd ann