Creando kubernetes tribunal Pinterest

Per annos Pinterest CCC miliones utentium plus quam CC miliarda paxillos plus quam quattuor miliarda tabularum creaverunt. Ad serviendum huic exercitui usorum et ingentes contenti basis, portae milia officiorum elaboravit, e micromissionibus quae a paucis CPUs tractari possunt, ad monolithos gigantes qui in tota classe virtualium machinis currunt. Et tunc momentum venit cum intuitus societatis cecidit in k300s. Cur "cubus" bonum in Pinterest quaesivit? De hoc cognosces ex translatione nostra articuli recentis e blog Pinterest ingeneering.

Creando kubernetes tribunal Pinterest

Ita centeni miliones utentium et centeni miliarda fibularum sunt. Ad serviendum huic exercitui utentium et ingentes contenti basis, mille operas elaboravimus, e micro serviciis quae a paucis CPUs tractari possunt, ad monolithos gigantes qui in integris classibus virtualium machinis currunt. Praeterea variae compages habemus quae CPU, memoriam vel accessum I/O requirere possunt.

In hoc instrumentorum saepti conservando, turma evolutionis complures provocationes subit:

  • Non est uniformis modus fabrum ad currendum ad productionem elit. Officia sine stata, officia publica et incepta sub activa evolutione fundata sunt in acervis technologiarum omnino diversis. Inde ad integram institutionem instituendam ad fabrum curriculum, ac etiam opus infrastructurae quadrigae nostrae serio implicat.
  • Tincidunt cum sua classe machinis virtualis ingens onus administratorum internorum creant. Quam ob rem, tales operationes simplices adaequationis OS vel AMI hebdomades et menses capiunt. Hoc inposuit ut augeretur quod iniquum videtur absolute in communibus adiunctis.
  • Difficultates in global infrastructurae instrumentorum administratione creando super solutiones existentium. Rerum condicio magis implicata est eo quod possessores machinis virtualis inventis non facile est. Hoc est, nescimus an haec capacitas tuto extrahi possit ad operandum infrastructurae nostrae in aliis partibus.

Systemata orchestrationis continentis modus est ad quod inposuit procuratio augendi. Ostium aperiunt ad augendam evolutionem celeritatem et infrastructuram administrationis simpliciores, cum omnes facultates quae in project mittuntur ab uno systemate centrali curantur.

Creando kubernetes tribunal Pinterest

Figure 1: Infrastructure prioritates (rebilitas, elit productivity, et efficientia).

Cloud Management Rostra quadrigis apud Pinterest repertum K8s in 2017 . A prima parte anni 2017 maxime documenta habuimus facultatum productionis nostrae, incluso API et omnibus servientibus interreti nostrae. Postea variarum systematum orchestrandi continentis solutiones accuratam aestimationem fecimus, corymbis construendis et cum eis operando. Sub finem MMXVII, Kubernetes uti decrevimus. Erat admodum flexibile et late sustentatum in communitate viae.

Ad modernum, instrumenta nostra botri fabricavimus ex Kops et migravimus infrastructuras componentium existentium ut retiaculum, securitatem, metricam, colligationem, administrationem identitatis, ac mercaturam in Kubernetes. Etiam inposuit inposuit ratio exemplaris pro subsidio nostro, cuius multiplicitas ab enucleandis occultatur. Nunc ad stabilitatem botri destinati sumus, eum scandentes ac novos clientes conectimus.

Kubernetes: Via Pinterest

Incipere cum Kubernetes in scala Pinterest tamquam suggestum quod fabrum nostrum amaret cum multa provocatione venerat.

Cum magna societas, instrumenta infrastructura graviter collocavimus. Exempla complectitur instrumenta securitatis quae tractant libellum processus et distributio clavis, partes negotiationis imperium, systemata inventionis servitus, visibilitas componentes, et stipes et metri mittendi partes. Haec omnia ratione collecta sunt: ​​per normalem viam iudicii et erroris perreximus, et ideo totum hunc apparatum in novum infrastructuram in Kubernetes integrare voluimus, loco veterem rotam in novo suggestu reinveniendi. Hic aditus altiore simplicior migrationem facit, quia omne applicationis subsidium iam exstat et non indiget a scabro creari.

