Pinterestలో kubernetes ప్లాట్‌ఫారమ్‌ను సృష్టిస్తోంది

సంవత్సరాలుగా, Pinterest యొక్క 300 మిలియన్ల వినియోగదారులు 200 బిలియన్ల కంటే ఎక్కువ బోర్డులపై 4 బిలియన్ల కంటే ఎక్కువ పిన్‌లను సృష్టించారు. వినియోగదారుల యొక్క ఈ సైన్యం మరియు విస్తారమైన కంటెంట్ బేస్‌కు సేవ చేయడానికి, పోర్టల్ కొన్ని CPUల ద్వారా నిర్వహించగలిగే మైక్రోసర్వీస్‌ల నుండి, మొత్తం వర్చువల్ మెషీన్‌లలో పనిచేసే జెయింట్ మోనోలిత్‌ల వరకు వేలాది సేవలను అభివృద్ధి చేసింది. మరియు కంపెనీ చూపులు k8s పై పడిన క్షణం వచ్చింది. Pinterestలో "క్యూబ్" ఎందుకు బాగా కనిపించింది? నుండి మీరు ఇటీవలి కథనం యొక్క మా అనువాదం నుండి దీని గురించి నేర్చుకుంటారు బ్లాగ్ Pinterest ఇంజనీరింగ్.

Pinterestలో kubernetes ప్లాట్‌ఫారమ్‌ను సృష్టిస్తోంది

కాబట్టి, వందల మిలియన్ల వినియోగదారులు మరియు వందల బిలియన్ల పిన్‌లు. ఈ వినియోగదారుల సైన్యానికి మరియు విస్తారమైన కంటెంట్ బేస్‌కు సేవ చేయడానికి, మేము కొన్ని CPUల ద్వారా నిర్వహించగలిగే మైక్రోసర్వీస్‌ల నుండి, మొత్తం వర్చువల్ మెషీన్‌లలో పనిచేసే జెయింట్ మోనోలిత్‌ల వరకు వేలాది సేవలను అభివృద్ధి చేసాము. అదనంగా, మేము CPU, మెమరీ లేదా I/O యాక్సెస్ అవసరమయ్యే అనేక రకాల ఫ్రేమ్‌వర్క్‌లను కలిగి ఉన్నాము.

ఈ సాధనాల జంతుప్రదర్శనశాలను నిర్వహించడంలో, అభివృద్ధి బృందం అనేక సవాళ్లను ఎదుర్కొంటుంది:

  • ఉత్పత్తి వాతావరణాన్ని అమలు చేయడానికి ఇంజనీర్లకు ఏకరీతి మార్గం లేదు. స్టేట్‌లెస్ సేవలు, స్టేట్‌ఫుల్ సేవలు మరియు యాక్టివ్ డెవలప్‌మెంట్‌లో ఉన్న ప్రాజెక్ట్‌లు పూర్తిగా భిన్నమైన టెక్నాలజీ స్టాక్‌లపై ఆధారపడి ఉంటాయి. ఇది ఇంజనీర్ల కోసం మొత్తం శిక్షణా కోర్సును రూపొందించడానికి దారితీసింది మరియు మా మౌలిక సదుపాయాల బృందం యొక్క పనిని కూడా తీవ్రంగా క్లిష్టతరం చేస్తుంది.
  • వారి స్వంత వర్చువల్ మెషీన్‌లతో డెవలపర్‌లు అంతర్గత నిర్వాహకులపై భారీ భారాన్ని సృష్టిస్తారు. ఫలితంగా, OS లేదా AMIని నవీకరించడం వంటి సాధారణ కార్యకలాపాలకు వారాలు మరియు నెలలు పడుతుంది. ఇది అకారణంగా రోజువారీ పరిస్థితులలో పెరిగిన పనిభారానికి దారితీస్తుంది.
  • ఇప్పటికే ఉన్న పరిష్కారాల పైన గ్లోబల్ ఇన్‌ఫ్రాస్ట్రక్చర్ మేనేజ్‌మెంట్ సాధనాలను రూపొందించడంలో ఇబ్బందులు. వర్చువల్ మిషన్ల యజమానులను కనుగొనడం అంత సులభం కాదు అనే వాస్తవం ద్వారా పరిస్థితి మరింత క్లిష్టంగా ఉంటుంది. అంటే, మా మౌలిక సదుపాయాలలోని ఇతర భాగాలలో పనిచేయడానికి ఈ సామర్థ్యాన్ని సురక్షితంగా సంగ్రహించవచ్చో లేదో మాకు తెలియదు.

