Enwere ọtụtụ akwụkwọ ntụaka na ịntanetị, mana mgbe ụfọdụ ndụmọdụ kachasị mfe bụ nke bara uru. Otu Kubernetes aaS sitere na Mail.ru sụgharịa nhọrọ nke aghụghọ iri na ndụmọdụ, nke onye edemede nke akụkọ ahụ chịkọtara mgbe otu afọ na-arụ ọrụ na Kubernetes. A naghị edozi ndụmọdụ site na mkpa, ma anyị na-eche na onye ọ bụla ga-achọta ihe bara uru maka onwe ya.
Iwu kachasị mfe iji na Kubernetes
Iji malite, ikekwe usoro kachasị mfe na nke bara uru na-arụ ọrụ na Kubernetes. Iwu na-esote na-enyere aka ịmecha iwu kubectl na bash shell:
Ntọala kubectl a ga-ede ya na faịlụ .bashrc ma ga-arụ ọrụ na-akpaghị aka mgbe ọ bụla ebido shei ahụ. Nke a na-eme ka pịnye ogologo iwu na nhọrọ dịka all-namespaces. Gụkwuo n'ime Kubernetes bash enyemaka.
Ebe nchekwa aha na njedebe CPU
Ọ bụrụ na edeghị ngwa na ezighi ezi, dị ka imepe njikọ nchekwa data ọhụrụ kwa sekọnd mana anaghị emechi ya, mgbe ahụ ụyọkọ ahụ ga-agbapụta ebe nchekwa. Ma ọ bụrụ na ngwa ahụ enweghị oke ebe nchekwa n'oge ntinye, nke a nwere ike ibute ọdịda ọnụ.
Iji gbochie nke a, Kubernetes na-enye gị ohere ịtọ oke ndabara maka oghere aha ọ bụla. Edere ha na faịlụ yaml maka otu aha aha. Nke a bụ ọmụmaatụ ụdị faịlụ a:
Mepụta yaml dị otú ahụ ma tinye na oghere aha ọ bụla. Dịka ọmụmaatụ, gaa na ebe aha limit-example. Ugbu a, akpa ọ bụla ebugara na oghere aha a ga-enwe oke 512Mi, belụsọ na edobere oke onye ọzọ maka akpa a.
Nchịkọta ihe mkpofu na ụdị Kubernetes ochie
Kubelet na-amalite nchịkọta mkpofu na ndabara mgbe var/lib/docker nwere 90% nke ohere diski dị. Nke a dị oke mma, Otú ọ dị, tupu Kubernetes 1.7, enweghị njedebe ndabara na ọnụ ọgụgụ nke inodes eji, nke kwekọrọ na ọnụ ọgụgụ faịlụ na faịlụ faịlụ.
O yikarịrị ka akpa gị var/lib/docker nwere ike iji 50% nke ohere diski, ma ọ nwere ike ịpụ na inodes, nke ga-eme ka ndị ọrụ ahụ nwee nsogbu.
Na ụdị kubelet ochie sitere na 1.4 ruo 1.6, ị ga-agbakwunye ọkọlọtọ a:
Aghụghọ bụ ka esi wuo ngwa ma mee ya na mpaghara na ụyọkọ a. Ọ gwụla ma akọwapụtara ya ọzọ, a ga-ewu onyonyo Docker na igwe gị, ọ bụghị na ụyọkọ.
Iji manye Docker ịkwanye onyonyo a na ụyọkọ Kubernetes mpaghara, a na-enye igwe docker iwu a:
eval $(minikube docker-env)
Ugbu a, anyị nwere ike iwulite ngwa na ụyọkọ Kubernetes mpaghara.
Ekekọrịtala onye ọ bụla ohere kubectl
Nke a dị ka ihe doro anya, mana ọ bụrụ na ọtụtụ ndị otu na-eji otu ụyọkọ ahụ maka ngwa ha (nke bụ ihe emere Kubernetes maka), enyela ha niile n'usoro. kubectl. Ọ ka mma ikewapụ iwu ndị ahụ, na-enye onye ọ bụla n'ime ha ohere aha ya na igbochi ohere na iwu RBAC.
Ị nwere ike inwe mgbagwoju anya site n'inye ikike ịnweta, ịgụ, mepụta, ihichapụ na ọrụ ndị ọzọ maka pọd ọ bụla. Ma isi ihe bụ igbochi ịnweta ihe nzuzo, na-enye ya naanị ndị nchịkwa. Otu a ka anyị si amata ọdịiche dị n'etiti ndị nwere ike ịhazi ụyọkọ ahụ na ndị nwere ike ibuga na ya.
Jikwaa ego mmefu ego
Kedu ka esi achọpụta na enweghị oge nkwụsị maka ngwa na ụyọkọ Kubernetes? PodDisruptionBudget na ọzọ PodDisruptionBudget.
A na-emelite ụyọkọ kwa oge, a na-ewepụkwa ọnụ ọnụ. Ọ dịghị ihe guzoro, nke ahụ bụ eziokwu. Nkwanye ọ bụla nwere ihe karịrị otu atụ ga-agụnye PDB (PodDisruptionBudget). Emebere ya na faịlụ yaml dị mfe nke etinyere na ụyọkọ ahụ. A na-ekpebi ogo nke otu PDB site n'aka ndị na-ahọpụta akara.
Cheta na: A na-eburu n'uche mmefu ego PDB naanị ma ọ bụrụ na mmebi mmefu ego nwere ike gbanwee (nkwụsị nke afọ ofufo). N'ọnọdụ dị ka ọdịda ngwaike, PDB agaghị arụ ọrụ.
Abụọ isi parameters bụ matchLabels и minAvailable. Oke nke mbụ na-akọwapụta ngwa nke mmefu ego na-emetụta. Dịka ọmụmaatụ, ọ bụrụ na enwere m mkpado nwere mkpado app: app-a и app: app-b, mgbe ahụ PDB a ga-emetụta naanị nke mbụ.
Ogologo minAvailable echebara echiche mgbe ị na-ekpochapụ (na-ehichapụ) ọnụ. Dịka ọmụmaatụ, n'ihe atụ anyị, a na-achụpụ oge niile n'oge mbibi app: app-aewezuga abụọ.
Nke a na-enye gị ohere ijikwa ugboro ole nke ngwa kwesịrị ịdị na-agba n'otu oge.
Ngwa ahụike nlekota
Nleba anya dị otú ahụ ga-ekwe omume n'ụzọ abụọ: iji ule Njikere ma ọ bụ ịdị ndụ.
Nke abụọ (ndụ) na-egosi ma akpa ahụ ọ dị mma ma ọ bụ na ọ kwesịrị ịmalitegharị.
A na-agbakwunye nhazi ndị dị mkpa na yaml maka ibuga. N'ebe ahụ, ị nwere ike ịkọwapụta oge nkwụsị, oge igbu oge na ọnụ ọgụgụ nke nnwale. Hụkwuo gbasara ha Kubernetes akwụkwọ.
Akara aha ebe niile
Akara akara bụ otu n'ime echiche bụ isi na Kubernetes. Ha na-ekwe ka ihe na-akparịta ụka n'enweghị ihe ọ bụla, yana ịmepụta arịrịọ dabere na akara. Na Kubernetes, ị nwere ike ịgakwuru onye ahịa wee lelee mmemme maka aha ndị akọwapụtara.
Enwere ike iji akara mee ihe ọ bụla, mana ezigbo ihe atụ ga-abụ imepụta ọtụtụ gburugburu iji mee mmemme na otu ụyọkọ.
Ka anyị kwuo na ị na-eji otu ụyọkọ ahụ maka dev и qa. Nke a pụtara na ị nwere ike ịnwe ngwa app-a, na-arụ ọrụ n'otu oge na gburugburu abụọ qa и dev. N'okwu a, anyị nwere ike ịnweta ihe atụ ngwa iche iche na mpaghara akọwapụtara site na ịkọwapụta oke kwesịrị ekwesị environment. Dịka ọmụmaatụ app: app-a и environment: dev maka otu gburugburu ebe obibi, na app: app-a и environment: qa maka nke abụọ.
Nke a na-enye gị ohere ịnweta oge abụọ nke ngwa ahụ, dịka ọmụmaatụ, iji nwalee n'otu oge.
Dozie ihe n'usoro
Kubernetes bụ usoro dị ike nke ukwuu, mana usoro ọ bụla nwere ike mechaa gbadaa n'ọtụtụ usoro. Kubelet na-eme usoro niile yana nyocha nke ị depụtara, yana nke ya.
N'ezie, otu ọrụ nwa mgbei agaghị eme ka usoro ahụ kwụsịlata, a na-emepụta Kubernetes ka ọ dị elu site na mmalite. Ma ọ bụrụ na kama otu ọrụ otu nde pụtara, kubelet na-amalite ịkpagbu.
Ọ bụrụ n'ihi ihe ụfọdụ ị na-ehichapụ ihe ntinye (akpa, ihe oyiyi, ihe ọ bụla), jide n'aka na ị ga-ehichapụ ya kpamkpam.
Emepụtara Kubernetes na Go, edere ndọtị niile na Go, yana ọbá akwụkwọ ndị ahịa na-akwadokwa nke ọma.
Enwere ike iji ya mee ihe dị iche iche na ihe na-adọrọ mmasị. Dịka ọmụmaatụ, ịgbatị usoro Kubernetes ka ọ bụrụ ụtọ gị. Dịka ọmụmaatụ, ịnwere ike iji mmemme nke gị iji nakọta data, ibuga ngwa, ma ọ bụ kpochaa arịa.
Ịmụ asụsụ mmemme Go na ịmụta ụzọ ahịa ahịa bụ ikekwe ndụmọdụ kachasị mkpa enwere ike inye ndị ọrụ Kubernetes novice.