Quam servare in nube gratuita operando cum Kubernetibus? Nulla una recta solutio est, sed hic articulus plura instrumenta describit quae iuvare possunt tuas facultates efficacius administrare et nubes computandi gratuita minuere.
Articulum hunc cum Kubernetes pro AWS in animo scripsi, sed eodem modo ad alias nubes aliquas (paene) prorsus applicabit. Im 'botrus posito (s) figuram iam autoscaling (botri-autoscaler). Opes removentes et instruere scalis tuis pecuniam tantum tibi servabunt si etiam classem nodis laborantis redigit (exstantiarum EC2).
Mauris sit amet lorem magna. Volumus tech institutionum accelerato. Velocius traditio programmata etiam plura PR instruere, praevius ambitus, prototypa, solutiones analyticas significat. Omnia in Kubernetes explicant. Quis tempus habet manually emundandi experimentum instruendi? Facile est experimentum octo annorum delendo oblivisci. Nubes rogationis erit terminus sursum ob aliquid, quod nos claudere oblitus est;
(Henning Jacobs;
Zhiza:
Corey Quinn:
FABULA: Tua AWS ratio est functio numerorum utentium tibi.
Re: Octoginta AWS tua functio est numeri fabrum quos habes.
Ivan Kurnosov (in responsione);
Verum hoc: Tuum AWS score munus est numerus rerum oblitus inactivandi / delere.)
Kubernetes Janitor (kube-janitor) botrum tuum mundare adiuvat. Configuratio ianitoris flexibilis est ad usum globalem et localem;
Regulae botrus latae maximum tempus vivere (TTL) pro PR/test instruere possunt.
Singulae facultates cum janitor/ttl notari possunt, exempli gratia ad clavum/prototypum post dies VII automatice removendum.
Regulae generales in tabula YAML definiuntur. Semita eius per parametri --rules-file in kube-janitor. Exemplar hic est regulae omnia nomina spatii removendi cum -pr- in nomine post biduum;
Hoc exemplum regulat usum pittacii applicationis in instruere et StatefulSet siliquas pro omnibus novis instruere/StatefulSets in 2020, sed simul permittit exsecutionem testium sine hoc pittacio per hebdomadam:
Currere tempus-limitatum demo pro XXX minutis in botro currens kube-janitor;
kubectl run nginx-demo --image=nginx
kubectl annotate deploy nginx-demo janitor/ttl=30m
Alius fons augendi gratuita continua volumina est (AWS EBS). StatefulSet Kubernetes delendo non pertinacia volumina delet (PVC - PersistentVolumeClaim). Insueta EBS volumina facile efficiunt in sumptibus centenariorum dollariorum per mensem. Ianitor Kubernetes plumam habet ad insuetam PVCs emundandam. Exempli gratia, haec regula tollet omnia PVCs quae modulo non ascenduntur et quae per StatefulSet vel CronJob non referuntur:
Ianitor Kubernetes adiuvare potest ut botrum tuum mundum custodias et ne nubes computandi sumptus ab lente struere possit. Pro instruere et configuratione instructiones, sequere README kube-janitor.
Redigendum scalis in non-operantes horas
Systema testium et choragiorum typice requiruntur ad operandum solum in horis negotiis. Aliquae applicationes productionis, ut instrumenta posteriora/admin instrumenta, solum paratas facultates exigunt et pernoctare possunt.
Kubernetes Downscaler (kube-downscaler) permittit utentes et operatores ut systema in horis non laborantibus conscendant. Instructiones et StatefulSets ad nullas replicas scandere possunt. CronJobs suspendi potest. Kubernetes Downscaler pro botro integro, uno vel pluribus spatiis nominalibus, vel singularibus facultatibus configuratur. Potes ponere vel Β« tempus otiosum Β» vel e contrario Β« tempus laboris Β». Exempli gratia: scalas reducere quam maxime per noctes et hebdomadas:
Aliquam lacinia purus hic ad scalas botrus operarius nodis in weekends:
Ascendentes descendentes a ~13 ad 4 nodos operariorum notabilem differentiam faciunt in libello tuo AWS.
Sed quid si opus est in botro "downtime" laborare? Instrumenta quaedam perpetuo arceri possunt ne scalas addendo descensori/excludas: veram annotationem. Instructiones ad tempus excludi possunt utentes downscaler/excludere-donec annotationem cum indicatione temporis absoluta in forma YYYY-MM-DD HH:MM (UTC). Si opus est, botrus integer rursus per folliculum explicando cum annotatione poterit downscaler/force-uptimeverbi gratia, deductis 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
Multae applicationes/officia dynamicae loading exemplaris tractant: moduli eorum interdum otiosi sunt, interdum ad plenam capacitatem operantur. Classem siliquam operantem permanentem obire maximum apicem oneris non frugi est. Kubernetes horizontalem auto- scalis trans subsidia sustinet HorizontalPodAutoscaler (HPA). CPU usus est saepe signum bonum ad scalas;
Zalando componentem creavit ut faciliorem consuetudinem metricae ad scalas coniungeret: Kube Metrics Adapter (kube-metrics-adaptor) genus metricae adaptans Kubernetes, qui consuetudini et metris externis ad horizontem siliquarum autoscalingum colligere et inservire potest. Sustinet scalas ex Prometheo metrice, SQS queues, et alios occasus. Exempli gratia, ad conscendendum instruere consuetudinem metricam ab ipsa applicatione ut JSON in usu metrica repraesentatam;
Configurans horizontalem autoscalationem cum HPA unus ex actionibus defaltis ad meliorem efficiendi officia pro state sine opera esse debet. Spotify praesentationem habet cum experientia et commendatione pro HPA: scandere opera tua, non pera.
Redigendum resource overbooking
In laboribus Kubernetes suas CPU/memoriam definiunt necessarias per "resources petitiones." Facultates CPU mensurantur in nucleis virtualibus vel communius in "millicores", exempli gratia 500m involvit 50 vCPU. Facultates memoriae in bytes mensurantur et suffixis communibus adhiberi possunt, ut 500Mi, quod est 500 megabytarum. Resource petitiones "clausae" facultatem in nodi laborantis, quod petierunt 1000m CPU vasculum in nodo cum 4 vCPUs, solum 3 vCPUs aliis leguminis praesto relinquet. [1]
Remissa (excessus subsidiis) differentia est inter opes rogatas et usum. Exempli gratia, vasculum quod petit 2 GiB memoriae, sed tantum utitur 200 MiB ~1,8 GiB memoriae "excessus". Excessus pecuniae constat. Dure aestimari potest quod 1 GiB memoriae redundantis constat ~$10 per mensem. [2]
Kubernetes Resource Report (kube-resource-fama) excessus subsidia prae se fert et auxilium te potest determinare peculi potentia:
Kubernetes Resource Report ostendit excessum aggregatum per applicationem et mandatum. Hoc te permittit invenire loca ubi subsidia exigentia reduci possunt. Generatum HTML relationem tantum praebet snapshot usus resource usus. Inspicere debes CPU/memoriam consuetudinem supra tempus determinare postulationes sufficiens subsidiorum. Hic est Grafana chartula pro servitio "typico" CPU-gravis: siliquae omnes minus significanter quam 3 nuclei CPU rogatae sunt:
Reducendo CPU petitionem ab 3000m ad 400m~ liberat facultates pro aliis laboribus et botrum minorem esse permittit.
"Mediocris CPU usus instantiarum EC2 saepe versatur in unius digiti percentage range" scribit Corey Quinn. Dum EC2 * magnitudinem aestimare male sit iudiciumKubernetes nonnullae ope- riae quaesitae in YAML fasciculi mutantur, facile et ingentia compendia afferre possunt.
Sed vere volumusne homines mutatos valores in YAML imagini esse? Non, machinae multo melius! Kubernetes Vertical Pod Autoscaler (VPA) hoc modo facit: subsidia petitiones et angustiae aptat secundum quod inposuit. Exemplar hic est graphi Promethei CPU petitionum (linea tenuis caerulea) ab VPA super tempus accommodata:
Goldilocks ex Fairwind instrumentum est quod VPA creat ad singulas instruere in spatio nominali ac deinde commendationem VPA ostendit in ashboardday. Potest auxilium tincidunt pone rectae CPU/memoriae petitiones ad earum applicationes:
Postrema, sed non minima, AWS EC2 costs reduci possunt utendo loco instantiarum sicut nodi Kubernetes operarii [3]. Macula instantiae praesto sunt ad discount usque ad 90% comparata cum pretiis In-Demand. Currens Kubernetes in EC2 Macula bona coniunctio est: pluribus diversis exempli generibus ad promptitudinem altioris specificare debes, maiorem nodi pro eodem vel minore pretio acquirere potes, et capacitas aucta a continentibus in laboribus Kubernetes adhiberi potest.
Quomodo currere Kubernetes in EC2 Spot? Plures optiones sunt: ββtertia pars servitutis utere sicut SpotInst (nunc "Macula" dicitur, noli a me quaerere quare), vel Macula AutoScalingGroup (ASG) ad botrum tuum adde. Exempli gratia, hic PRAECISIO CloudFormation pro "capacitate-optimized" Macula ASG cum multis instantia speciebus:
Quae sunt optimae exercitationes ad nubem salvificam in Kubernetes impensae? Quaeso sciam at Twitter (@try_except_).
[1] Re vera, minus quam 3 vCPUs utilis remanebit sicut perputium nodi redactum est per facultates systematis reservatas. Kubernetes distinguit inter facultates nodi physicas et "provisas" facultates (Node Allocatable).
[2] Calculus exempli gratia: una m5.large exempli gratia cum 8 GiB memoriae est ~$84 ββper mensem (eu-central-1, On-Demand), i.e. nodi interclusio 1/8 circiter ~$10/mense est.
[3] Plures modi sunt ad libellum tuum EC2 reducendum, ut Instantiae Reservationes, Savings Plan, etc. - Argumenta illa hic non obtegam, sed certo inspicias!