కంటైనర్ ఆర్కెస్ట్రేషన్ సిస్టమ్‌లు పనిభార నిర్వహణను ఏకీకృతం చేయడానికి ఒక మార్గం. ప్రాజెక్ట్‌లో ఉన్న అన్ని వనరులు ఒక కేంద్రీకృత వ్యవస్థ ద్వారా నిర్వహించబడుతున్నందున, అవి అభివృద్ధి వేగాన్ని పెంచడానికి మరియు మౌలిక సదుపాయాల నిర్వహణను సులభతరం చేయడానికి తలుపులు తెరుస్తాయి.

Pinterestలో kubernetes ప్లాట్‌ఫారమ్‌ను సృష్టిస్తోంది

మూర్తి 1: మౌలిక సదుపాయాల ప్రాధాన్యతలు (విశ్వసనీయత, డెవలపర్ ఉత్పాదకత మరియు సామర్థ్యం).

Pinterestలోని క్లౌడ్ మేనేజ్‌మెంట్ ప్లాట్‌ఫారమ్ బృందం 8లో K2017లను కనుగొంది. 2017 మొదటి సగం నాటికి, మేము API మరియు మా అన్ని వెబ్ సర్వర్‌లతో సహా మా ఉత్పత్తి సామర్థ్యాలను చాలా వరకు డాక్యుమెంట్ చేసాము. తరువాత, మేము కంటైనర్ సొల్యూషన్‌లను ఆర్కెస్ట్రేట్ చేయడానికి, క్లస్టర్‌లను నిర్మించడానికి మరియు వాటితో పని చేయడానికి వివిధ సిస్టమ్‌లను సమగ్రంగా అంచనా వేసాము. 2017 చివరి నాటికి, మేము కుబెర్నెట్స్‌ని ఉపయోగించాలని నిర్ణయించుకున్నాము. ఇది చాలా సరళమైనది మరియు డెవలపర్ సంఘంలో విస్తృతంగా మద్దతు ఇస్తుంది.

ఈ రోజు వరకు, మేము Kops ఆధారంగా మా స్వంత క్లస్టర్ బూట్ సాధనాలను రూపొందించాము మరియు నెట్‌వర్కింగ్, భద్రత, కొలమానాలు, లాగింగ్, గుర్తింపు నిర్వహణ మరియు ట్రాఫిక్ వంటి ఇప్పటికే ఉన్న ఇన్‌ఫ్రాస్ట్రక్చర్ భాగాలను Kubernetesకి తరలించాము. మేము మా వనరు కోసం వర్క్‌లోడ్ మోడలింగ్ సిస్టమ్‌ను కూడా అమలు చేసాము, దీని సంక్లిష్టత డెవలపర్‌ల నుండి దాచబడింది. ఇప్పుడు మేము క్లస్టర్ యొక్క స్థిరత్వాన్ని నిర్ధారించడం, దానిని స్కేలింగ్ చేయడం మరియు కొత్త క్లయింట్‌లను కనెక్ట్ చేయడంపై దృష్టి సారించాము.

కుబెర్నెటెస్: ది Pinterest వే

మా ఇంజనీర్లు ఇష్టపడే ప్లాట్‌ఫారమ్‌గా Pinterest స్థాయిలో కుబెర్నెట్స్‌తో ప్రారంభించడం చాలా సవాళ్లతో కూడుకున్నది.

