PiezÄ«me. tulk.: Å Ä« raksta autori ir inženieri no neliela Äehijas uzÅÄmuma pipetail. ViÅiem izdevÄs salikt brÄ«niŔķīgu sarakstu ar [dažkÄrt banÄlÄm, bet tomÄr] ļoti aktuÄlÄm problÄmÄm un maldÄ«giem priekÅ”statiem saistÄ«bÄ ar Kubernetes klasteru darbÄ«bu.
Kubernetes lietoÅ”anas gadu laikÄ esam strÄdÄjuÅ”i ar lielu skaitu klasteru (gan pÄrvaldÄ«tu, gan nepÄrvaldÄ«tu ā GCP, AWS un Azure). Laika gaitÄ mÄs sÄkÄm pamanÄ«t, ka dažas kļūdas tiek pastÄvÄ«gi atkÄrtotas. TomÄr par to nav kauna: lielÄko daļu no tiem esam izdarÄ«juÅ”i paÅ”i!
Å is vienums noteikti ir pelnÄ«jis vislielÄko uzmanÄ«bu un pirmo vietu sarakstÄ.
CPU pieprasÄ«jums parasti vai nu vispÄr nav norÄdÄ«ts, vai arÄ« ir ļoti zema vÄrtÄ«ba (lai uz katra mezgla novietotu pÄc iespÄjas vairÄk pÄkstÄ«m). TÄdÄjÄdi mezgli kļūst pÄrslogoti. Augstas slodzes laikÄ mezgla apstrÄdes jauda tiek pilnÄ«bÄ izmantota, un konkrÄta darba slodze saÅem tikai to, ko tÄ "pieprasÄ«ja" CPU drosele. Tas palielina lietojumprogrammas latentumu, taimautus un citas nepatÄ«kamas sekas. (VairÄk par to lasiet citÄ mÅ«su nesenajÄ tulkojumÄ: "CPU ierobežojumi un agresÄ«va droseles Kubernetes"- apm. tulk.)
BestEffort (ÄrkÄrtÄ«gi nÄ ieteicams):
resources: {}
Ä»oti zems CPU pieprasÄ«jums (ÄrkÄrtÄ«gi nÄ ieteicams):
resources:
Requests:
cpu: "1m"
No otras puses, CPU ierobežojuma klÄtbÅ«tne var izraisÄ«t nepamatotu pulksteÅa ciklu izlaiÅ”anu, pat ja mezgla procesors nav pilnÄ«bÄ noslogots. Atkal, tas var palielinÄt kavÄÅ”anos. Par parametru turpinÄs strÄ«di CPU CFS kvota Linux kodolÄ un CPU droselÄÅ”ana atkarÄ«bÄ no iestatÄ«tajiem limitiem, kÄ arÄ« CFS kvotas atspÄjoÅ”ana... Ak, CPU ierobežojumi var radÄ«t vairÄk problÄmu nekÄ atrisinÄt. PlaÅ”Äku informÄciju par to var atrast zemÄk esoÅ”ajÄ saitÄ.
PÄrmÄrÄ«ga atlase (pÄrapÅemÅ”anÄs) atmiÅas problÄmas var izraisÄ«t lielÄkas problÄmas. CPU ierobežojuma sasniegÅ”ana nozÄ«mÄ pulksteÅa ciklu izlaiÅ”anu, savukÄrt atmiÅas ierobežojuma sasniegÅ”ana nozÄ«mÄ podziÅa nogalinÄÅ”anu. Vai esat kÄdreiz novÄrojuÅ”i OOMkill? JÄ, tieÅ”i par to mÄs runÄjam.
Vai vÄlaties samazinÄt tÄ iespÄjamÄ«bu? NepÄrslogojiet atmiÅu un izmantojiet garantÄto QoS (pakalpojuma kvalitÄti), iestatot atmiÅas pieprasÄ«juma ierobežojumu (kÄ tÄlÄk esoÅ”ajÄ piemÄrÄ). VairÄk par to lasiet sadaÄ¼Ä Heninga Džeikobsa prezentÄcijas (Zalando vadoÅ”ais inženieris).
PÄrsprÄgstoÅ”s (lielÄka iespÄja tikt nogalinÄtam OOM):
Ar metrika-serveris jÅ«s varat redzÄt paÅ”reizÄjo CPU resursu patÄriÅu un atmiÅas lietojumu pa podiem (un tajos esoÅ”ajiem konteineriem). VisticamÄk, jÅ«s to jau izmantojat. VienkÄrÅ”i palaidiet Å”Ädas komandas:
kubectl top pods
kubectl top pods --containers
kubectl top nodes
TomÄr tie parÄda tikai paÅ”reizÄjo lietojumu. Tas var sniegt jums aptuvenu priekÅ”statu par lieluma secÄ«bu, bet galu galÄ jums tas bÅ«s nepiecieÅ”ams metrikas izmaiÅu vÄsture laika gaitÄ (lai atbildÄtu uz tÄdiem jautÄjumiem kÄ: āKÄda bija maksimÄlÄ CPU slodze?ā, āKÄda bija slodze vakar no rÄ«ta?ā utt.). Å im nolÅ«kam jÅ«s varat izmantot Prometejs, DataDog un citi instrumenti. ViÅi vienkÄrÅ”i iegÅ«st metriku no metriku servera un saglabÄ tos, un lietotÄjs var tos vaicÄt un attiecÄ«gi uzzÄ«mÄt.
VerticalPodAutoscaler pieļauj automatizÄt Å”o procesu. Tas izseko CPU un atmiÅas lietojuma vÄsturi un iestata jaunus pieprasÄ«jumus un ierobežojumus, pamatojoties uz Å”o informÄciju.
EfektÄ«va skaitļoÅ”anas jaudas izmantoÅ”ana nav viegls uzdevums. Tas ir tÄpat kÄ visu laiku spÄlÄt Tetris. Ja maksÄjat pÄrÄk daudz par skaitļoÅ”anas jaudu ar zemu vidÄjo patÄriÅu (teiksim, ~10%), iesakÄm apskatÄ«t produktus, kuru pamatÄ ir AWS Fargate vai Virtual Kubelet. Tie ir balstÄ«ti uz bezservera/pay-per-usage norÄÄ·inu modeli, kas Å”Ädos apstÄkļos var izrÄdÄ«ties lÄtÄks.
2. Dzīvības un gatavības zondes
PÄc noklusÄjuma dzÄ«vÄ«guma un gatavÄ«bas pÄrbaudes programmÄ Kubernetes nav iespÄjotas. Un dažreiz viÅi aizmirst tos ieslÄgt...
Bet kÄ citÄdi jÅ«s varat sÄkt pakalpojuma restartÄÅ”anu fatÄlas kļūdas gadÄ«jumÄ? Un kÄ slodzes balansÄtÄjs zina, ka pods ir gatavs satiksmei? Vai arÄ« tas spÄj apkalpot lielÄku trafiku?
Šie testi bieži tiek sajaukti viens ar otru:
DzÄ«vÄ«gums ā āizdzÄ«vojamÄ«basā pÄrbaude, kas atsÄk podziÅu, ja tÄ neizdodas;
GatavÄ«ba ā gatavÄ«bas pÄrbaude, ja neizdodas, tas atvieno pod no Kubernetes pakalpojuma (to var pÄrbaudÄ«t, izmantojot kubectl get endpoints), un satiksme uz to neierodas, kamÄr nÄkamÄ pÄrbaude nav veiksmÄ«gi pabeigta.
Abas Ŕīs pÄrbaudes VEIKTS VISA PODAS DZÄŖVES CIKLA LAIKÄ. Tas ir ļoti svarÄ«gi.
IzplatÄ«ts nepareizs uzskats ir tÄds, ka gatavÄ«bas zondes tiek palaistas tikai startÄÅ”anas laikÄ, lai balansÄtÄjs varÄtu zinÄt, ka pods ir gatavs (Ready) un var sÄkt apstrÄdÄt trafiku. TomÄr Ŕī ir tikai viena no to izmantoÅ”anas iespÄjÄm.
VÄl viena ir iespÄja noskaidrot, ka satiksme uz pod ir pÄrmÄrÄ«ga un pÄrslogo to (vai pods veic resursietilpÄ«gus aprÄÄ·inus). Å ajÄ gadÄ«jumÄ palÄ«dz gatavÄ«bas pÄrbaude samaziniet pÄksts slodzi un "atdzesÄjiet".. VeiksmÄ«ga gatavÄ«bas pÄrbaudes pabeigÅ”ana nÄkotnÄ Ä¼auj atkal palielinÄt slodzi uz pÄksts. Å ajÄ gadÄ«jumÄ (ja gatavÄ«bas pÄrbaude neizdodas), dzÄ«vÄ«guma pÄrbaudes neveiksme bÅ«tu ļoti neproduktÄ«va. KÄpÄc restartÄt ierÄ«ci, kas ir veselÄ«ga un smagi strÄdÄ?
TÄpÄc dažos gadÄ«jumos ir labÄk neveikt pÄrbaudes, nekÄ iespÄjot tÄs ar nepareizi konfigurÄtiem parametriem. KÄ minÄts iepriekÅ”, ja dzÄ«vÄ«guma pÄrbaude kopijas gatavÄ«bas pÄrbaude, tad jums ir lielas nepatikÅ”anas. IespÄjamÄ iespÄja ir konfigurÄt tikai gatavÄ«bas pÄrbaudeUn bÄ«stams dzÄ«vÄ«gums atstÄt malÄ.
Abiem pÄrbaužu veidiem nevajadzÄtu neizdoties, ja neizdodas izplatÄ«t parastÄs atkarÄ«bas, pretÄjÄ gadÄ«jumÄ tas novedÄ«s pie kaskÄdes (lavÄ«nai lÄ«dzÄ«gas) visu apgabalu atteices. Citiem vÄrdiem sakot, nekaitÄjiet sev.
3. LoadBalancer katram HTTP pakalpojumam
VisticamÄk, jÅ«su klasterÄ« ir HTTP pakalpojumi, kurus vÄlaties pÄrsÅ«tÄ«t uz Ärpasauli.
Ja atverat pakalpojumu kÄ type: LoadBalancer, tÄ kontrolieris (atkarÄ«bÄ no pakalpojumu sniedzÄja) nodroÅ”inÄs un vienosies par ÄrÄju LoadBalancer (ne vienmÄr darbojas L7, bet drÄ«zÄk pat L4), un tas var ietekmÄt izmaksas (ÄrÄjÄ statiskÄ IPv4 adrese, skaitļoÅ”anas jauda, āānorÄÄ·ini par sekundi ), jo ir nepiecieÅ”ams izveidot lielu skaitu Å”Ädu resursu.
Å ajÄ gadÄ«jumÄ daudz loÄ£iskÄk ir izmantot vienu ÄrÄjo slodzes balansÄtÄju, atverot pakalpojumus kÄ type: NodePort. Vai vÄl labÄk, izvÄrsiet kaut ko lÄ«dzÄ«gu nginx-ingress-controller (Vai traefik), kurÅ” bÅ«s vienÄ«gais Mezglu ports galapunkts, kas saistÄ«ts ar ÄrÄjo slodzes balansÄtÄju un marÅ”rutÄs trafiku klasterÄ«, izmantojot iekļūŔana-Kubernetes resursi.
Citi klastera iekÅ”Äjie (mikro) pakalpojumi, kas mijiedarbojas viens ar otru, var āsazinÄtiesā, izmantojot tÄdus pakalpojumus kÄ ClusterIP un iebÅ«vÄts pakalpojumu atklÄÅ”anas mehÄnisms, izmantojot DNS. VienkÄrÅ”i neizmantojiet viÅu publisko DNS/IP, jo tas var ietekmÄt latentumu un palielinÄt mÄkoÅpakalpojumu izmaksas.
Pievienojot mezglus klasterim un noÅemot tos no tÄ, jums nevajadzÄtu paļauties uz dažiem pamata rÄdÄ«tÄjiem, piemÄram, CPU lietojumu Å”ajos mezglos. Pod plÄnoÅ”anÄ ir jÄÅem vÄrÄ daudzi ierobežojumiem, piemÄram, pod/mezglu afinitÄte, bojÄjumi un pielaides, resursu pieprasÄ«jumi, QoS utt. Izmantojot ÄrÄju autoscaler, kas neÅem vÄrÄ Å”Ä«s nianses, var rasties problÄmas.
IedomÄjieties, ka ir jÄieplÄno noteikts pods, bet tiek pieprasÄ«ta/izjaukta visa pieejamÄ CPU jauda un pods iestrÄgst stÄvoklÄ« Pending. ÄrÄjais automÄtiskais mÄrogoÅ”anas lÄ«dzeklis redz vidÄjo paÅ”reizÄjo CPU slodzi (nevis pieprasÄ«to) un neuzsÄk paplaÅ”inÄÅ”anu (palielinÄt) - nepievieno vÄl vienu mezglu. RezultÄtÄ Å”Ä« podziÅa netiks ieplÄnota.
Å ajÄ gadÄ«jumÄ apgrieztÄ mÄrogoÅ”ana (pielÄgots) ā mezgla noÅemÅ”ana no klastera vienmÄr ir grÅ«tÄk Ä«stenojama. IedomÄjieties, ka jums ir stÄvokļi (ar pievienotu pastÄvÄ«go krÄtuvi). PastÄvÄ«gi apjomi parasti pieder Ä«paÅ”a pieejamÄ«bas zona un netiek replicÄti reÄ£ionÄ. TÄdÄjÄdi, ja ÄrÄjs automÄtiskais mÄrogoÅ”anas lÄ«dzeklis izdzÄÅ” mezglu ar Å”o aplikumu, plÄnotÄjs nevarÄs ieplÄnot Å”o aplikumu citÄ mezglÄ, jo to var izdarÄ«t tikai pieejamÄ«bas zonÄ, kurÄ atrodas pastÄvÄ«gÄ krÄtuve. Pod bÅ«s iestrÄdzis stÄvoklÄ« Pending.
Ä»oti populÄrs Kubernetes kopienÄ klasteris-autoscaler. Tas darbojas klasterÄ«, atbalsta API no galvenajiem mÄkoÅpakalpojumu sniedzÄjiem, Åem vÄrÄ visus ierobežojumus un var mÄrogot iepriekÅ”minÄtajos gadÄ«jumos. To var arÄ« paplaÅ”inÄt, vienlaikus saglabÄjot visus noteiktos ierobežojumus, tÄdÄjÄdi ietaupot naudu (kas pretÄjÄ gadÄ«jumÄ tiktu tÄrÄta neizmantotai jaudai).
5. IAM/RBAC iespÄju neievÄroÅ”ana
Uzmanieties no IAM lietotÄju izmantoÅ”anas ar pastÄvÄ«giem noslÄpumiem maŔīnas un lietojumprogrammas. OrganizÄjiet pagaidu piekļuvi, izmantojot lomas un pakalpojumu kontus (pakalpojumu konti).
MÄs bieži sastopamies ar faktu, ka piekļuves atslÄgas (un noslÄpumi) ir iekodÄtas lietojumprogrammas konfigurÄcijÄ, kÄ arÄ« neievÄrojam noslÄpumu rotÄciju, neskatoties uz to, ka mums ir piekļuve mÄkoÅa IAM. Ja nepiecieÅ”ams, izmantojiet IAM lomas un pakalpojumu kontus, nevis lietotÄjus.
Aizmirstiet par kube2iam un pÄrejiet tieÅ”i uz pakalpojumu kontu IAM lomÄm (kÄ aprakstÄ«ts sadaÄ¼Ä tÄda paÅ”a nosaukuma piezÄ«me Å tÄpĆ”n VranĆ½):
TÄpat nepieŔķiriet pakalpojumu kontiem un gadÄ«jumu profilu privilÄÄ£ijas admin Šø cluster-adminja viÅiem tas nav vajadzÄ«gs. To ir nedaudz grÅ«tÄk ieviest, it Ä«paÅ”i RBAC K8, taÄu noteikti ir vÄrts pielikt pÅ«les.
6. Nepaļaujieties uz automÄtisku anti-afinitÄti pret pÄkstÄ«m
IedomÄjieties, ka jums ir trÄ«s kÄdas izvietoÅ”anas kopijas mezglÄ. Mezgls nokrÄ«t, un kopÄ ar to visas kopijas. NepatÄ«kama situÄcija, vai ne? Bet kÄpÄc visas kopijas atradÄs vienÄ mezglÄ? Vai Kubernetes nav paredzÄts nodroÅ”inÄt augstu pieejamÄ«bu (HA)?!
DiemžÄl Kubernetes plÄnotÄjs pÄc savas iniciatÄ«vas neatbilst atseviŔķas pastÄvÄÅ”anas noteikumiem (pretafinitÄte) pÄkstÄ«m. Tie ir skaidri jÄnorÄda:
Tas ir viss. Tagad podi tiks ieplÄnoti dažÄdos mezglos (Å”is nosacÄ«jums tiek pÄrbaudÄ«ts tikai plÄnoÅ”anas laikÄ, bet ne to darbÄ«bas laikÄ - tÄtad requiredDuringSchedulingIgnoredDuringExecution).
Å eit mÄs runÄjam par podAntiAffinity dažÄdos mezglos: topologyKey: "kubernetes.io/hostname", - nevis par dažÄdÄm pieejamÄ«bas zonÄm. Lai ieviestu pilnvÄrtÄ«gu HA, jums bÅ«s jÄiedziļinÄs Å”ajÄ tÄmÄ.
7. PodDisruptionBudgets ignorÄÅ”ana
IedomÄjieties, ka jums ir Kubernetes klastera ražoÅ”anas slodze. Periodiski mezgli un klasteris ir jÄatjaunina (vai jÄnoÅem ekspluatÄcija). PodDisruptionBudget (PDB) ir kaut kas lÄ«dzÄ«gs pakalpojumu garantijas lÄ«gumam starp klasteru administratoriem un lietotÄjiem.
PBP ļauj izvairÄ«ties no pakalpojumu pÄrtraukumiem, ko izraisa mezglu trÅ«kums:
Å ajÄ piemÄrÄ jÅ«s kÄ klastera lietotÄjs paziÅojat administratoriem: āSveiki, man ir zoodÄrza pakalpojums, un neatkarÄ«gi no tÄ, ko jÅ«s darÄt, es vÄlÄtos, lai vienmÄr bÅ«tu pieejamas vismaz divas Ŕī pakalpojuma kopijas.ā
IzplatÄ«ts nepareizs uzskats ir tÄds, ka, ja vienÄ nosaukumvietÄ izvietojat neprod slodzi un citÄ nosaukumvietÄ, tad nekÄdÄ veidÄ neietekmÄs viens otru... TomÄr noteiktu izolÄcijas lÄ«meni var sasniegt, izmantojot resursu pieprasÄ«jumus/ierobežojumus, nosakot kvotas un iestatot priorityClasses. ZinÄmu āfiziskuā izolÄciju datu plaknÄ nodroÅ”ina afinitÄtes, pielaides, piesÄrÅojumi (vai mezglu atlasÄ«tÄji), taÄu Å”Äda atdalÄ«Å”ana ir diezgan liela. grÅ«ti Ä«stenot.
Tiem, kuriem vienÄ un tajÄ paÅ”Ä klasterÄ« ir jÄapvieno abu veidu slodzes, bÅ«s jÄrisina sarežģītÄ«ba. Ja Å”Ädas vajadzÄ«bas nav, un jÅ«s varat atļauties tÄdu vÄl viens klasteris (teiksim, publiskÄ mÄkonÄ«), tad labÄk to darÄ«t. TÄdÄjÄdi tiks sasniegts daudz augstÄks izolÄcijas lÄ«menis.
9. ÄrÄjÄTrafficPolicy: Cluster
Ä»oti bieži mÄs novÄrojam, ka visa datplÅ«sma klasterÄ« nÄk caur tÄdu pakalpojumu kÄ NodePort, kuram ir iestatÄ«ta noklusÄjuma politika. externalTrafficPolicy: Cluster... Tas nozÄ«mÄ, ka Mezglu ports ir atvÄrts katrÄ klastera mezglÄ, un jÅ«s varat izmantot jebkuru no tiem, lai mijiedarbotos ar vÄlamo pakalpojumu (podkopu).
TajÄ paÅ”Ä laikÄ reÄlie podi, kas saistÄ«ti ar iepriekÅ” minÄto NodePort pakalpojumu, parasti ir pieejami tikai noteiktÄ ierÄ«cÄ Å”o mezglu apakÅ”kopa. Citiem vÄrdiem sakot, ja es izveidoju savienojumu ar mezglu, kuram nav vajadzÄ«gÄ pod, tas pÄrsÅ«tÄ«s trafiku uz citu mezglu, pievienojot apiÅu un latentuma palielinÄÅ”ana (ja mezgli atrodas dažÄdÄs pieejamÄ«bas zonÄs/datu centros, latentums var bÅ«t diezgan augsts; turklÄt palielinÄsies izejas trafika izmaksas).
No otras puses, ja noteiktam Kubernetes pakalpojumam ir iestatÄ«ta politika externalTrafficPolicy: Local, tad NodePort tiek atvÄrts tikai tajos mezglos, kur faktiski darbojas nepiecieÅ”amie podi. Lietojot ÄrÄjo slodzes balansÄtÄju, kas pÄrbauda stÄvokli (veselÄ«bas pÄrbaude) galapunkti (kÄ tas darbojas AWS ELB), ViÅÅ” nosÅ«tÄ«s trafiku tikai uz nepiecieÅ”amajiem mezgliem, kas labvÄlÄ«gi ietekmÄs kavÄÅ”anos, skaitļoÅ”anas vajadzÄ«bas, izejas rÄÄ·inus (un veselais saprÄts nosaka to paÅ”u).
PastÄv liela iespÄja, ka jÅ«s jau izmantojat kaut ko lÄ«dzÄ«gu traefik vai nginx-ingress-controller kÄ NodePort galapunktu (vai LoadBalancer, kas arÄ« izmanto NodePort), lai marÅ”rutÄtu HTTP ieejas trafiku, un Ŕīs opcijas iestatÄ«Å”ana var ievÄrojami samazinÄt Å”Ädu pieprasÄ«jumu latentumu.
Š Ŕī publikÄcija JÅ«s varat uzzinÄt vairÄk par ÄrÄjo satiksmes politiku, tÄs priekÅ”rocÄ«bÄm un trÅ«kumiem.
10. NepiesaistÄ«ties kopÄm un ļaunprÄtÄ«gi neizmantot vadÄ«bas plakni
IepriekÅ” bija ierasts serverus saukt Ä«stajos vÄrdos: Antons, HAL9000 un Colossus... Å odien tie ir aizstÄti ar nejauÅ”i Ä£enerÄtiem identifikatoriem. TomÄr ieradums saglabÄjÄs, un tagad Ä«paÅ”vÄrdi nonÄk klasteros.
Tipisks stÄsts (pamatojoties uz patiesiem notikumiem): viss sÄkÄs ar koncepcijas pierÄdÄ«jumu, tÄpÄc klasterim bija lepns nosaukums testÄÅ”anaā¦ Ir pagÄjuÅ”i gadi, un to JOPROJÄM izmanto ražoÅ”anÄ, un visi baidÄs tam pieskarties.
Nav nekÄ patÄ«kama, ja klasteri pÄrvÄrÅ”as par mÄjdzÄ«vniekiem, tÄpÄc mÄs iesakÄm tos periodiski noÅemt, kamÄr trenÄjas. avÄrijas seku novÄrÅ”ana(tas palÄ«dzÄs haosa inženierija ā apm. tulk.). TurklÄt nenÄktu par ļaunu strÄdÄt pie kontroles slÄÅa (kontroles plakne). BaidÄ«ties viÅam pieskarties nav laba zÄ«me. utt miris? PuiÅ”i, jums tieÅ”Äm ir problÄmas!
No otras puses, jums nevajadzÄtu aizrauties ar manipulÄcijÄm ar to. Ar laiku kontroles slÄnis var kļūt lÄns. VisticamÄk, tas ir saistÄ«ts ar lielu objektu skaitu, kas tiek izveidoti bez to pagrieÅ”anas (izplatÄ«ta situÄcija, izmantojot Helm ar noklusÄjuma iestatÄ«jumiem, tÄpÄc tÄ stÄvoklis konfigurÄcijas kartÄs/noslÄpumos netiek atjauninÄts - rezultÄtÄ uzkrÄjas tÅ«kstoÅ”iem objektu vadÄ«bas slÄnis) vai ar pastÄvÄ«gu kube-api objektu rediÄ£ÄÅ”anu (automÄtiskai mÄrogoÅ”anai, CI/CD, uzraudzÄ«bai, notikumu žurnÄliem, kontrolleriem utt.).
TurklÄt mÄs iesakÄm pÄrbaudÄ«t SLA/SLO lÄ«gumus ar pÄrvaldÄ«to Kubernetes pakalpojumu sniedzÄju un pievÄrst uzmanÄ«bu garantijÄm. PÄrdevÄjs var garantÄt kontroles slÄÅa pieejamÄ«bu (vai tÄ apakÅ”komponenti), bet ne p99 aizkave, kad tai nosÅ«tÄt pieprasÄ«jumus. Citiem vÄrdiem sakot, jÅ«s varat iekļūt kubectl get nodes, un saÅem atbildi tikai pÄc 10 minÅ«tÄm, un tas nebÅ«s pakalpojuma lÄ«guma noteikumu pÄrkÄpums.
11. Bonuss: jaunÄkÄ taga izmantoÅ”ana
Bet Ŕī jau ir klasika. PÄdÄjÄ laikÄ ar Å”o paÅÄmienu sastopamies retÄk, jo daudzi, mÄcÄ«juÅ”ies no rÅ«gtÄs pieredzes, ir pÄrtraukuÅ”i lietot birku :latest un sÄka piespraust versijas. UrrÄ!
Negaidiet, ka viss darbosies vienas nakts laikÄ: Kubernetes nav panaceja. Slikta lietotne tÄds paliks pat Kubernetes (un tas, iespÄjams, pasliktinÄsies). NeuzmanÄ«ba radÄ«s pÄrmÄrÄ«gu sarežģītÄ«bu, lÄnu un saspringtu kontroles slÄÅa darbu. TurklÄt jÅ«s riskÄjat palikt bez avÄrijas seku novÄrÅ”anas stratÄÄ£ijas. Negaidiet, ka Kubernetes nodroÅ”inÄs izolÄciju un augstu pieejamÄ«bu. Pavadiet kÄdu laiku, lai jÅ«su lietojumprogramma bÅ«tu patiesi mÄkonÄ«.
JÅ«s varat iepazÄ«ties ar dažÄdu komandu neveiksmÄ«go pieredzi Å”is stÄstu krÄjums autors Hennings Džeikobss.
Tie, kas vÄlas papildinÄt Å”ajÄ rakstÄ sniegto kļūdu sarakstu, var sazinÄties ar mums Twitter (@MarekBartik, @MstrsObserver).