O loʻo i ai le tele o tusi faʻasino i luga ole Initaneti, ae o nisi taimi o fautuaga sili ona faigofie e sili ona taua. Au Kubernetes aaS mai Mail.ru faaliliuina se filifiliga o togafiti e sefulu ma fautuaga, lea na aoina e le tusitala o le tusiga ina ua maeʻa le tausaga o galue ma Kubernetes. O fautuaga e le faʻavasegaina i le taua, ae matou te manatu o le a maua e tagata uma se mea aoga mo i latou lava.
Le fa'atonuga faigofie e galulue ma Kubernetes
I le amataga, atonu o le gaioiga sili ona faigofie ma sili ona aoga i le galulue faatasi ma Kubernetes. O le fa'atonuga lea e mafai ai ona fa'amae'aina le fa'atonuga kubectl i totonu o le atigi bash:
Autocomplete kubectl o le a tusia i le faila .bashrc ma o le a otometi ona faʻagaoioia i taimi uma e amata ai le atigi. O le mea lea e faatelevaveina ai le taina o poloaiga uumi ma tapulaʻa pei ole all-namespaces. Fa'amatalaga atili ile Kubernetes bash fesoasoani.
Fa'agata manatua ma le CPU tapula'a i totonu ole igoa avanoa
Afai e sese le tusi talosaga, mo se faʻataʻitaʻiga, e tatalaina ai se fesoʻotaʻiga fou i le database i sekone taʻitasi ae e le tapunia, ona iai lea o le faʻamaufaʻailoga e manatua ai. Ma afai o le talosaga e leai se tapulaa manatua seti i le taimi o le faʻapipiʻiina, e mafai ona oʻo atu ai i le faʻaletonu o le node.
Ina ia puipuia lenei mea, e mafai e Kubernetes ona faʻatagaina oe e seti faʻatapulaʻa faʻatapulaʻaina i luga ole igoa ole igoa. O lo'o tusia i le faila yaml mo se igoa fa'apitoa. O se faʻataʻitaʻiga lea o se faila:
Fausia sea yaml ma faʻaoga i soʻo se igoa avanoa. Mo se faʻataʻitaʻiga, i le igoa avanoa limit-example. O lea la so'o se atigipusa o lo'o fa'apipi'i i totonu o lenei va'aiga igoa o le a iai le tapula'a o le 512Mi, se'i vagana ua fa'aopoopoina se isi tapula'a mo lenei koneteina.
Aoina lapisi i lomiga tuai o Kubernetes
Kubelet e le mafai ona amata aoina lapisi pe a var/lib/docker nofoia 90% o avanoa disk avanoa. E lelei tele lenei, peitaʻi, seia oʻo i le Kubernetes 1.7 e leai se faʻatapulaʻaina o le numera o inodes na faʻaaogaina, e fetaui ma le numera o faila i le faila faila.
Atonu o lau koneteina var/lib/docker e mafai ona faʻaaogaina naʻo le 50% o le disk space, ae mafai ona faʻaumatia inodes, e mafua ai faʻafitauli mo tagata faigaluega.
I lomiga tuai o kubelet mai le 1.4 i le 1.6 e tatau ona e faʻaopoopoina le fuʻa lenei:
I le 1.7 ma fa'asologa mulimuli ane o lenei fu'a ua fa'atulaga e le mafai. Ae ui i lea, o lomiga muamua e le mataʻituina le tapulaa o le inode.
Minikube... laiti ae malolosi Kubernetes i le lotoifale
O le Minikube o le auala pito sili lea ona faigofie e faʻatautaia ai se faʻalapotopotoga Kubernetes i le lotoifale. E fa'alauiloa i se fa'atonuga faigofie:
minikube start
O le fa'atinoina o lenei fa'atonuga e maua ai se fuifui moni Kubernetes o lo'o fa'agaoioi i lau masini.
O le togafiti o le auala e fausia ai le talosaga ma faʻatautaia i le lotoifale i luga o lena fuifui. Vagana ua faʻatonuina faʻapitoa, o le ata Docker o le a fausia i luga o lau komepiuta ae le o luga ole fuifui.
Ina ia faʻamalosia Docker e tulei le ata i le faʻalapotopotoga Kubernetes i le lotoifale, o le masini faʻapipiʻi ua tuʻuina atu le poloaiga lenei:
eval $(minikube docker-env)
Ole taimi nei e mafai ona tatou fausia ni talosaga ile fa'alapotopotoga Kubernetes.
Aua le tuuina atu le kubectl avanoa i tagata uma
E foliga mai e manino, ae afai e tele 'au o loʻo faʻaogaina le fuifui tutusa mo a latou talosaga (o le mea lea na faia ai Kubernetes), e le tatau ona e tuʻuina atu i tagata uma. kubectl. E sili atu le vavaeeseina o poloaiga, tuʻuina atu ia i latou taʻitoʻatasi a latou lava igoa ma faʻatapulaʻaina avanoa e faʻaaoga ai faiga faʻavae RBAC.
E mafai ona e fenumiai e ala i le tuʻuina atu o aia tatau e maua ai, faitau, fatuina, tape ma isi gaioiga mo pod taʻitasi. Ae o le mea autu o le faʻatapulaʻaina o avanoa i mealilo, faʻatagaina naʻo pule. O le auala lea o le a tatou vaʻavaʻai ai i latou e mafai ona faʻatautaia le fuifui ma i latou e mafai ona faʻapipiʻi i ai.
Puleaina Tala o le Pod
E faʻapefea ona faʻamautinoa e leai se taimi malolo mo se talosaga i totonu o le Kubernetes cluster? PodDisruptionBudget ma toe PodDisruptionBudget.
O fa'aputuga e fa'afou i lea taimi ma lea taimi ma fa'agaogao. E leai se mea e tu, o le mea moni lena. O fa'atinoga uma e sili atu ma le tasi le fa'ata'ita'iga e tatau ona aofia ai se PDB (PodDisruptionBudget). E faia i se faila yaml faigofie e faʻaoga i le fuifui. Ole vaega fa'asalalau ole PDB fa'apitoa e fa'amoemoeina e tagata filifilia igoa.
Manatua: O le tala o le tupe a le PDB e na'o le taimi lava e toe fa'afo'i ai le soliga o le paketi (fa'alavelave tauofo). I tulaga e pei o masini faaletonu, PDB o le a le aoga.
O vaega autu e lua o matchLabels и minAvailable. O le parakalafa muamua o lo'o fa'amaoti mai po'o fea talosaga e fa'atatau i ai le paketi. Mo se faʻataʻitaʻiga, afai ei ai aʻu faʻasalalauga ma faʻailoga app: app-a и app: app-b, ona faʻaaogaina lea o lenei PDB i le muamua.
Parakalafa minAvailable amanaia pe a gaogao (faamamaina) le node. Mo se faʻataʻitaʻiga, i la tatou faʻataʻitaʻiga, i le taimi o le gaogao, o mea uma e faʻateʻaina app: app-a, vagana ai le lua.
O lenei mea e mafai ai e oe ona pulea pe fia taimi o le talosaga e tatau ona tamoe i soo se taimi.
Fa'aoga mata'ituina le soifua maloloina
O ia mata'itū e mafai i ni auala se lua: fa'aaogā su'ega o le Sauniuni po'o le Liveness.
O le su'esu'ega muamua (sauniuni) e iloa ai le sauni o le koneteina e talia fe'avea'i.
O le lona lua (liveness) o lo'o fa'aalia ai pe lelei le atigipusa pe mana'omia ona toe fa'aola.
O fetuutuunaiga talafeagai e faʻaopoopoina i le yaml mo le faʻapipiʻiina. O iina e mafai ona e fa'ailoa mai ai taimi fa'agata, fa'atuai taimi ma le aofa'i o su'ega. Va'ai nisi fa'amatalaga e uiga ia i latou Kubernetes pepa aloaia.
O lo'o iai fa'ailoga i so'o se mea
Fa'ailoga o se tasi lea o manatu fa'avae i Kubernetes. Latou te faʻatagaina mea faitino e fesoʻotaʻi saoloto le tasi i le isi, faʻapea foʻi ma le faia o fesili e faʻavae i luga o igoa. I le Kubernetes, e mafai fo'i ona e alu i le kalani ma matamata i mea na tutupu mo fa'ailoga patino.
E mafai ona e faia toetoe lava o soʻo se mea i faʻailoga, ae o se faʻataʻitaʻiga lelei o le fatuina o ni siosiomaga se tele e faʻatautaia ai polokalame i luga o le fuifui tutusa.
Fa'apea e te fa'aogaina le fuifui tutusa mo dev и qa. O lona uiga e mafai ona iai sau talosaga app-a, galue i le taimi e tasi i siosiomaga uma e lua qa и dev. I lenei tulaga, e mafai ona tatou faʻaogaina faʻapitoa le faʻataʻitaʻiga faʻataʻitaʻiga i se siosiomaga faʻapitoa e ala i le faʻamaonia o le parakalafa talafeagai environment. Mo se faʻataʻitaʻiga app: app-a и environment: dev mo le siosiomaga e tasi, ma app: app-a и environment: qa mo le lona lua.
Ole mea lea e fa'atagaina ai oe e fa'aogaina fa'ata'ita'iga uma e lua o le talosaga, mo se fa'ata'ita'iga, e fa'atino su'ega i le taimi e tasi.
Ia faatulaga lelei
O le Kubernetes o se faiga malosi tele, ae o soʻo se faiga e mafai ona faʻaumatia i lalo i le tele o faiga. O le Kubelet e faʻatautaia uma faiga ma siaki e te faʻamaonia, faʻapea foʻi ma ana lava.
O le mea moni, e le fa'agesegese le faiga e tasi le 'au'aunaga matuaoti, ma o Kubernetes ua mamanuina e fa'asolo mai i lalo. Ae afai ae le o le tasi auaunaga e aliali mai le miliona, o le kubelet e amata ona laoa.
Afai mo se mafuaʻaga e te tapeina ai se faʻapipiʻiina (container, image, soʻo se mea), ia mautinoa e fai se faʻamamā atoatoa.
Feiloai Go
Na matou teuina le fautuaga autu mo le mulimuli. A'oa'o le gagana polokalame Go.
Kubernetes e atiina ae i le Go, o faʻaopoopoga uma e tusia i le Go, ma o le client-go client library o loʻo lagolagoina aloaʻia.
E mafai ona faʻaaogaina mo mea eseese ma manaia. Mo se faʻataʻitaʻiga, ia faʻalautele le Kubernetes system i lou tofo. O lea la, e mafai ona e faʻaogaina au lava polokalame e aoina ai faʻamaumauga, faʻapipiʻi talosaga, pe naʻo le faʻamamaina o pusa.
O le a'oa'oina o le gagana fa'apolokalame a le Go ma le fa'ata'ita'iina o tagata fa'atau-go atonu o le fautuaga sili lea ona taua e mafai ona e tu'uina atu i tagata fou Kubernetes.