పెద్ద కంపెనీగా, ఇన్‌ఫ్రాస్ట్రక్చర్ టూల్స్‌లో మేము భారీగా పెట్టుబడి పెట్టాము. ఉదాహరణలలో సర్టిఫికేట్ ప్రాసెసింగ్ మరియు కీ పంపిణీ, ట్రాఫిక్ నియంత్రణ భాగాలు, సర్వీస్ డిస్కవరీ సిస్టమ్‌లు, విజిబిలిటీ భాగాలు మరియు లాగ్ మరియు మెట్రిక్స్ డిస్పాచ్ కాంపోనెంట్‌లను నిర్వహించే భద్రతా సాధనాలు ఉన్నాయి. ఇదంతా ఒక కారణం కోసం సేకరించబడింది: మేము ట్రయల్ మరియు ఎర్రర్ యొక్క సాధారణ మార్గం గుండా వెళ్ళాము మరియు అందువల్ల మేము పాత చక్రాన్ని కొత్త ప్లాట్‌ఫారమ్‌లో తిరిగి ఆవిష్కరించే బదులు కుబెర్నెట్స్‌లోని కొత్త మౌలిక సదుపాయాలలో ఈ పరికరాలన్నింటినీ ఏకీకృతం చేయాలనుకుంటున్నాము. ఈ విధానం మొత్తంగా మైగ్రేషన్‌ను సులభతరం చేసింది, ఎందుకంటే అన్ని అప్లికేషన్ మద్దతు ఇప్పటికే ఉంది మరియు మొదటి నుండి సృష్టించాల్సిన అవసరం లేదు.

మరోవైపు, కుబెర్నెట్స్‌లోని లోడ్ ఫోర్‌కాస్టింగ్ మోడల్‌లు (డిప్లాయ్‌మెంట్‌లు, జాబ్‌లు మరియు డెమోన్ సెట్‌లు వంటివి) మా ప్రాజెక్ట్ కోసం సరిపోవు. ఈ వినియోగ సమస్యలు కుబెర్నెట్‌లకు వెళ్లడానికి భారీ అడ్డంకులు. ఉదాహరణకు, సర్వీస్ డెవలపర్లు తప్పిపోయిన లేదా తప్పు లాగిన్ సెట్టింగ్‌ల గురించి ఫిర్యాదు చేయడం మేము విన్నాము. మేము టెంప్లేట్ ఇంజిన్‌ల యొక్క తప్పు వినియోగాన్ని కూడా ఎదుర్కొన్నాము, అదే వివరణ మరియు టాస్క్‌తో వందల కొద్దీ కాపీలు సృష్టించబడినప్పుడు, దీని ఫలితంగా పీడకల డీబగ్గింగ్ సమస్యలు ఏర్పడతాయి.

ఒకే క్లస్టర్‌లో విభిన్న వెర్షన్‌లను నిర్వహించడం కూడా చాలా కష్టం. మీరు వారి అన్ని సమస్యలు, బగ్‌లు మరియు అప్‌డేట్‌లతో ఒకే రన్‌టైమ్ ఎన్విరాన్‌మెంట్ యొక్క బహుళ వెర్షన్‌లలో ఏకకాలంలో పని చేయవలసి వస్తే కస్టమర్ మద్దతు యొక్క సంక్లిష్టతను ఊహించండి.

Pinterest వినియోగదారు లక్షణాలు మరియు కంట్రోలర్లు

మా ఇంజనీర్లు కుబెర్నెట్‌లను అమలు చేయడం సులభతరం చేయడానికి మరియు మా మౌలిక సదుపాయాలను సరళీకృతం చేయడానికి మరియు వేగవంతం చేయడానికి, మేము మా స్వంత అనుకూల వనరుల నిర్వచనాలను (CRDలు) అభివృద్ధి చేసాము.