E contra, onus praenuntians exempla in ipsa Kubernetes (ut instruere, jobs et Daemon ponit) non satis sunt ad propositum nostrum. Hae quaestiones usabilitatis sunt ingentes claustra ad Kubernetes movendos. Exempli gratia, audivimus servitium tincidunt queri de occasus login absentis vel falsa. Nos quoque falso usu machinarum templaterum invenimus, cum centeni exemplarium eadem specie ac munere creati sunt, quae in somnis debugging problems pervenerunt.

Etiam valde difficile erat varias versiones in eodem botro ponere. Finge multiplicitatem ministrorum ministrorum si simul laborare debes in multiplicibus eiusdem curriculi versionibus, cum omnibus eorum quaestionibus, cimices et updates.

Pinterest User Properties et Controllers

Quo facilius fabrum nostrum ad Kubernetes efficiendum, et ad substructionem nostram simpliciorem ac accelerandam, nostra consuetudine definitionum subsidiorum elaboravimus (CRDs).

CRDS praebent sequenti functionality:

  1. Kubernetes indigenae diversae coniungentes facultates ita operantur ut unum quod inposuit. Exempli gratia, subsidia Pinterest Service comprehendit instruere, login ministerium et tabulam configurationis. Hoc permittit tincidunt ne solliciti sint de constituendo DNS.
  2. Exsequendam applicationem necessariam sustentationem. Usor in involucro specificationem tantum intendere debet secundum suum negotium logicum, dum CRD moderatoris instrumenta necessaria omnia continentia, ambitus variabiles et vasorum specificationes. Hoc in fundamentali gradu diversos consolationis tincidunt praebet.
  3. CRD moderatoris etiam vitam cycli de opibus indigenis administrant et debug emendare disponibilitate possunt. Hoc includit optata et actualia conciliandi specificationes, statum CRD adaequationis et acta conservanda, et plura. Sine CRD, tincidunt cogerentur plures opes administrare, quae tantum erroris verisimilitudinem augerent.

Hic est exemplum servitii Pinterest et interni subsidii quae a moderatore nostro curatur:

Creando kubernetes tribunal Pinterest

Ut supra videre potes, ad consuetudinem continentis sustinendam necesse est ut initum continens et plures additiones addendi securitatem, visibilitatem et retis mercaturam praebeant. Praeterea figuram tabularum figurarum creavimus et subsidium PVC templates batch pro instrumentis conficiendo creavimus, necnon variarum variabilium ambitus vestigia identitatis, subsidiorum consumptionis, collectionis purgamentorum.

Difficile est fingere tincidunt velle has tabellas configurationes manu scribere sine CRD auxilio, nedum amplius conservare ac debug configurationes.

Applicationem deployment workflow

Creando kubernetes tribunal Pinterest

Imago supra ostendit quomodo resource consuetudinis Pinterest explicandae ad botrum Kubernetes:

  1. Tincidunt penitus cum nostris botris Kubernetes per interface CLI et usor.
  2. Instrumenta CLI/UI recipiunt configurationem imaginationis YAML lima et alia dotes fabricare (idem versionem ID) ab artificio fabricare et postea submittere servitii Iob Submissionis. Hic gradus efficit ut versiones productionis tantum botri tradantur.
  3. JSS porta varius vestibulum est, etiam Kubernetes. Hic utentis authenticitatis signo munitur, quotas editur et CRD nostri figura partim inhibetur.
  4. Postquam in parte JSS iniecta CRD, indicium API k8s suggestum mittitur.
  5. Nostra CRD moderatoris monitores eventus in omnibus usoris opum. CRs in indigenas facultates convertit, modulos necessarios addit, variabiles ambitus opportunitates praebet, aliaque subsidia opera facit ut usoris continentis applicationes sufficientes infrastructuram sustentationem habeant.
  6. Moderator CRD data recepta Kubernetes API tum transit ut ab schedula discursum et ad productionem deduci possit.

illud: Haec pre-dimissio laboris fluxum instruere creatum est ad primos utentes novi suggesti k8s. Nos nunc sumus in processu excolendi hunc processum ad plene integrandum cum novo CI/CD nostro. Hoc significat quod omnia ad Kubernetes pertinentia tibi dicere non possumus. Expectamus communicationem nostram experientiam et progressum bigae in hac parte in proximo posti diarii nostri, "Aedificare suggestum CI/CD pro Pinterest."

