హెల్మ్ 3ని పరిచయం చేస్తున్నాము

హెల్మ్ 3ని పరిచయం చేస్తున్నాము

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

అక్టోబర్ 15, 2015న, ఇప్పుడు హెల్మ్ అని పిలవబడే ప్రాజెక్ట్ పుట్టింది. స్థాపించబడిన ఒక సంవత్సరం తర్వాత, హెల్మ్ కమ్యూనిటీ కుబెర్నెటెస్‌లో చేరింది, హెల్మ్ 2లో చురుకుగా పనిచేస్తున్నప్పుడు. జూన్ 2018లో, హెల్మ్ CNCFలో చేరారు అభివృద్ధి చెందుతున్న (ఇంక్యుబేటింగ్) ప్రాజెక్ట్‌గా. ప్రస్తుతానికి వేగంగా ముందుకు సాగండి మరియు కొత్త హెల్మ్ 3 యొక్క మొదటి ఆల్ఫా విడుదల రాబోతుంది. (ఈ విడుదల ఇప్పటికే జరిగింది మే మధ్యలో - సుమారు. అనువాదం.).

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

సారాంశం:

  • హెల్మ్ యొక్క సృష్టి చరిత్ర;
  • టిల్లర్‌కు టెండర్ వీడ్కోలు;
  • చార్ట్ రిపోజిటరీలు;
  • విడుదల నిర్వహణ;
  • చార్ట్ డిపెండెన్సీలలో మార్పులు;
  • లైబ్రరీ పటాలు;
  • తరవాత ఏంటి?

హెల్మ్ చరిత్ర

పుట్టిన

హెల్మ్ 1 డెయిస్ రూపొందించిన ఓపెన్ సోర్స్ ప్రాజెక్ట్‌గా ప్రారంభమైంది. మేము ఒక చిన్న స్టార్టప్ గ్రహించిన 2017 వసంతకాలంలో మైక్రోసాఫ్ట్. మా ఇతర ఓపెన్ సోర్స్ ప్రాజెక్ట్, డీస్ అని కూడా పేరు పెట్టబడింది, దీనికి ఒక సాధనం ఉంది deisctl, ఇది Deis ప్లాట్‌ఫారమ్‌ను ఇన్‌స్టాల్ చేయడానికి మరియు ఆపరేట్ చేయడానికి (ఇతర విషయాలతోపాటు) ఉపయోగించబడింది ఫ్లీట్ క్లస్టర్. ఆ సమయంలో, ఫ్లీట్ మొదటి కంటైనర్ ఆర్కెస్ట్రేషన్ ప్లాట్‌ఫారమ్‌లలో ఒకటి.

2015 మధ్యలో, మేము కోర్సును మార్చాలని నిర్ణయించుకున్నాము మరియు డెయిస్‌ని (ఆ సమయంలో డీస్ వర్క్‌ఫ్లో పేరు మార్చబడింది) ఫ్లీట్ నుండి కుబెర్నెటెస్‌కు మార్చాము. పునఃరూపకల్పన చేయబడిన వాటిలో మొదటిది సంస్థాపనా సాధనం. deisctl. ఫ్లీట్ క్లస్టర్‌లో డీస్ వర్క్‌ఫ్లోను ఇన్‌స్టాల్ చేయడానికి మరియు నిర్వహించడానికి మేము దీన్ని ఉపయోగించాము.

Homebrew, apt మరియు yum వంటి ప్రసిద్ధ ప్యాకేజీ నిర్వాహకుల ఇమేజ్‌లో హెల్మ్ 1 సృష్టించబడింది. కుబెర్నెట్స్‌లో ప్యాకేజింగ్ మరియు అప్లికేషన్‌లను ఇన్‌స్టాల్ చేయడం వంటి పనులను సులభతరం చేయడం దీని ప్రధాన లక్ష్యం. 2015లో శాన్ ఫ్రాన్సిస్కోలో జరిగిన కుబెకాన్ కాన్ఫరెన్స్‌లో హెల్మ్ అధికారికంగా పరిచయం చేయబడింది.