CRDలు క్రింది కార్యాచరణను అందిస్తాయి:

  1. వివిధ స్థానిక కుబెర్నెట్స్ వనరులను కలపడం వలన అవి ఒకే పనిభారం వలె పని చేస్తాయి. ఉదాహరణకు, PinterestService రిసోర్స్‌లో విస్తరణ, లాగిన్ సేవ మరియు కాన్ఫిగరేషన్ మ్యాప్ ఉంటాయి. ఇది DNSని సెటప్ చేయడం గురించి ఆందోళన చెందకుండా డెవలపర్‌లను అనుమతిస్తుంది.
  2. అవసరమైన అప్లికేషన్ మద్దతును అమలు చేయండి. వినియోగదారు వారి వ్యాపార లాజిక్ ప్రకారం కంటైనర్ స్పెసిఫికేషన్‌పై మాత్రమే దృష్టి పెట్టాలి, అయితే CRD కంట్రోలర్ అవసరమైన అన్ని init కంటైనర్‌లు, ఎన్విరాన్‌మెంట్ వేరియబుల్స్ మరియు పాడ్ స్పెసిఫికేషన్‌లను అమలు చేస్తుంది. ఇది డెవలపర్‌లకు ప్రాథమికంగా భిన్నమైన సౌకర్యాన్ని అందిస్తుంది.
  3. CRD కంట్రోలర్‌లు స్థానిక వనరుల జీవితచక్రాన్ని కూడా నిర్వహిస్తాయి మరియు డీబగ్ లభ్యతను మెరుగుపరుస్తాయి. ఇందులో కావలసిన మరియు వాస్తవ స్పెసిఫికేషన్‌లను సమన్వయం చేయడం, CRD స్థితిని నవీకరించడం మరియు ఈవెంట్ లాగ్‌లను నిర్వహించడం మరియు మరిన్ని ఉంటాయి. CRD లేకుండా, డెవలపర్లు బహుళ వనరులను నిర్వహించవలసి వస్తుంది, ఇది లోపం యొక్క సంభావ్యతను మాత్రమే పెంచుతుంది.

మా కంట్రోలర్ ద్వారా నిర్వహించబడే PinterestService మరియు అంతర్గత వనరు యొక్క ఉదాహరణ ఇక్కడ ఉంది:

Pinterestలో kubernetes ప్లాట్‌ఫారమ్‌ను సృష్టిస్తోంది

మీరు పైన చూడగలిగినట్లుగా, అనుకూల కంటైనర్‌కు మద్దతు ఇవ్వడానికి మేము భద్రత, దృశ్యమానత మరియు నెట్‌వర్క్ ట్రాఫిక్‌ను అందించడానికి init కంటైనర్ మరియు అనేక యాడ్-ఆన్‌లను ఏకీకృతం చేయాలి. అదనంగా, మేము కాన్ఫిగరేషన్ మ్యాప్ టెంప్లేట్‌లను సృష్టించాము మరియు బ్యాచ్ జాబ్‌ల కోసం PVC టెంప్లేట్‌లకు మద్దతును అమలు చేసాము, అలాగే గుర్తింపు, వనరుల వినియోగం మరియు చెత్త సేకరణను ట్రాక్ చేయడానికి బహుళ ఎన్విరాన్‌మెంట్ వేరియబుల్స్‌ను ట్రాక్ చేసాము.

డెవలపర్‌లు ఈ కాన్ఫిగరేషన్ ఫైల్‌లను CRD మద్దతు లేకుండా చేతితో రాయాలనుకుంటున్నారని ఊహించడం కష్టం, కాన్ఫిగరేషన్‌లను మరింత నిర్వహించడం మరియు డీబగ్ చేయడం మాత్రమే కాదు.

అప్లికేషన్ విస్తరణ వర్క్‌ఫ్లో

Pinterestలో kubernetes ప్లాట్‌ఫారమ్‌ను సృష్టిస్తోంది