Species speciales facultates

Fundatis in peculiaribus Pinterest necessitatibus, sequentes CRDs enucleavimus ad diversorum operum fluxus congruentes:

  • Pinterest Servitium state sine opera quae diu cursus fuit. Multae nostrae nuclei systemata talium officiorum statuto nituntur.
  • PinterestJobSet exempla plenae cycli batch jobs. Commune missionis in Pinterest est quod multiplex jobs eadem continentia in parallelis, praeter alios processus similes currit.
  • PinterestCronJob late in conjunctione cum parvis oneribus periodicis. Hoc involucrum est operis indigenae cron cum Pinterest subsidiis machinationibus quae securitati, mercaturae, lignis et metricis responsalibus sunt.
  • PinterestDaemon daemonum infrastructuram includit. Haec familia crescere pergit dum plus subsidii nostris racemis addimus.
  • PinterestTrainingJob ad Tensorflow et Pytorch processum pertinet, aequato temporis spatio sustentationi ac omnibus aliis CRDs praebens. Cum Pinterest active utitur Tensorflow et aliis machinae systematis discendi, rationem habuimus circa illas singulas CRD aedificandi.

Etiam in PinterestStatefulSet laboramus, quod mox accommodabitur pro apothecarum notitia et aliis systematibus stativis.

Runtime firmamentum

Cum applicatio vasculi in Kubernetes decurrit, statim libellum accipit ut se cognoscat. Hoc certificatorium adhibetur ut ad repositiones secretas accedere vel cum aliis officiis per mTLS communicare possit. Interim Continens Init Configurator et Daemon omnia necessarias clientelas prius mittet quam applicationis continens continens. Cum omnia parata sunt, negotiatio sidecara et Daemon inscriptionem moduli scriptoris IP cum nostris Zookeeper ut clientes indicare possint, revelet. Haec omnia operabuntur quia moduli retis figuratus ante applicationem deductae sunt.

Haec exempla typica sunt runtime subsidii pro laboribus. Alia genera inceptorum paulum diversa subsidia requirere possunt, sed omnes in modum laterum podagrae, campi nodi vel machinae campanae virtualis Daemones omnes veniunt. Curamus ut haec omnia intra infrastructuram administrationis explicantur et per applicationes constantes, quae tandem significanter onus minuunt technicae operae et ministrorum subsidia.

Testis et QA

Finem-ad-finem testium fistularum super Kubernetes testium infrastructuram exsistentium aedificavimus. Hae probationes omnes ligaturae nostrae applicant. Nostra pipelinea per multas emendationes transiit antequam pars botri producti facta est.

Praeter systemata explorandi, systemata vigilantia et vigilantia habemus, quae continenter condicionem systematis componentium, subsidiorum consumptionem et alios magni ponderis indices monent, nos tantum notificantes cum interventus humanus necessarius est.

alterum

Inspeximus aliquas optiones ad facultates usitatas, ut accessus mutationis moderatoris et systematis template. Sed omnes veniunt cum provocationibus operationalibus significantes, sic iter CRD elegimus.

Mutabilis admissionis moderator usus ad latera, ambitus variabiles et alia subsidia runticorum introducenda adhibita est. Nihilominus varias difficultates obvertit, ut subsidia ligandi ac vivendi procuratio, ubi huiusmodi problemata non oriuntur in CRD.

Note: Systemata Formulae qualium chartulae Helm etiam late adhibentur applicationes cum similibus conformationibus. Attamen applicationes laboris nostri nimis diversae sunt ad programmata usus tractanda. Etiam in continua institutio multi errores erunt cum exemplis adhibitis.

Upcoming opus

Nunc de mixto onere per omnes ligaturas nostras agimus. Ad tales processus variarum generum et magnitudinum sustinendos, in sequentibus locis laboramus;

  • Collectio uvarum magnas applicationes per varias ligaturas pro scalabilitate et stabilitate distribuit.
  • Prospicere firmitatem botri, scalabilitas et visibilitas ad applicationem connectivity et SLAs creandi.
  • Facultates et quotas administrandi ut applicationes inter se non repugnant, et scala botri a parte nostra regitur.
  • Novum CI/CD suggestum ad applicationes in Kubernetes sustinendas et instruendas.

Source: www.habr.com

Add a comment