የእቃ መያዢያ ምስሎችን "ብልጥ" የማጽዳት ችግር እና መፍትሄው በዊርፍ

የእቃ መያዢያ ምስሎችን "ብልጥ" የማጽዳት ችግር እና መፍትሄው በዊርፍ

ጽሁፉ በኮንቴይነር መዝገቦች (Docker Registry and analogues) ውስጥ የሚከማቹ ምስሎችን በዘመናዊ የሲአይ/ሲዲ ቧንቧዎች እውነታዎች ውስጥ ለኩበርኔትስ ለሚሰጡ የደመና ተወላጅ አፕሊኬሽኖች የማጽዳት ችግሮችን ያብራራል። የምስሎች አስፈላጊነት ዋና መመዘኛዎች እና በራስ-ሰር ጽዳት ፣ ቦታን ለመቆጠብ እና የቡድን ፍላጎቶችን ለማሟላት የሚያስከትላቸው ችግሮች ተሰጥተዋል ። በመጨረሻም፣ የአንድ የተወሰነ የክፍት ምንጭ ፕሮጀክት ምሳሌ በመጠቀም፣ እነዚህን ችግሮች እንዴት ማሸነፍ እንደሚቻል እንነግርዎታለን።

መግቢያ

በኮንቴይነር መዝገብ ውስጥ ያሉ የምስሎች ብዛት በፍጥነት ያድጋሉ, ተጨማሪ የማከማቻ ቦታን ይይዛሉ እና በዚህም ዋጋውን በከፍተኛ ሁኔታ ይጨምራሉ. በመዝገቡ ውስጥ የተያዘውን የቦታ እድገት ለመቆጣጠር፣ ለመገደብ ወይም ለማቆየት ተቀባይነት ያለው ነው፡-

  1. ለምስሎች ቋሚ መለያዎችን ይጠቀሙ;
  2. ምስሎቹን በሆነ መንገድ አጽዳ.


የመጀመሪያው ገደብ አንዳንድ ጊዜ ለትናንሽ ቡድኖች ተቀባይነት አለው. ገንቢዎች በቂ ቋሚ መለያዎች ካላቸው (latest, main, test, boris ወዘተ), መዝገቡ መጠኑ አያብጥም እና ለረጅም ጊዜ ስለማጽዳት ማሰብ አያስፈልግዎትም. ከሁሉም በላይ, ሁሉም ተዛማጅነት የሌላቸው ምስሎች ይደመሰሳሉ, እና በቀላሉ ለማጽዳት ምንም ስራ የለም (ሁሉም ነገር የሚከናወነው በተለመደው የቆሻሻ ማጠራቀሚያ ነው).

ይሁን እንጂ ይህ አካሄድ ልማትን በእጅጉ የሚገድብ ሲሆን ለዘመናዊ የሲአይ/ሲዲ ፕሮጀክቶች እምብዛም አይተገበርም። የእድገቱ ዋና አካል ነበር። አውቶማቲክ, ይህም በፍጥነት ለተጠቃሚዎች አዳዲስ ተግባራትን ለመፈተሽ, ለማሰማራት እና ለማቅረብ ያስችላል. ለምሳሌ፣ በሁሉም ፕሮጀክቶቻችን ውስጥ፣ በእያንዳንዱ ቁርጠኝነት የCI ቧንቧ መስመር በራስ ሰር ይፈጠራል። በእሱ ውስጥ, ምስሉ ተሰብስቦ, ተፈትኗል, ለማረም እና ለተቀሩት ቼኮች ወደ ተለያዩ የኩበርኔትስ ወረዳዎች ተዘርግቷል, እና ሁሉም ነገር ደህና ከሆነ, ለውጦቹ ለዋና ተጠቃሚው ይደርሳሉ. እና ይህ ከአሁን በኋላ የሮኬት ሳይንስ አይደለም ፣ ግን ለብዙዎች የዕለት ተዕለት ክስተት ነው - ምናልባት ለእርስዎ ፣ ይህን ጽሑፍ እያነበቡ ስለሆነ።