కుబెర్నెట్స్ క్లస్టర్‌కి Pinterest అనుకూల వనరును ఎలా అమర్చాలో పై చిత్రం చూపిస్తుంది:

  1. CLI మరియు వినియోగదారు ఇంటర్‌ఫేస్ ద్వారా డెవలపర్‌లు మా కుబెర్నెట్స్ క్లస్టర్‌తో పరస్పర చర్య చేస్తారు.
  2. CLI/UI సాధనాలు ఆర్టిఫ్యాక్టరీ నుండి వర్క్‌ఫ్లో కాన్ఫిగరేషన్ YAML ఫైల్‌లు మరియు ఇతర బిల్డ్ ప్రాపర్టీలను (అదే వెర్షన్ ID) తిరిగి పొంది, ఆపై వాటిని జాబ్ సబ్‌మిషన్ సర్వీస్‌కు సమర్పిస్తాయి. ఈ దశ ఉత్పత్తి సంస్కరణలు మాత్రమే క్లస్టర్‌కు పంపిణీ చేయబడుతుందని నిర్ధారిస్తుంది.
  3. కుబెర్నెట్స్‌తో సహా వివిధ ప్లాట్‌ఫారమ్‌లకు JSS ఒక గేట్‌వే. ఇక్కడ వినియోగదారు ప్రమాణీకరించబడ్డారు, కోటాలు జారీ చేయబడతాయి మరియు మా CRD కాన్ఫిగరేషన్ పాక్షికంగా తనిఖీ చేయబడుతుంది.
  4. JSS వైపు CRDని తనిఖీ చేసిన తర్వాత, సమాచారం k8s ప్లాట్‌ఫారమ్ APIకి పంపబడుతుంది.
  5. మా CRD కంట్రోలర్ అన్ని వినియోగదారు వనరులపై ఈవెంట్‌లను పర్యవేక్షిస్తుంది. ఇది CRలను స్థానిక k8s వనరులుగా మారుస్తుంది, అవసరమైన మాడ్యూల్‌లను జోడిస్తుంది, తగిన ఎన్విరాన్‌మెంట్ వేరియబుల్స్‌ను సెట్ చేస్తుంది మరియు కంటెయినరైజ్డ్ యూజర్ అప్లికేషన్‌లకు తగినంత ఇన్‌ఫ్రాస్ట్రక్చర్ సపోర్ట్ ఉందని నిర్ధారించడానికి ఇతర సపోర్ట్ వర్క్ చేస్తుంది.
  6. CRD కంట్రోలర్ స్వీకరించిన డేటాను Kubernetes APIకి పంపుతుంది, తద్వారా ఇది షెడ్యూలర్ ద్వారా ప్రాసెస్ చేయబడుతుంది మరియు ఉత్పత్తిలో ఉంచబడుతుంది.

వ్యాఖ్య: కొత్త k8s ప్లాట్‌ఫారమ్ యొక్క మొదటి వినియోగదారుల కోసం విస్తరణ యొక్క ఈ ప్రీ-రిలీజ్ వర్క్ ఫ్లో సృష్టించబడింది. మేము ప్రస్తుతం మా కొత్త CI/CDతో పూర్తిగా అనుసంధానించడానికి ఈ ప్రక్రియను మెరుగుపరిచే ప్రక్రియలో ఉన్నాము. కుబెర్నెటీస్‌కు సంబంధించిన ప్రతి విషయాన్ని మేము మీకు చెప్పలేమని దీని అర్థం. "Pinterest కోసం CI/CD ప్లాట్‌ఫారమ్‌ను రూపొందించడం" అనే మా తదుపరి బ్లాగ్ పోస్ట్‌లో మా అనుభవాన్ని మరియు ఈ దిశలో బృందం యొక్క పురోగతిని భాగస్వామ్యం చేయడానికి మేము ఎదురుచూస్తున్నాము.

ప్రత్యేక వనరుల రకాలు

Pinterest యొక్క నిర్దిష్ట అవసరాల ఆధారంగా, మేము వివిధ వర్క్‌ఫ్లోలకు సరిపోయేలా క్రింది CRDలను అభివృద్ధి చేసాము:

  • PinterestService చాలా కాలంగా నడుస్తున్న స్థితిలేని సేవలు. మా ప్రధాన సిస్టమ్‌లలో చాలా వరకు అటువంటి సేవల సమితిపై ఆధారపడి ఉన్నాయి.
  • PinterestJobSet మోడల్స్ పూర్తి సైకిల్ బ్యాచ్ ఉద్యోగాలు. Pinterestలో ఒక సాధారణ దృశ్యం ఏమిటంటే, ఇతర సారూప్య ప్రక్రియలతో సంబంధం లేకుండా బహుళ ఉద్యోగాలు ఒకే కంటైనర్‌లను సమాంతరంగా అమలు చేస్తాయి.
  • PinterestCronJob చిన్న ఆవర్తన లోడ్‌లతో కలిపి విస్తృతంగా ఉపయోగించబడుతుంది. భద్రత, ట్రాఫిక్, లాగ్‌లు మరియు మెట్రిక్‌లకు బాధ్యత వహించే Pinterest మద్దతు మెకానిజమ్‌లతో స్థానిక క్రాన్ పని కోసం ఇది ఒక రేపర్.
  • PinterestDaemon ఇన్‌ఫ్రాస్ట్రక్చర్ డెమన్‌లను కలిగి ఉంది. మేము మా క్లస్టర్‌లకు మరింత మద్దతునిచ్చినప్పుడు ఈ కుటుంబం పెరుగుతూనే ఉంది.
  • PinterestTrainingJob Tensorflow మరియు Pytorch ప్రక్రియలకు విస్తరించింది, అన్ని ఇతర CRDల వలె అదే స్థాయి రన్‌టైమ్ మద్దతును అందిస్తుంది. Pinterest Tensorflow మరియు ఇతర మెషిన్ లెర్నింగ్ సిస్టమ్‌లను చురుకుగా ఉపయోగిస్తున్నందున, వాటి చుట్టూ ప్రత్యేక CRDని రూపొందించడానికి మాకు ఒక కారణం ఉంది.

