Post Mortem in Quay.io unavailability

Nota. transl.In primo Augusto, Red Hat publice locutus est de accessibilitate solvenda problemata, quae utentes servitii eius in superioribus mensibus obvenerant Quay.io (substructio in registro pro imaginibus continens, quas societas recepta est cum emptione CoreOS). Negotium tuum neglegens in hoc ministerio ut sic, iter quod fabrum societatis SRE diagnoscere ac removere causas accidentis accepit est instructiva.

Post Mortem in Quay.io unavailability

Die 19 mensis Maii primo mane (Tempus diei Orientalis, EDT), ingruat ministerium quay. Accidens tam quay.io consumerent et inceptis patefactis utentes quay.io quasi suggestum aedificandi et distribuendi utentes. Red Hat utriusque fidem aestimat.

Manipulus fabrum SRE statim implicatus est et operas Quai quam primum stabilire conatus est. Tamen, cum hoc agerent, clientes facultatem novas imaginum dis amiserunt, et solum interdum existentias trahere poterant. Aliqua causa ignota, quay.io datorum impedita est postquam servitutem ad plenam facultatem pervenerunt.

«Quod mutata?» — Haec prima quaestio est, quae in talibus solet quaeri. Animadvertimus paulo ante exitum, botrum Dedicatum OpenShift (qui quay.io currit) adaequationem versionis 4.3.19 incepit. Cum quay.io in rubrum Hat OpenShift dedicavit (OSD), updates regulares exercitationes fuerunt et difficultates numquam effecit. Praeterea per sex menses superiores racemos Quaiiam pluries sine ulla interpellatione muneris upgraded.

Dum operam restituere conamur, alii fabrum novum OSD glomum cum programmatis versione priore parabant, ita ut, si quid accidisset, omnia in ea explicare possent.

Radix Causa Analysis

Praecipuum defectionis indicium fuit avalanche decem milia nexuum datorum, quae exemplum MySQL inexpeditum efficaciter reddebant. Hoc difficilem quaestionem egritudo fecit. Terminum constituimus in maximo numero hospitum clientium ad auxilium SRE team exitus aestimandi. Negotium insolitum in datorum notavimus: nam plurimae petitiones lectae sunt, et pauci scripti sunt.

Nos quoque exemplar cognoscere conati sumus in negotiatione datorum quae hanc NIVIS CAERE POSSIT. Quamquam exemplaria in lignis reperire non potuimus. Dum novum botrum exspectantes cum OSD 4.3.18 paratos esse, perreximus siliquam quay.io mittere conamur. Quotiens botrus ad plenam facultatem pervenit, datorum congelatur. Hoc significabat RDS instantia praeter omnes quay.io siliquas ut silere oportuit.

Vespere ministerium in lectione tantum modo stabilivimus et debilitavimus tot functiones non essentiales quam maxime (exempli gratia collectionis spatiorum purgamentorum) ad redigendum onus datorum. Gelaverit constiterunt sed causa numquam. Novus OSD botrus paratus erat et nos ministerium commigravimus, commercii coniuncti et vigilantia continua.

Quay.io in botro novo OSD stabiliter laboravit, ergo ad tigna datorum reversi sumus, sed correlationem invenire non potuimus quae impedimenta explicare posset. fabrum OpenShift laboraverunt nobiscum ut intelligamus num mutationes in Rubrum Hat OpenShift 4.3.19 difficultates cum Quai facere possent. Sed nihil compertum est Quaestionem in officinarum condicionibus effingere non potuit.

Secundo defectum

Die 28 Maii paulo ante meridiem EST, quay.io iterum eodem signo ingruebat: database obstructum est. Et rursus omnes conatus nostros in inquisitionem iniecimus. Imprimis opus erat ad ministerium restituendum. tamen hoc tempore rebooting RDS et restarting quay.io siliquae nihilalius NIVIS hospites obruit. Sed quid?

Quai in Pythone et vasculum unumquemque vasculum monolithicum operatur. Continens runtime decurrit multa opera parallela eodem tempore. Utimur bibliotheca gevent sub gunicorn ad processum petitiones textus. Cum petitio in Quay venit (via nostra API vel per API Docker), adiutori geventi assignatur. Typice hic operarius cum datorum contactu debet. Post primum defectum, innotuimus mercennarios operarios connexos cum usura default occasus datorum.