హెల్మ్‌తో మా మొదటి ప్రయత్నం పనిచేసింది, అయితే ఇది కొన్ని తీవ్రమైన పరిమితులు లేకుండా లేదు. అతను కుబెర్నెటెస్ మానిఫెస్ట్‌ల సెట్‌ను తీసుకున్నాడు, జనరేటర్‌లతో పరిచయ YAML బ్లాక్‌లు (ముందు విషయం)*, మరియు ఫలితాలను కుబెర్నెట్స్‌లోకి లోడ్ చేసారు.

* గమనిక. అనువాదం.: హెల్మ్ యొక్క మొదటి సంస్కరణ నుండి, కుబెర్నెట్స్ వనరులను వివరించడానికి YAML సింటాక్స్ ఎంచుకోబడింది మరియు కాన్ఫిగరేషన్‌లను వ్రాసేటప్పుడు జింజా టెంప్లేట్‌లు మరియు పైథాన్ స్క్రిప్ట్‌లు మద్దతు ఇవ్వబడ్డాయి. "ఎ బ్రీఫ్ హిస్టరీ ఆఫ్ హెల్మ్" అధ్యాయంలో మేము దీని గురించి మరియు హెల్మ్ యొక్క మొదటి వెర్షన్ యొక్క నిర్మాణం గురించి మరింత వ్రాసాము. ఈ పదార్థం.

ఉదాహరణకు, YAML ఫైల్‌లో ఫీల్డ్‌ను భర్తీ చేయడానికి, మీరు మానిఫెస్ట్‌కు క్రింది నిర్మాణాన్ని జోడించాలి:

#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my/pod.yaml

ఈ రోజు టెంప్లేట్ ఇంజిన్‌లు ఉండటం చాలా బాగుంది, కాదా?

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

గత తప్పిదాల అనుభవం ఆధారంగా, మేము హెల్మ్ 2ని అభివృద్ధి చేయడం ప్రారంభించాము.

హెల్మ్ 2 మేకింగ్

2015 చివరిలో, Google బృందం మమ్మల్ని సంప్రదించింది. వారు కుబెర్నెట్స్ కోసం ఇదే సాధనంపై పని చేస్తున్నారు. Kubernetes కోసం డిప్లాయ్‌మెంట్ మేనేజర్ అనేది Google క్లౌడ్ ప్లాట్‌ఫారమ్ కోసం ఉపయోగించబడిన ప్రస్తుత సాధనం యొక్క పోర్ట్. "మేము కొన్ని రోజులు సారూప్యతలు మరియు తేడాల గురించి చర్చించాలనుకుంటున్నారా?" అని వారు అడిగారు.

జనవరి 2016లో, హెల్మ్ మరియు డిప్లాయ్‌మెంట్ మేనేజర్ బృందాలు ఆలోచనలను మార్పిడి చేసుకోవడానికి సీటెల్‌లో సమావేశమయ్యాయి. చర్చలు ఒక ప్రతిష్టాత్మకమైన ప్రణాళికతో ముగిశాయి: రెండు ప్రాజెక్ట్‌లను కలిపి హెల్మ్ 2ను రూపొందించడం. డీస్ మరియు గూగుల్‌తో పాటు, అబ్బాయిలు స్కిప్‌బాక్స్ (ఇప్పుడు బిట్నామిలో భాగం - సుమారుగా. అనువాదం.), మరియు మేము హెల్మ్ 2పై పని చేయడం ప్రారంభించాము.

మేము హెల్మ్ యొక్క వాడుకలో సౌలభ్యాన్ని ఉంచాలనుకుంటున్నాము, కానీ క్రింది వాటిని జోడించండి:

  • అనుకూలీకరణ కోసం చార్ట్ టెంప్లేట్లు;
  • జట్ల కోసం అంతర్-క్లస్టర్ నిర్వహణ;
  • ప్రపంచ స్థాయి చార్ట్ రిపోజిటరీ;
  • సంతకం ఎంపికతో స్థిరమైన ప్యాకేజీ ఆకృతి;
  • సెమాంటిక్ సంస్కరణకు మరియు సంస్కరణల మధ్య వెనుకబడిన అనుకూలతను నిర్వహించడానికి బలమైన నిబద్ధత.

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