మేము PinterestStatefulSetలో కూడా పని చేస్తున్నాము, ఇది త్వరలో డేటా గిడ్డంగులు మరియు ఇతర స్టేట్‌ఫుల్ సిస్టమ్‌ల కోసం స్వీకరించబడుతుంది.

రన్‌టైమ్ మద్దతు

కుబెర్నెట్స్‌లో అప్లికేషన్ పాడ్ రన్ అయినప్పుడు, అది స్వయంచాలకంగా తనను తాను గుర్తించుకోవడానికి సర్టిఫికేట్‌ను అందుకుంటుంది. ఈ ప్రమాణపత్రం రహస్య నిల్వను యాక్సెస్ చేయడానికి లేదా mTLS ద్వారా ఇతర సేవలతో కమ్యూనికేట్ చేయడానికి ఉపయోగించబడుతుంది. ఇంతలో, కంటైనర్ Init కాన్ఫిగరేటర్ మరియు డెమోన్ కంటైనర్ చేయబడిన అప్లికేషన్‌ను అమలు చేయడానికి ముందు అవసరమైన అన్ని డిపెండెన్సీలను డౌన్‌లోడ్ చేస్తాయి. ప్రతిదీ సిద్ధంగా ఉన్నప్పుడు, ట్రాఫిక్ సైడ్‌కార్ మరియు డెమోన్ మాడ్యూల్ యొక్క IP చిరునామాను మా జూకీపర్‌తో నమోదు చేస్తాయి, తద్వారా క్లయింట్లు దానిని కనుగొనగలరు. అప్లికేషన్ ప్రారంభించబడటానికి ముందు నెట్‌వర్క్ మాడ్యూల్ కాన్ఫిగర్ చేయబడినందున ఇవన్నీ పని చేస్తాయి.

పైన పేర్కొన్నవి వర్క్‌లోడ్‌ల కోసం రన్‌టైమ్ మద్దతుకు సాధారణ ఉదాహరణలు. ఇతర రకాల వర్క్‌లోడ్‌లకు కొద్దిగా భిన్నమైన మద్దతు అవసరం కావచ్చు, కానీ అవన్నీ పాడ్-లెవల్ సైడ్‌కార్‌లు, నోడ్-లెవల్ లేదా వర్చువల్ మెషిన్-లెవల్ డెమన్‌ల రూపంలో వస్తాయి. ఇవన్నీ మేనేజ్‌మెంట్ ఇన్‌ఫ్రాస్ట్రక్చర్‌లో అమలు చేయబడతాయని మరియు అప్లికేషన్‌ల అంతటా స్థిరంగా ఉన్నాయని మేము నిర్ధారిస్తాము, ఇది సాంకేతిక పని మరియు కస్టమర్ మద్దతు పరంగా అంతిమంగా భారాన్ని గణనీయంగా తగ్గిస్తుంది.

పరీక్ష మరియు QA

మేము ఇప్పటికే ఉన్న కుబెర్నెట్స్ టెస్ట్ ఇన్‌ఫ్రాస్ట్రక్చర్ పైన ఎండ్-టు-ఎండ్ టెస్ట్ పైప్‌లైన్‌ని నిర్మించాము. ఈ పరీక్షలు మా క్లస్టర్‌లన్నింటికీ వర్తిస్తాయి. మా పైప్‌లైన్ ఉత్పత్తి క్లస్టర్‌లో భాగం కావడానికి ముందు అనేక పునర్విమర్శల ద్వారా జరిగింది.