Dato notabili numero Quai siliquae ac mille petitionum ineuntes secundo, magnus numerus nexuum datorum theoretice obruere MySQL instantia potuit. Gratias ad vigilantiam, cognitum est Quay in medium processisse 5 milia petitionum secundorum. Numerus nexuum cum datorum fere idem erat. 5 milia nexus bene erant intra facultatem RDS nostrae instantiae (quod dici non potest de decem milibus). Horum autem in numero coniunctionum erant inopinatae clavinullam tamen relationem cum petitionibus advenientibus notavimus.

Hoc tempore decretum est invenire et tollere fontem problema, nec nos reboot circumscribere. Ad Quai codebase mutationes factae sunt ad circumscribendum numerum necessitudinum datorum pro singulis operariis gevent. Hic numerus modulus in configuratione factus est: fieri potuit ut illum in muscam mutaret quin novam imaginem continens. Ut invenias quot nexus realitate tractari possent, plures probationes in curriculo activitatis cucurrimus, varia bona ad videndum quomodo hoc onere missionum probationis afficiat. Quam ob rem compertum est Quai incipit iacere DII errores, cum numerus coniunctionum 502 milium excedit.

Statim hanc novam versionem ad productionem explicuimus et vigilantiam schedulae nexus datorum incepimus. In praeterito, basis clausa est post circiter XX minuta. Post 20 minutas angustias spem habuimus et hora post fiduciam habuimus. Nos ad situm negotiationis restituimus et postmortem analysim incepimus.

Curo praeterire problema interclusio; non adinvenit rationes ejus reales. Confirmatum est ad nullas mutationes in OpenShift 4.3.19 referri, cum idem factum sit in versione 4.3.18, quod antea cum Quay sine ullis quaestionibus laboravit.

Apparebat aliud latens in botro.

Detailed Study

Quay.io usus est occasus default iungendi datorum per sex annos sine ullis quaestionibus. Quid mutatum? Patet omne hoc tempus negotiatio in quay.io constanter crescere. In casu nostro, videbatur quasi valorem limen aliquod perventum esset, quod felis NIVIS iungebat. Perreximus ad tabulas databases post secundam defectum, sed nulla exemplaria vel relationes manifestas invenimus.

Interea turma SRE in melioramentis ad petitionem Quai observabilitatem et altiore servitio sanitatis laboravit. Nova metrics et dashboards instructa suntostendens quae partes Quai maxime a clientibus exigant.

Quay.io bene laboravit usque ad diem 9 Iunii. Hoc mane (EDT) iterum notabile incrementum in numero nexuum datorum vidimus. Hoc tempore nihil downtimecum novus modulus numerum suum finiret nec eos MySQL throughput excedere permitteret. Tamen, circiter media hora, multi utentes notaverunt tarditatem observantiam quay.io. Cito omnia notitia possibilium collegimus utentes instrumenta vigilantia addita. Repente exemplum prodiit.

Sub aestu in coniunctionibus, numerus rogationum in App Registry API . factae sunt. App Subcriptio est parva notae notae quay.io. Dat tibi ut chartulas Helm conderet res et vasa cum metadata pingui. Plurimi utentes quay.io hoc pluma opus non faciunt, sed Rubrum Hat OpenShift active utitur. OperatorHub ut pars OpenShift reponit omnes operatores in App Subcriptio. Hi operatores nitantur in quod inposuit ecosystem et particeps-centricae operationis exemplar (die 2 operationibus) OpenShift.

Singulis OpenShift 4 botrus utitur operariis ab aedificato in OperatorHub ut catalogum operariorum praesto ad institutionem evulget et updates praebeat iis iam inauguratis. Crescente populari OpenShift 4, numerus botri in eo circa mundum auctus est. Singulae ex his racemis downloads operanti contenti sunt ut constructum-in OperatorHub currere, utens App Registry intra quay.io ut tergum. In quaerendo fontem problema, eo quod sicut OpenShift sensim in favorem crevit, onus in una munerum quay.io raro adhibita etiam aucta est..