2లో హెల్మ్ 2016 విడుదలైనప్పటి నుండి, కుబెర్నెటెస్ అనేక ప్రధాన ఆవిష్కరణలను జోడించారు. రోల్-బేస్డ్ యాక్సెస్ కంట్రోల్ జోడించబడింది (RBAC), ఇది చివరికి అట్రిబ్యూట్-బేస్డ్ యాక్సెస్ కంట్రోల్ (ABAC)ని భర్తీ చేసింది. కొత్త వనరుల రకాలు ప్రవేశపెట్టబడ్డాయి (డిప్లాయ్‌మెంట్‌లు ఆ సమయంలో బీటాలో ఉన్నాయి). కస్టమ్ రిసోర్స్ నిర్వచనాలు (వాస్తవానికి థర్డ్ పార్టీ రిసోర్సెస్ లేదా TPRలు అని పిలుస్తారు) కనుగొనబడ్డాయి. మరియు ముఖ్యంగా, ఉత్తమ అభ్యాసాల సమితి ఉద్భవించింది.

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

టిల్లర్‌కు టెండర్ వీడ్కోలు

హెల్మ్ 2 అభివృద్ధి సమయంలో, మేము Google డిప్లాయ్‌మెంట్ మేనేజర్‌తో మా ఇంటిగ్రేషన్‌లో భాగంగా టిల్లర్‌ను పరిచయం చేసాము. సాధారణ క్లస్టర్‌లో పనిచేసే బృందాలకు టిల్లర్ ఒక ముఖ్యమైన పాత్రను పోషించాడు: ఇది అవస్థాపనను నిర్వహిస్తున్న వివిధ నిపుణులను ఒకే విధమైన విడుదలలతో పరస్పర చర్య చేయడానికి అనుమతించింది.

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

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

టిల్లర్ యొక్క ప్రధాన లక్ష్యం టిల్లర్ లేకుండానే సాధించబడవచ్చు, కాబట్టి హెల్మ్ 3కి సంబంధించి మా మొదటి నిర్ణయాలలో ఒకటి టిల్లర్‌ను పూర్తిగా వదిలివేయడం.

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

చార్ట్ రిపోజిటరీలు

అధిక స్థాయిలో, చార్ట్ రిపోజిటరీ అనేది చార్ట్‌లను నిల్వ చేయగల మరియు భాగస్వామ్యం చేయగల ప్రదేశం. హెల్మ్ క్లయింట్ ప్యాకేజీలు మరియు చార్ట్‌లను రిపోజిటరీకి పంపుతుంది. సరళంగా చెప్పాలంటే, చార్ట్ రిపోజిటరీ అనేది index.yaml ఫైల్ మరియు కొన్ని ప్యాక్ చేసిన చార్ట్‌లతో కూడిన ఆదిమ HTTP సర్వర్.

చాలా ప్రాథమిక నిల్వ అవసరాలకు అనుగుణంగా చార్ట్స్ రిపోజిటరీ APIకి కొన్ని ప్రయోజనాలు ఉన్నప్పటికీ, కొన్ని ప్రతికూలతలు కూడా ఉన్నాయి:

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

ప్రాజెక్ట్ డాకర్ పంపిణీ (డాకర్ రిజిస్ట్రీ v2 అని కూడా పిలుస్తారు) డాకర్ రిజిస్ట్రీకి వారసుడు మరియు ముఖ్యంగా డాకర్ చిత్రాలను ప్యాకేజింగ్, షిప్పింగ్, నిల్వ మరియు డెలివరీ కోసం సాధనాల సమితిగా పనిచేస్తుంది. అనేక పెద్ద క్లౌడ్ సేవలు పంపిణీ-ఆధారిత ఉత్పత్తులను అందిస్తాయి. ఈ పెరిగిన శ్రద్ధకు ధన్యవాదాలు, డిస్ట్రిబ్యూషన్ ప్రాజెక్ట్ అనేక సంవత్సరాల మెరుగుదలలు, భద్రతా ఉత్తమ పద్ధతులు మరియు ఫీల్డ్ టెస్టింగ్‌ల నుండి ప్రయోజనం పొందింది, ఇది ఓపెన్ సోర్స్ ప్రపంచంలో అత్యంత విజయవంతమైన పాడని హీరోలలో ఒకరిగా నిలిచింది.