ሳንካዎችን ማስተካከል እና አዳዲስ ተግባራትን ማዳበር በትይዩ የሚከናወን ስለሆነ እና ልቀቶች በቀን ውስጥ ብዙ ጊዜ ሊከናወኑ ስለሚችሉ ፣የእድገቱ ሂደት ጉልህ በሆነ ቁጥር የታጀበ መሆኑ ግልፅ ነው ፣ ይህ ማለት ነው ። በመዝገቡ ውስጥ ብዙ ቁጥር ያላቸው ምስሎች. በውጤቱም, የመመዝገቢያውን ውጤታማ ጽዳት የማደራጀት ጉዳይ ይነሳል, ማለትም. ተዛማጅነት የሌላቸው ምስሎችን ማስወገድ.

ግን አንድ ምስል ጠቃሚ መሆኑን እንኳን እንዴት መወሰን ይቻላል?

የምስሉ አግባብነት መስፈርቶች

በአብዛኛዎቹ ጉዳዮች ዋና መመዘኛዎች እንደሚከተለው ይሆናሉ-

1. የመጀመሪያው (ከሁሉም በጣም ግልጽ እና በጣም ወሳኝ) ምስሎች ናቸው በአሁኑ ጊዜ በ Kubernetes ውስጥ ጥቅም ላይ ይውላል. እነዚህን ምስሎች ማስወገድ ከፍተኛ የምርት ጊዜ ወጪዎችን ሊያስከትል ይችላል (ለምሳሌ ምስሎቹ ለመድገም ሊያስፈልግ ይችላል) ወይም ቡድኑ በማናቸውም ቀለበቶች ላይ የሚያደርገውን ጥረት ውድቅ ያደርጋል። (በዚህ ምክንያት እኛ እንኳን ልዩ አደረግን። ፕሮሜቲየስ ላኪበማንኛውም የኩበርኔትስ ስብስብ ውስጥ እንደዚህ ያሉ ምስሎች አለመኖራቸውን የሚከታተል።)

2. ሁለተኛ (ግልጽ ያልሆነ, ግን በጣም አስፈላጊ እና እንደገና ከብዝበዛ ጋር ይዛመዳል) - ምስሎች ያ ከባድ ችግሮች ሲገኙ ወደነበረበት መመለስ ያስፈልጋል አሁን ባለው ስሪት. ለምሳሌ፣ በሄልም ሁኔታ፣ እነዚህ በተቀመጡ የመልቀቂያ ስሪቶች ውስጥ ጥቅም ላይ የሚውሉ ምስሎች ናቸው። (በነባሪነት፣ በነባሪነት በሄልም ውስጥ ያለው ገደቡ 256 ክለሳዎች ነው፣ ነገር ግን ማንም ሰው በእውነት ማዳን የሚያስፈልገው የማይመስል ነገር ነው። እንደዚህ ያለ ብዙ ቁጥር ያላቸው ስሪቶች?...) ለነገሩ፣ እኛ በተለይ ስሪቶችን በኋላ ላይ ልንጠቀምባቸው እንችላለን፣ ማለትም። አስፈላጊ ከሆነ "ተመለስ" ወደ እነርሱ.

3. ሦስተኛ - የገንቢ ፍላጎቶችአሁን ካለው ሥራ ጋር የሚዛመዱ ምስሎች ሁሉ. ለምሳሌ ፣ PRን እያሰብን ከሆነ ፣ ከመጨረሻው ቁርጠኝነት ጋር የሚዛመድ ምስልን መተው እና ፣ ያለፈውን ቃል እንበል ።

4. አራተኛ - ምስሎች ያ ከመተግበሪያችን ስሪቶች ጋር ይዛመዳል፣ ማለትም እ.ኤ.አ. የመጨረሻው ምርት ናቸው: v1.0.0, 20.04.01/XNUMX/XNUMX, sierra, ወዘተ.