Nonnulla analysin App Registry postulationis negotiationis fecimus et inviso in registro codicem cepimus. Confestim delicta manifesta sunt, ex quibus quaestionibus datorum optime formatae sunt. Cum erat onus ignobile, nihil negotii causabant, sed augente onere, problematum causa factae sunt. App Subcriptio evasit duos terminos problematicos habere qui bene ad augendum onus non responderent: prima indicem omnium fasciculorum in repositorio praebebat, secundus omnes flores ad sarcinam reddidit.

Eliminanda causas

Proximo hebdomade codicem ipsum App Subcriptio eiusque ambitum optimizing consumpsimus. Scilicet inefficaces SQL queries sunt retractavit ac superfluum mandatum vocat sunt eliminata tar currebatur (quoties blobs recepta est), caching addita ubicumque fieri potuit. Nos deinde magnas effectus probantes et celeritatem App Registri ante et post mutationes comparavimus.

API petitiones quae antea ad dimidium momentum acceperant nunc in milliseconds confectae sunt. Proxima septimana mutationes ad productionem explicavimus et postea quay.io stabiliter laboratum est. Hoc tempore multae spicae acutae in negotiatione in App Registry endpoint, sed emendationes factae outages database impediverunt.

Quid didicimus?

Patet quod aliqua religio nititur downtime vitare. In nostro casu credimus recentes outages adiuvisse quay.io melius facere. Paucas lectiones praecipuas didicimus quae communicare velimus;

  1. Data de qui tua opera utitur et quomodo numquam superfluum est?. Quia Quai "modo laboraverunt" numquam tempus terere optimizing commercii et onus administrandi habuimus. Haec omnia ficta securitas creata est, quod servitus indefinite scandere posset.
  2. Cum servitio descenderit; questus est sursum et currit summo prioritate.. Quia Quai in primo euitio database clausa laborare perseverant, normae nostrae modum intentum effectum non habebant et ministerium illis utentibus restituere non poteramus. Inde ad condicionem, ubi tempus expendendum erat examinare et colligendas notitias in spe inveniendi causam radicem - pro omnibus nisus versari in restauratione functionis.
  3. Aestimare impulsum cuiusque officii pluma. Clientes raro App Subcriptio usi sunt, ergo prioritas pro nostris quadrigis non fuit. Cum aliqua lineamenta producta vix utantur, cimices eorum raro apparent, et tincidunt magna in codice desinunt. Facile est in fallaciam praedari quod ita esse debet, donec repente munus in centrum maioris incidentiae reperiatur.

Quid deinde?

Labor est ut firmitas servitii numquam desistat et nos constanter in melius conservemus. Cum negotiationum volumina in quay.io crescere perseverent, agnoscimus nos responsalem habere omnia quae possumus vivere usque ad fiduciam clientium nostrorum. Nunc ergo in his operibus laboramus:

  1. Explica solum replicationes databases legere, ut adiuvent servitutem tractandam convenientem mercaturam in eventu problematum cum instantia primaria RDS.
  2. Adaequationis exempli RDS. Ipsa emendatione non problema. Immo simpliciter volumus falsa vestigia tollere (quam per defectum secuti sumus); Servans programmatum usque ad tempus alium factorem eventum rei futurae eliminabit.
  3. Additamentum caching per totum botrum. Areas quaerere pergimus ubi caching sarcinam datorum deminuere possunt.
  4. Additamentum telae firewall (WAF) ad videndum qui connectit cum quay.io et quare.
  5. Incipiens cum altera emissione, Botrus Red Hat OpenShift relinquet App Subcriptio in favorem Catalogi Operatoris fundatur in imaginibus continens imagines in quay.io praesto.
  6. Diu terminus repositum pro App Subcriptio subsidium esse potuit pro Specificationibus artificiati Open Continens Initiativus (OCI). Praesens inducitur ut indigena Quai functionality et usoribus praesto erit cum ipsa specificatio perficiatur.

Omnes superiores partes Red Hat permanentis obsidionis in quay.io sunt, sicut ex parva "startup-style" iugali movemur ad suggestum maturam SRE agitatae. Scimus multos clientium nostrorum in opere cotidiano (including Red Hat!) perlucidos quam fieri posse de recentibus outages et nisu permanenti emendandi.

PS ab translator

Lege etiam in nostro diario:

Source: www.habr.com

Add a comment