అయితే డిస్ట్రిబ్యూషన్ ప్రాజెక్ట్ కేవలం కంటైనర్ చిత్రాలే కాకుండా ఏదైనా కంటెంట్‌ని పంపిణీ చేయడానికి రూపొందించబడిందని మీకు తెలుసా?

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

హెల్మ్ చార్ట్ రిపోజిటరీలకు రాబోయే కొన్ని మార్పుల గురించి మరింత వివరణాత్మక వివరణ అందుబాటులో ఉంది లింక్.

విడుదల నిర్వహణ

హెల్మ్ 3లో, అప్లికేషన్ స్థితి క్లస్టర్‌లో ఒక జత వస్తువుల ద్వారా ట్రాక్ చేయబడుతుంది:

  • విడుదల వస్తువు - అప్లికేషన్ ఉదాహరణను సూచిస్తుంది;
  • విడుదల సంస్కరణ రహస్యం - నిర్దిష్ట సమయంలో అప్లికేషన్ యొక్క కావలసిన స్థితిని సూచిస్తుంది (ఉదాహరణకు, కొత్త వెర్షన్ విడుదల).

కాల్ helm install విడుదల వస్తువు మరియు విడుదల సంస్కరణ రహస్యాన్ని సృష్టిస్తుంది. కాల్ చేయండి helm upgrade విడుదల ఆబ్జెక్ట్ అవసరం (దీనిని మార్చవచ్చు) మరియు కొత్త విలువలు మరియు సిద్ధం చేసిన మానిఫెస్ట్‌తో కూడిన కొత్త విడుదల సంస్కరణ రహస్యాన్ని సృష్టిస్తుంది.

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

విడుదల సంస్కరణ రహస్యం విడుదలను పునర్విమర్శల శ్రేణితో అనుబంధిస్తుంది (ఇన్‌స్టాలేషన్, అప్‌డేట్‌లు, రోల్‌బ్యాక్‌లు, తొలగింపు).

హెల్మ్ 2లో, పునర్విమర్శలు చాలా స్థిరంగా ఉన్నాయి. కాల్ చేయండి helm install v1 సృష్టించబడింది, తదుపరి నవీకరణ (అప్‌గ్రేడ్) - v2, మరియు మొదలైనవి. విడుదల మరియు విడుదల సంస్కరణ రహస్యం పునర్విమర్శ అని పిలువబడే ఒకే వస్తువుగా కుదించబడింది. పునర్విమర్శలు టిల్లర్ వలె అదే నేమ్‌స్పేస్‌లో నిల్వ చేయబడ్డాయి, దీని అర్థం ప్రతి విడుదల నేమ్‌స్పేస్ పరంగా "గ్లోబల్"; ఫలితంగా, పేరు యొక్క ఒక ఉదాహరణ మాత్రమే ఉపయోగించబడింది.

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

Tiller వదలివేయబడిన తర్వాత, Helm 3 స్టోర్‌లు విడుదలైన అదే నేమ్‌స్పేస్‌లో డేటాను విడుదల చేస్తాయి. ఈ మార్పు వేరే నేమ్‌స్పేస్‌లో అదే విడుదల పేరుతో చార్ట్‌ను ఇన్‌స్టాల్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది మరియు డేటా క్లస్టర్ అప్‌డేట్‌లు/రీబూట్‌ల మధ్య etcdలో సేవ్ చేయబడుతుంది. ఉదాహరణకు, మీరు WordPressని "foo" నేమ్‌స్పేస్‌లో ఆపై "బార్" నేమ్‌స్పేస్‌లో ఇన్‌స్టాల్ చేయవచ్చు మరియు రెండు విడుదలలకు "wordpress" అని పేరు పెట్టవచ్చు.