ማሳሰቢያ፡- እዚህ የተገለጹት መመዘኛዎች ከተለያዩ ኩባንያዎች ከተውጣጡ በደርዘን የሚቆጠሩ የልማት ቡድኖች ጋር በመገናኘት ልምድ ላይ ተመስርተዋል። ሆኖም ፣ በእርግጥ ፣ በልማት ሂደቶች ውስጥ ባለው ልዩ ሁኔታ እና ጥቅም ላይ የዋለው መሠረተ ልማት (ለምሳሌ ኩበርኔትስ ጥቅም ላይ አይውልም) ፣ እነዚህ መመዘኛዎች ሊለያዩ ይችላሉ።

ብቁነት እና ያሉ መፍትሄዎች

ከኮንቴይነር መዝገቦች ጋር ያሉ ታዋቂ አገልግሎቶች, እንደ አንድ ደንብ, የራሳቸውን ምስል የማጽዳት ፖሊሲዎች ያቀርባሉ: በእነሱ ውስጥ አንድ መለያ ከመዝገቡ ውስጥ የሚወገድበትን ሁኔታዎች መግለፅ ይችላሉ. ሆኖም፣ እነዚህ ሁኔታዎች እንደ ስሞች፣ የፍጥረት ጊዜ እና የመለያዎች ብዛት* ባሉ መለኪያዎች የተገደቡ ናቸው።

* በተወሰነ የእቃ መያዢያ መዝገብ አተገባበር ላይ ይወሰናል. የሚከተሉትን የመፍትሄ አማራጮች ተመልክተናል፡- Azure CR፣ Docker Hub፣ ECR፣ GCR፣ GitHub Packages፣ GitLab Container Registry፣ Harbor Registry፣ JFrog Artifctory፣ Quay.io - ከሴፕቴምበር'2020 ጀምሮ።

ይህ የመለኪያዎች ስብስብ አራተኛውን መስፈርት ለማሟላት በቂ ነው - ማለትም ከስሪቶቹ ጋር የሚዛመዱ ምስሎችን ለመምረጥ. ነገር ግን፣ ለሁሉም ሌሎች መመዘኛዎች፣ አንድ ሰው የመስማማት መፍትሄ (ጠንካራ ወይም በተቃራኒው፣ የበለጠ ጨዋ ፖሊሲ) መምረጥ አለበት - በሚጠበቀው እና በፋይናንስ አቅሞች።

ለምሳሌ, ሦስተኛው መስፈርት - ከገንቢዎች ፍላጎት ጋር የተያያዘ - በቡድን ውስጥ ሂደቶችን በማደራጀት ሊፈታ ይችላል-የተወሰኑ ምስሎችን መሰየም, ልዩ የፍቃድ ዝርዝሮችን እና የውስጥ ስምምነቶችን መጠበቅ. ግን በመጨረሻ አሁንም በራስ-ሰር መደረግ አለበት። እና ዝግጁ የሆኑ መፍትሄዎች ችሎታዎች በቂ ካልሆኑ, የእራስዎ የሆነ ነገር ማድረግ አለብዎት.

ከመጀመሪያዎቹ ሁለት መመዘኛዎች ጋር ያለው ሁኔታ ተመሳሳይ ነው-ከውጫዊ ስርዓት መረጃ ሳይቀበሉ ሊረኩ አይችሉም - ማመልከቻዎች የሚዘረጉበት (በእኛ ጉዳይ, Kubernetes).

በጊት ውስጥ የስራ ፍሰት ምሳሌ

በጊት ውስጥ እንደዚህ ያለ ነገር እየሰሩ ነው እንበል፡-

የእቃ መያዢያ ምስሎችን "ብልጥ" የማጽዳት ችግር እና መፍትሄው በዊርፍ