టెస్టింగ్ సిస్టమ్‌లతో పాటు, సిస్టమ్ కాంపోనెంట్‌లు, వనరుల వినియోగం మరియు ఇతర ముఖ్యమైన సూచికల స్థితిని నిరంతరం పర్యవేక్షించే పర్యవేక్షణ మరియు హెచ్చరిక వ్యవస్థలు మా వద్ద ఉన్నాయి, మానవ జోక్యం అవసరమైనప్పుడు మాత్రమే మాకు తెలియజేస్తాయి.

ప్రత్యామ్నాయాలు

మేము మ్యుటేషన్ యాక్సెస్ కంట్రోలర్‌లు మరియు టెంప్లేట్ సిస్టమ్‌ల వంటి అనుకూల వనరులకు కొన్ని ప్రత్యామ్నాయాలను పరిశీలించాము. అయినప్పటికీ, అవన్నీ ముఖ్యమైన కార్యాచరణ సవాళ్లతో వస్తాయి, కాబట్టి మేము CRD మార్గాన్ని ఎంచుకున్నాము.

సైడ్‌కార్‌లు, ఎన్విరాన్‌మెంట్ వేరియబుల్స్ మరియు ఇతర రన్‌టైమ్ సపోర్ట్‌ను పరిచయం చేయడానికి మ్యూచువల్ అడ్మిషన్ కంట్రోలర్ ఉపయోగించబడింది. అయినప్పటికీ, ఇది CRDలో అటువంటి సమస్యలు తలెత్తని వనరుల బైండింగ్ మరియు జీవితచక్ర నిర్వహణ వంటి అనేక సమస్యలను ఎదుర్కొంది.

గమనిక: హెల్మ్ చార్ట్‌ల వంటి టెంప్లేట్ సిస్టమ్‌లు కూడా సారూప్య కాన్ఫిగరేషన్‌లతో అప్లికేషన్‌లను అమలు చేయడానికి విస్తృతంగా ఉపయోగించబడుతున్నాయి. అయినప్పటికీ, మా వర్క్ అప్లికేషన్‌లు టెంప్లేట్‌లను ఉపయోగించి నిర్వహించలేనంత వైవిధ్యంగా ఉన్నాయి. అలాగే నిరంతర విస్తరణ సమయంలో టెంప్లేట్‌లను ఉపయోగిస్తున్నప్పుడు చాలా లోపాలు ఉంటాయి.

రాబోయే పని

మేము ప్రస్తుతం మా క్లస్టర్‌లన్నింటిలో మిశ్రమ లోడ్‌తో వ్యవహరిస్తున్నాము. వివిధ రకాల మరియు పరిమాణాల అటువంటి ప్రక్రియలకు మద్దతు ఇవ్వడానికి, మేము ఈ క్రింది ప్రాంతాల్లో పని చేస్తాము:

  • క్లస్టర్‌ల సేకరణ స్కేలబిలిటీ మరియు స్థిరత్వం కోసం వివిధ క్లస్టర్‌లలో పెద్ద అప్లికేషన్‌లను పంపిణీ చేస్తుంది.
  • అప్లికేషన్ కనెక్టివిటీ మరియు SLAలను రూపొందించడానికి క్లస్టర్ స్థిరత్వం, స్కేలబిలిటీ మరియు విజిబిలిటీని నిర్ధారించడం.
  • వనరులు మరియు కోటాలను నిర్వహించడం వలన అప్లికేషన్‌లు ఒకదానికొకటి విరుద్ధంగా ఉండవు మరియు క్లస్టర్ స్థాయి మా వైపు నుండి నియంత్రించబడుతుంది.
  • కుబెర్నెట్స్‌లో అప్లికేషన్‌లను సపోర్టింగ్ చేయడానికి మరియు అప్‌లోడ్ చేయడానికి కొత్త CI/CD ప్లాట్‌ఫారమ్.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి