Ua hauj lwm hauv ib puag ncig ceev ceev yog qhov zoo. Peb xav tau cov koom haum tech nrawm. Kev xa cov software sai dua kuj txhais tau tias ntau dua PR kev xa tawm, saib ua ntej ib puag ncig, qauv qauv, thiab cov kev daws teeb meem analytics. Txhua yam yog xa mus rau Kubernetes. Leej twg muaj sijhawm los ntxuav cov kev sim ua kom tiav? Nws yog ib qho yooj yim kom tsis nco qab txog kev rho tawm ib lub lim tiam kev sim. Tus nqi huab yuav xaus nce vim qee yam peb tsis nco qab kaw:
(Henning Jacobs:
Tswv yim:
(quotes) Corey Quinn:
Myth: Koj tus account AWS yog qhov ua haujlwm ntawm tus lej ntawm cov neeg siv koj muaj.
Qhov tseeb: Koj qhov qhab nia AWS yog qhov ua haujlwm ntawm tus lej ntawm cov engineers koj muaj.
Ivan Kurnosov (nyob rau hauv teb):
Qhov tseeb tiag: Koj qhov qhab nia AWS yog qhov ua haujlwm ntawm cov khoom uas koj tsis nco qab ua haujlwm / rho tawm.)
Kubernetes Janitor (kube-janitor) pab ntxuav koj pawg. Tus neeg saib xyuas kev teeb tsa yog hloov tau rau kev siv thoob ntiaj teb thiab hauv zos:
Cov kev cai thoob plaws pawg tuaj yeem txhais lub sijhawm ntev tshaj plaws-rau-nyob (TTL) rau PR / xeem xa tawm.
Cov peev txheej ntawm tus kheej tuaj yeem sau tseg nrog tus neeg saib xyuas / ttl, piv txwv li kom tshem tawm cov ntsia hlau loj / qauv tom qab 7 hnub.
Cov kev cai dav dav tau teev tseg hauv YAML cov ntaub ntawv. Nws txoj kev yog dhau los ntawm parameter --rules-file hauv kube-janitor. Ntawm no yog ib qho piv txwv txoj cai kom tshem tawm tag nrho cov namespaces nrog -pr- nyob rau hauv lub npe tom qab ob hnub:
Cov piv txwv hauv qab no tswj hwm kev siv daim ntawv thov daim ntawv lo rau ntawm Kev Tshaj Tawm thiab StatefulSet pods rau tag nrho cov kev xa tawm tshiab / StatefulSets hauv 2020, tab sis tib lub sijhawm tso cai rau kev ua tiav cov kev xeem yam tsis muaj daim ntawv lo rau ib lub lis piam:
Kubernetes Janitor tuaj yeem pab koj ua kom koj pawg huv si thiab tiv thaiv huab huab cov nqi los ntawm kev maj mam nce. Rau kev xa tawm thiab teeb tsa cov lus qhia, ua raws README kube-janitor.
Txo qhov ntsuas qhov ntsuas thaum tsis ua haujlwm
Kev sim thiab kev ua haujlwm feem ntau yuav tsum tau ua haujlwm tsuas yog thaum lub sijhawm ua haujlwm. Qee daim ntawv thov kev tsim khoom, xws li cov cuab yeej rov qab / chaw ua haujlwm, kuj tseem xav tau tsuas yog muaj tsawg thiab tej zaum yuav raug kaw thaum hmo ntuj.
Kubernetes Downscaler (kube-downscaler) tso cai rau cov neeg siv thiab cov neeg ua haujlwm kom ntsuas lub kaw lus thaum lub sijhawm tsis ua haujlwm. Deployments thiab StatefulSets tuaj yeem ntsuas rau xoom replicas. CronJobs tuaj yeem raug ncua. Kubernetes Downscaler tau teeb tsa rau tag nrho pawg, ib lossis ntau lub npe, lossis cov peev txheej ntawm tus kheej. Koj tuaj yeem teem sijhawm "tsis ua haujlwm" lossis, hloov pauv, "lub sijhawm ua haujlwm". Piv txwv li, txhawm rau txo qhov ntsuas kom ntau li ntau tau thaum hmo ntuj thiab hnub so:
Ntawm no yog ib daim duab rau scaling pawg neeg ua hauj lwm nodes nyob rau hnub so:
Scaling nqis los ntawm ~ 13 mus rau 4 tus neeg ua haujlwm nodes yeej ua rau pom qhov txawv ntawm koj daim nqi AWS.
Tab sis yuav ua li cas yog tias kuv yuav tsum tau ua hauj lwm thaum lub sij hawm pawg "downtime"? Qee qhov kev xa tawm tuaj yeem raug tshem tawm mus tas li los ntawm kev ntsuas los ntawm kev ntxiv cov downscaler/exclude: tseeb annotation. Kev xa tawm tuaj yeem raug cais tawm ib ntus uas siv tus nqi qis / cais tawm-kom txog thaum cov lus piav qhia nrog lub sijhawm ua tiav hauv hom YYYY-MM-DD HH: MM (UTC). Yog tias tsim nyog, tag nrho pawg tuaj yeem ntsuas rov qab los ntawm kev xa cov pod nrog cov lus piav qhia downscaler/force-uptime, piv txwv li, los ntawm launching nginx blank:
kubectl run scale-up --image=nginx
kubectl annotate deploy scale-up janitor/ttl=1h # ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ°Ρ
kubectl annotate pod $(kubectl get pod -l run=scale-up -o jsonpath="{.items[0].metadata.name}") downscaler/force-uptime=true