በሥዕላዊ መግለጫው ላይ ጭንቅላት ያለው አዶ በአሁኑ ጊዜ በ Kubernetes ውስጥ ለማንኛውም ተጠቃሚዎች (ዋና ተጠቃሚዎች ፣ ሞካሪዎች ፣ አስተዳዳሪዎች ፣ ወዘተ.) ወይም ገንቢዎች ለማረም እና ተመሳሳይ ዓላማዎች የሚጠቀሙባቸውን የመያዣ ምስሎችን ያሳያል።

የጽዳት መመሪያዎች ምስሎችን ብቻ እንዲቆዩ የሚፈቅዱ ከሆነ (ያልተሰረዙ) ምን ይከሰታል በተሰጡት የመለያ ስሞች?

የእቃ መያዢያ ምስሎችን "ብልጥ" የማጽዳት ችግር እና መፍትሄው በዊርፍ

በግልጽ ለማየት እንደሚቻለው እንዲህ ያለው ሁኔታ ማንንም አያስደስትም።

መመሪያዎች ምስሎች እንዳይሰረዙ የሚፈቅዱ ከሆነ ምን ይለወጣል? በተሰጠው የጊዜ ክፍተት / የመጨረሻ አፈፃፀም ቁጥር መሠረት?

የእቃ መያዢያ ምስሎችን "ብልጥ" የማጽዳት ችግር እና መፍትሄው በዊርፍ

ውጤቱ በጣም የተሻለ ሆኗል, ነገር ግን አሁንም ከትክክለኛው የራቀ ነው. ለነገሩ አሁንም በመዝገቡ ውስጥ ምስሎችን የሚፈልጉ ገንቢዎች አሉን (ወይም በK8s ውስጥ የሚሰማሩ) ስህተቶችን ለማረም...

የአሁኑን የገበያ ሁኔታ ለማጠቃለል-በኮንቴይነር መዝገቦች ውስጥ የሚገኙት ተግባራት በማጽዳት ጊዜ በቂ ተለዋዋጭነት አይሰጡም, እና ለዚህ ዋነኛው ምክንያት ነው. ከውጪው ዓለም ጋር ለመገናኘት ምንም መንገድ የለም. እንደዚህ አይነት ተለዋዋጭነት የሚያስፈልጋቸው ቡድኖች Docker Registry API (ወይም የተዛማጁ ትግበራ ቤተኛ ኤፒአይ) በመጠቀም የምስል ስረዛን "ከውጭ" በተናጥል ለመተግበር ይገደዳሉ።

ነገር ግን፣ የተለያዩ መዝገቦችን በመጠቀም ለተለያዩ ቡድኖች የምስል ማፅዳትን በራስ ሰር የሚሰራ ሁለንተናዊ መፍትሄ እየፈለግን ነበር።

ወደ ሁለንተናዊ ምስል ማፅዳት መንገዳችን

ይህ ፍላጎት ከየት ይመጣል? እውነታው ግን እኛ የተለየ የገንቢዎች ቡድን አይደለንም ፣ ግን ብዙዎቹን በአንድ ጊዜ የሚያገለግል ፣ የCI/CD ጉዳዮችን በስፋት ለመፍታት የሚረዳ ቡድን ነን። እና ለዚህ ዋናው የቴክኒክ መሳሪያ የክፍት ምንጭ መገልገያ ነው werf. ልዩነቱ አንድ ነጠላ ተግባርን አለመፈጸሙ ነው, ነገር ግን በሁሉም ደረጃዎች ተከታታይ የማድረስ ሂደቶችን ያካትታል: ከስብሰባ እስከ ማሰማራት.

ምስሎችን ወደ መዝገቡ * ማተም (ወዲያውኑ ከተገነቡ በኋላ) የዚህ አይነት መገልገያ ግልጽ ተግባር ነው። እና ምስሎቹ ለማከማቻው እዚያ ስለሚቀመጡ, - የእርስዎ ማከማቻ ያልተገደበ ካልሆነ - ለቀጣይ ጽዳትዎ ተጠያቂ መሆን አለብዎት. ሁሉንም የተገለጹትን መመዘኛዎች በማሟላት በዚህ ውስጥ እንዴት ስኬት እንዳገኘን የበለጠ እንነጋገራለን ።