చార్ట్ డిపెండెన్సీలకు మార్పులు

చార్ట్‌లు ప్యాక్ చేయబడ్డాయి (ఉపయోగించి helm package) హెల్మ్ 2తో ఉపయోగం కోసం హెల్మ్ 3తో ఇన్‌స్టాల్ చేయవచ్చు, అయితే చార్ట్ డెవలప్‌మెంట్ వర్క్‌ఫ్లో పూర్తిగా సరిదిద్దబడింది, కాబట్టి హెల్మ్ 3తో చార్ట్ అభివృద్ధిని కొనసాగించడానికి కొన్ని మార్పులు చేయాలి. ప్రత్యేకించి, చార్ట్ డిపెండెన్సీ మేనేజ్‌మెంట్ సిస్టమ్ మార్చబడింది.

చార్ట్ డిపెండెన్సీ మేనేజ్‌మెంట్ సిస్టమ్ దీని నుండి తరలించబడింది requirements.yaml и requirements.lockChart.yaml и Chart.lock. కమాండ్‌ని ఉపయోగించిన చార్ట్‌లు అని దీని అర్థం helm dependency, హెల్మ్ 3లో పని చేయడానికి కొంత సెటప్ అవసరం.

ఒక ఉదాహరణ చూద్దాం. హెల్మ్ 2లోని చార్ట్‌కు డిపెండెన్సీని జోడించి, హెల్మ్ 3కి మారినప్పుడు ఏమి మారుతుందో చూద్దాం.

హెల్మ్ 2 లో requirements.yaml ఇలా కనిపించింది:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

హెల్మ్ 3లో, అదే డిపెండెన్సీ మీలో ప్రతిబింబిస్తుంది Chart.yaml:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

చార్ట్‌లు ఇప్పటికీ డౌన్‌లోడ్ చేయబడి, డైరెక్టరీలో ఉంచబడ్డాయి charts/, కాబట్టి సబ్‌చార్ట్‌లు (సబ్‌చార్ట్‌లు), కేటలాగ్‌లో పడి ఉంది charts/, మార్పులు లేకుండా పని చేస్తూనే ఉంటుంది.

లైబ్రరీ చార్ట్‌లను పరిచయం చేస్తున్నాము

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

లైబ్రరీ చార్ట్‌లు విభాగంలో ప్రకటించబడ్డాయి dependencies ఫైల్‌లో Chart.yaml. వాటిని ఇన్‌స్టాల్ చేయడం మరియు నిర్వహించడం ఇతర చార్ట్‌ల నుండి భిన్నంగా లేదు.

dependencies:
  - name: mylib
    version: 1.x.x
    repository: quay.io

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

తరువాత ఏమిటి?

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

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

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

మేము ఏదో కోల్పోయినట్లు మీకు అనిపిస్తే, మీ ఆలోచనలను వినడానికి మేము ఇష్టపడతాము!

మాపై చర్చలో చేరండి స్లాక్ ఛానెల్‌లు:

  • #helm-users ప్రశ్నలు మరియు సంఘంతో సాధారణ కమ్యూనికేషన్ కోసం;
  • #helm-dev పుల్ అభ్యర్థనలు, కోడ్ మరియు బగ్‌లను చర్చించడానికి.

మీరు మా వారపు పబ్లిక్ డెవలపర్ కాల్‌లలో గురువారం 19:30 MSKకి కూడా చాట్ చేయవచ్చు. ముఖ్య డెవలపర్‌లు మరియు సంఘం పని చేస్తున్న సమస్యలతో పాటు వారంలో చర్చనీయాంశాలను చర్చించడానికి సమావేశాలు అంకితం చేయబడ్డాయి. ఎవరైనా సమావేశంలో చేరవచ్చు మరియు పాల్గొనవచ్చు. స్లాక్ ఛానెల్‌లో లింక్ అందుబాటులో ఉంది #helm-dev.

అనువాదకుని నుండి PS

మా బ్లాగులో కూడా చదవండి:

మూలం: www.habr.com

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