* ምንም እንኳን መዝጋቢዎቹ እራሳቸው የተለያዩ ሊሆኑ ቢችሉም (Docker Registry, GitLab Container Registry, Harbor, ወዘተ.) ተጠቃሚዎቻቸው ተመሳሳይ ችግሮች ያጋጥሟቸዋል. በእኛ ሁኔታ ውስጥ ያለው ሁለንተናዊ መፍትሔ በመመዝገቢያ ትግበራ ላይ የተመካ አይደለም, ምክንያቱም ከራሳቸው መዝገቦች ውጭ ይሰራል እና ለሁሉም ሰው ተመሳሳይ ባህሪ ያቀርባል።

ዌርፍን እንደ ትግበራ እንደ ምሳሌ እየተጠቀምን ቢሆንም፣ ጥቅም ላይ የዋሉት አካሄዶች ሌሎች ተመሳሳይ ችግሮች ላጋጠማቸው ቡድኖች ጠቃሚ ይሆናሉ ብለን ተስፋ እናደርጋለን።

ስለዚህ ስራ በዝቶብናል። ውጫዊ ምስሎችን የማጽዳት ዘዴን መተግበር - ለመያዣዎች መዝገብ ቤት ውስጥ ከተገነቡት ችሎታዎች ይልቅ። የመጀመሪያው እርምጃ Docker Registry API ለታጎች ብዛት እና ለተፈጠሩበት ጊዜ (ከላይ የተጠቀሰው) ተመሳሳይ ጥንታዊ ፖሊሲዎችን መፍጠር ነበር። ለእነሱ ታክሏል በተዘረጋው መሠረተ ልማት ውስጥ ጥቅም ላይ በሚውሉ ምስሎች ላይ በመመስረት የፍቀድ ዝርዝር፣ ማለትም እ.ኤ.አ. ኩበርኔትስ ለኋለኛው ፣ ሁሉንም የተዘረጉ ሀብቶችን ለመድገም እና የእሴቶችን ዝርዝር ለማግኘት Kubernetes API ን መጠቀም በቂ ነበር image.

ይህ ቀላል ያልሆነ መፍትሔ በጣም ወሳኝ የሆነውን ችግር (መስፈርት ቁጥር 1) ፈትቷል, ነገር ግን የጽዳት ዘዴን ለማሻሻል የጉዟችን መጀመሪያ ብቻ ነበር. ቀጣዩ - እና የበለጠ አስደሳች - እርምጃ ውሳኔው ነበር የታተሙ ምስሎችን ከ Git ታሪክ ጋር ያዛምዱ.

መለያ መስጠት እቅዶች

ለመጀመር, የመጨረሻው ምስል ለጽዳት አስፈላጊውን መረጃ ማከማቸት ያለበትን ዘዴ መርጠናል, እና ሂደቱን በመለያ አሰጣጥ እቅዶች ላይ ገንብተናል. ምስል ሲያትሙ ተጠቃሚው የተወሰነ የመለያ ምርጫን መርጧል (git-branch, git-commit ወይም git-tag) እና ተጓዳኝ እሴት ተጠቅሟል. በ CI ስርዓቶች ውስጥ እነዚህ ዋጋዎች በአካባቢ ተለዋዋጮች ላይ ተመስርተው በራስ-ሰር ተቀናብረዋል. በእውነቱ የመጨረሻው ምስል ከተወሰነ Git primitive ጋር የተያያዘ ነው።, በመለያዎች ውስጥ ለማጽዳት አስፈላጊውን መረጃ በማከማቸት.

ይህ አካሄድ Git እንደ ነጠላ የእውነት ምንጭ ጥቅም ላይ እንዲውል የሚያስችሉ የፖሊሲዎች ስብስብ አስገኝቷል፡

  • በ Git ውስጥ አንድ ቅርንጫፍ/መለያ ሲሰርዝ በመዝገቡ ውስጥ ያሉት ተዛማጅ ምስሎች በራስ ሰር ተሰርዘዋል።
  • ከ Git መለያዎች እና ድርጊቶች ጋር የተቆራኙ የምስሎች ብዛት በተመረጠው እቅድ ውስጥ ጥቅም ላይ በሚውሉት የመለያዎች ብዛት እና ተጓዳኝ ቁርጠኝነት በተፈጠረበት ጊዜ ሊቆጣጠሩት ይችላሉ።

በአጠቃላይ፣ የተገኘው ትግበራ ፍላጎታችንን አሟልቷል፣ ነገር ግን አዲስ ፈተና ብዙም ሳይቆይ ጠበቀን። እውነታው ግን በ Git primitives ላይ የተመሰረቱ የመለያ ዘዴዎችን ስንጠቀም ብዙ ድክመቶች አጋጥመውናል. (የእነሱ ገለጻ ከዚህ ጽሑፍ ወሰን በላይ ስለሆነ ሁሉም ሰው ከዝርዝሮቹ ጋር እራሱን ማወቅ ይችላል እዚህ.) ስለዚህ ወደ ይበልጥ ቀልጣፋ አቀራረብ ወደ መለያ መስጠት (በይዘት ላይ የተመሰረተ መለያ መስጠት) ለመቀየር ከወሰንን በኋላ የምስል ጽዳት አተገባበርን እንደገና ማጤን ነበረብን።

አዲስ ስልተ ቀመር

ለምን? በይዘት ላይ የተመሰረተ መለያ በመስጠት እያንዳንዱ መለያ በ Git ውስጥ በርካታ ቁርጠኝነትን ሊያረካ ይችላል። ምስሎችን በሚያጸዱበት ጊዜ, ከአሁን በኋላ መገመት አይችሉም ብቻ አዲሱ መለያ ወደ መዝገቡ ከተጨመረበት ቁርጠኝነት።

ለአዲሱ የጽዳት ስልተ-ቀመር, ከመለያ እቅዶች ለመራቅ እና ለመገንባት ተወስኗል ሜታ-ምስል ሂደት, እያንዳንዳቸው የሚከተሉትን ስብስቦች ያከማቻሉ:

  • ህትመቱ የተከናወነበት ቁርጠኝነት (ምስሉ መታከል፣ መቀየሩ ወይም በመያዣው መዝገብ ውስጥ እንዳለ ቢቆይ ምንም ለውጥ የለውም)።
  • እና የእኛ ውስጣዊ መለያ ከተሰበሰበው ምስል ጋር ይዛመዳል።

በሌላ አነጋገር ቀረበ የታተሙ መለያዎችን በ Git ውስጥ ከፈጸሙት ጋር በማገናኘት ላይ.

የመጨረሻ ውቅር እና አጠቃላይ ስልተ ቀመር

ጽዳትን ሲያዋቅሩ ተጠቃሚዎች አሁን የአሁን ምስሎችን የሚመርጡ መመሪያዎችን ማግኘት ይችላሉ። እያንዳንዱ እንደዚህ ዓይነት ፖሊሲ ይገለጻል፡-

  • ብዙ ማጣቀሻዎች ማለትም. በመቃኘት ጊዜ ጥቅም ላይ የሚውሉ Git tags ወይም Git ቅርንጫፎች;
  • እና ከተዘጋጀው ለእያንዳንዱ ማጣቀሻ የተፈለጉ ምስሎች ገደብ.

በምሳሌ ለማስረዳት፣ ነባሪ የፖሊሲ ውቅር መምሰል የጀመረው ይኸው ነው።

cleanup:
  keepPolicies:
  - references:
      tag: /.*/
      limit:
        last: 10
  - references:
      branch: /.*/
      limit:
        last: 10
        in: 168h
        operator: And
    imagesPerReference:
      last: 2
      in: 168h
      operator: And
  - references:  
      branch: /^(main|staging|production)$/
    imagesPerReference:
      last: 10

ይህ ውቅር የሚከተሉትን ህጎች የሚያከብሩ ሶስት መመሪያዎችን ይዟል።

  1. ምስሉን ላለፉት 10 Git መለያዎች ያስቀምጡ (በመለያ የፍጥረት ቀን)።
  2. ባለፈው ሳምንት ውስጥ የታተሙ ከ2 የማይበልጡ ምስሎችን ከ10 ክሮች በላይ ላለፈው ሳምንት እንቅስቃሴ አስቀምጥ።
  3. ለቅርንጫፎች 10 ምስሎችን ያስቀምጡ main, staging и production.

የመጨረሻው ስልተ ቀመር ወደሚከተለው ደረጃዎች ይወርዳል።

  • ከመያዣ መዝገብ ውስጥ አንጸባራቂዎችን በማውጣት ላይ።
  • በ Kubernetes ውስጥ ጥቅም ላይ የዋሉ ምስሎችን ሳያካትት, ምክንያቱም አስቀድመን የK8s ኤፒአይን በመምረጥ መረጥናቸው።
  • የGit ታሪክን በመቃኘት እና በተገለጹ መመሪያዎች ላይ የተመሠረቱ ምስሎችን ሳያካትት።
  • የተቀሩትን ምስሎች በማስወገድ ላይ።

ወደ ምሳሌአችን ስንመለስ፣ በ werf ላይ የሚሆነው ይህ ነው፡-

የእቃ መያዢያ ምስሎችን "ብልጥ" የማጽዳት ችግር እና መፍትሄው በዊርፍ

ሆኖም ግን, werf ን ባይጠቀሙም, የላቀ ምስልን ከማጽዳት ጋር ተመሳሳይ የሆነ አቀራረብ - በአንድ ወይም በሌላ (በተመረጠው የምስል መለያ አሰጣጥ ዘዴ) - ለሌሎች ስርዓቶች / መገልገያዎች ሊተገበር ይችላል. ይህንን ለማድረግ የሚነሱትን ችግሮች ማስታወስ በቂ ነው እና በተቻለ መጠን መፍትሄዎቻቸውን በተቻለ መጠን ለማዋሃድ የሚያስችሉዎትን እድሎች በእርስዎ ቁልል ውስጥ ያግኙ. የተጓዝንበት መንገድ የእርስዎን ልዩ ጉዳይ በአዲስ ዝርዝሮች እና ሀሳቦች ለመመልከት ይረዳዎታል ብለን ተስፋ እናደርጋለን።

መደምደሚያ

  • ፈጥኖም ይሁን ዘግይቶ፣ አብዛኞቹ ቡድኖች የመመዝገቢያ መብዛት ችግር ያጋጥማቸዋል።
  • መፍትሄዎችን በሚፈልጉበት ጊዜ በመጀመሪያ የምስሉን አግባብነት መስፈርት መወሰን ያስፈልጋል.
  • በታዋቂው የእቃ መመዝገቢያ አገልግሎት የሚሰጡ መሳሪያዎች "የውጭውን ዓለም" ግምት ውስጥ ያላስገባ በጣም ቀላል ማጽጃን እንዲያደራጁ ያስችሉዎታል-በኩበርኔትስ ውስጥ ጥቅም ላይ የዋሉ ምስሎች እና የቡድኑ የስራ ፍሰቶች ልዩነቶች.
  • ተለዋዋጭ እና ቀልጣፋ ስልተ-ቀመር ሾለ CI/CD ሂደቶች ግንዛቤ ሊኖረው እና በDocker ምስል ውሂብ ብቻ ሳይሆን መስራት አለበት።

PS

በብሎጋችን ላይ ያንብቡ፡-

ምንጭ: hab.com

አስተያየት ያክሉ