በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

ዛሬ ማመልከቻዎችን እንዴት እንደሚጽፉ እና ማመልከቻዎ በ Kubernetes ውስጥ በደንብ እንዲሰራ ምን ምን መስፈርቶች እንዳሉ ለመነጋገር እቅድ አለኝ. በመተግበሪያው ላይ ምንም አይነት ራስ ምታት እንዳይኖር, በዙሪያው ምንም "ክራች" መፈልሰፍ እና መገንባት እንዳይኖርብዎት - እና ሁሉም ነገር Kubernetes እራሱ ባሰበው መንገድ ነው የሚሰራው.

ይህ ትምህርት ክፍል ነው"Slurm የምሽት ትምህርት ቤት በኩበርኔትስ ላይ" የምሽት ትምህርት ቤት ክፍት ቲዎሬቲካል ንግግሮችን ማየት ይችላሉ። በ Youtube ላይ፣ ወደ አጫዋች ዝርዝር ተመድቧል. ከቪዲዮ ይልቅ ጽሑፍን ለሚመርጡ, ይህን ጽሑፍ አዘጋጅተናል.

ስሜ ፓቬል ሴሊቫኖቭ እባላለሁ, በአሁኑ ጊዜ እኔ በ Mail.ru Cloud Solutions ውስጥ መሪ የዴቭኦፕስ መሐንዲስ ነኝ, ደመናዎችን እንሰራለን, አስተዳደር kubernetes እና የመሳሰሉትን እናደርጋለን. የእኔ ተግባራቶች አሁን በልማት ላይ እገዛን፣ እነዚህን ደመናዎች መልቀቅ፣ የምንጽፋቸውን አፕሊኬሽኖች መልቀቅ እና ለተጠቃሚዎቻችን የምንሰጣቸውን መሳሪያዎች በቀጥታ ማዘጋጀትን ያካትታሉ።

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

እኔ ዴቭኦፕስን እየሠራሁ ነበር፣ ለመጨረሻ ጊዜ፣ ምናልባትም ለሦስት ዓመታት አስባለሁ። ነገር ግን፣ በመርህ ደረጃ፣ እኔ ዴቭኦፕስ የሚያደርገውን ምናልባት አሁን ለአምስት ዓመታት ያህል እየሰራሁ ነው። ከዚያ በፊት እኔ በአብዛኛው በአስተዳዳሪ ነገሮች ውስጥ እሳተፍ ነበር። ከኩበርኔትስ ጋር መሥራት የጀመርኩት ከረጅም ጊዜ በፊት ነው - ምናልባት ከእሱ ጋር መሥራት ከጀመርኩ አራት ዓመታት አልፈዋል።

በአጠቃላይ, ኩበርኔትስ ስሪት 1.3, ምናልባትም, እና ምናልባት 1.2 በሚሆንበት ጊዜ ጀመርኩ - ገና በጅምር ላይ እያለ. አሁን ገና በጅምር ላይ አይደለም - እና ኩበርኔትስ ማድረግ ለሚፈልጉ መሐንዲሶች በገበያ ውስጥ ትልቅ ፍላጎት እንዳለ ግልጽ ነው። እና ኩባንያዎች ለእንደዚህ አይነት ሰዎች በጣም ከፍተኛ ፍላጎት አላቸው. ስለዚህ, በእውነቱ, ይህ ንግግር ታየ.

እንደማወራው እቅድ መሰረት ከተነጋገርን, እንደዚህ ይመስላል, በቅንፍ ውስጥ ተጽፏል (TL; DR) - "በጣም ረጅም; አታነብም" የዛሬው አቀራረቤ ማለቂያ የሌላቸው ዝርዝሮችን ያካትታል።

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

እንደ እውነቱ ከሆነ እኔ ራሴ እንደዚህ ዓይነት አቀራረቦች ሲዘጋጁ አልወድም ፣ ግን ይህ ርዕሰ ጉዳይ ነው ፣ እናም ይህንን ዝግጅት በምዘጋጅበት ጊዜ ፣ ​​ይህንን መረጃ እንዴት በተለየ መንገድ ማደራጀት እንዳለብኝ በትክክል አላወቅኩም ነበር።

ምክንያቱም በአጠቃላይ ይህ መረጃ "ctrl+c,ctrl+v" ነው ከሌሎች ነገሮች በተጨማሪ የኛ ዊኪ በዴቭኦፕስ ክፍል ለገንቢዎች የሚያስፈልጉ መስፈርቶችን ከጻፍንበት: "ወንዶች ሆይ ማመልከቻህን በ ውስጥ እናስጀምር ኩበርኔትስ ፣ እንደዚህ መሆን አለበት ።

ለዚያም ነው የዝግጅት አቀራረብ በጣም ትልቅ ዝርዝር የሆነው. አዝናለሁ. ከተቻለ አሰልቺ እንዳይሆን በተቻለ መጠን ለመናገር እሞክራለሁ.

አሁን የምንመለከተውን ነገር፡-

  • እነዚህ በመጀመሪያ, ምዝግብ ማስታወሻዎች (የመተግበሪያ ምዝግብ ማስታወሻዎች?), በኩበርኔትስ ውስጥ ከነሱ ጋር ምን እንደሚደረግ, ከእነሱ ጋር ምን እንደሚደረግ, ምን መሆን እንዳለባቸው;
  • በ Kubernetes ውስጥ ካሉ ውቅሮች ጋር ምን እንደሚደረግ ፣ ለ Kubernetes መተግበሪያን ለማዋቀር በጣም ጥሩ እና መጥፎ መንገዶች ምንድ ናቸው ።
  • የተደራሽነት ፍተሻዎች በአጠቃላይ ምን እንደሆኑ፣ ምን መምሰል እንዳለባቸው እንነጋገር።
  • ግርማ ሞገስ ያለው መዘጋት ምን እንደሆነ እንነጋገር;
  • እንደገና ሾለ ሀብቶች እንነጋገር;
  • እንደገና የውሂብ ማከማቻ ርዕስ ላይ እንንካ;
  • እና በመጨረሻ ይህ ሚስጥራዊ የደመና-ተወላጅ መተግበሪያ የሚለው ቃል ምን እንደሆነ እነግርዎታለሁ። ደመናዊነት፣ የዚህ ቃል ቅጽል ሆኖ።

መዝገቦች

በምዝግብ ማስታወሻዎች ለመጀመር ሀሳብ አቀርባለሁ - እነዚህ ምዝግብ ማስታወሻዎች በኩበርኔትስ ውስጥ መቦጨቅ ከሚያስፈልጋቸው ቦታዎች ጋር። አሁን ኩበርኔትስ ውስጥ መተግበሪያ ጀምረሃል። እንደ አንጋፋዎቹ ፣ ከዚህ ቀደም አፕሊኬሽኖች ሁል ጊዜ በፋይል ውስጥ የሆነ ቦታ ምዝግብ ማስታወሻዎችን ይጽፋሉ። መጥፎ አፕሊኬሽኖች አፕሊኬሽኑን ባጀመረው ገንቢ የቤት ማውጫ ውስጥ ላለ ፋይል ምዝግብ ማስታወሻ ጽፈዋል። ጥሩ አፕሊኬሽኖች የሆነ ቦታ ላይ ምዝግብ ማስታወሻዎችን ፅፈዋል /var/log.

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

በዚህ መሠረት በተጨማሪ ጥሩ አስተዳዳሪዎች በመሠረተ ልማታቸው ውስጥ የተዋቀሩ አንዳንድ ነገሮች ነበሯቸው እነዚህ ምዝግብ ማስታወሻዎች ሊሽከረከሩ የሚችሉ - ተመሳሳይ rsyslog, እነዚህን ምዝግብ ማስታወሻዎች የሚመለከት እና አንድ ነገር ሲደርስባቸው, በጣም ብዙ ናቸው, የመጠባበቂያ ቅጂዎችን ይፈጥራል , ምዝግብ ማስታወሻዎችን እዚያ ያስቀምጣል. , የቆዩ ፋይሎችን ይሰርዛል, ከአንድ ሳምንት በላይ, ስድስት ወር እና አንዳንድ ተጨማሪ. በንድፈ ሀሳብ አፕሊኬሽኑ የምዝግብ ማስታወሻዎችን ስለሚጽፍ ብቻ በፕሮዳክሽን ሰርቨሮች ላይ ያለው ቦታ (የጦርነት ሰርቨር?) እንዳያልቅ ድንጋጌዎች ሊኖረን ይገባል። እናም, በዚህ መሰረት, በምዝግብ ማስታወሻዎች ምክንያት ምርቱ በሙሉ አልቆመም.

ወደ ኩበርኔትስ ዓለም ስንሄድ እና እዚያ ተመሳሳይ ነገር ስናካሂድ በመጀመሪያ ትኩረት ልትሰጠው የምትችለው ነገር ሰዎች በፋይል ውስጥ መዝገቦችን እንደፃፉ, መፃፋቸውን ይቀጥላሉ.

ስለ ኩበርኔትስ ከተነጋገርን ፣ ከዶክተር ኮንቴይነር የሆነ ቦታ ላይ መዝገቦችን ለመፃፍ ትክክለኛው ቦታ በቀላሉ ከመተግበሪያው ወደ ስታዶት / ስተርደር ተብሎ ወደሚጠራው ፣ ማለትም የስርዓተ ክወናው መደበኛ የውጤት ጅረቶች መፃፍ ነው ። መደበኛው የስህተት ውጤት . ይህ በዶከር እና በተለይም በኩበርኔትስ ውስጥ ምዝግብ ማስታወሻዎችን በመርህ ላይ ለማስቀመጥ በጣም ትክክለኛ ፣ ቀላሉ እና በጣም ምክንያታዊ መንገድ ነው። ምክንያቱም ማመልከቻዎ ለ Stdout/Stderr ምዝግብ ማስታወሻዎችን ከጻፈ፣ በእነዚህ ምዝግብ ማስታወሻዎች ምን እንደሚደረግ ለመወሰን የዶከር እና የኩበርኔትስ ተጨማሪዎች ናቸው። Docker በነባሪ ልዩ ፋይሎቹን በJSON ቅርጸት ይገነባል።

እዚህ ጥያቄው የሚነሳው በእነዚህ ምዝግብ ማስታወሻዎች ቀጥሎ ምን ታደርጋለህ? ቀላሉ መንገድ ግልጽ ነው, እኛ ለማድረግ ችሎታ አለን kubectl logs እና የእነዚህን "ፖድ" ምዝግብ ማስታወሻዎች ተመልከት. ግን, ምናልባት, ይህ በጣም ጥሩ አማራጭ አይደለም - ሌላ ነገር በምዝግብ ማስታወሻዎች መደረግ አለበት.

ለአሁን ፣ በተመሳሳይ ጊዜ እንነጋገር ፣ የምዝግብ ማስታወሻዎችን ርዕስ ስለነካን ፣ እንደ ሎግ ያለ ነገር መምሰል አለበት ። ያም ማለት ይህ በቀጥታ በ Kubernetes ላይ አይተገበርም, ነገር ግን ከሎግ ጋር ምን ማድረግ እንዳለብን ማሰብ ስንጀምር, ስለዚህ ጉዳይ ብታስብ ጥሩ ይሆናል.

ዶክተራችን የሚያስቀምጣቸውን ምዝግብ ማስታወሻዎች ወደ ፋይሎቹ ወስዶ ወደ አንድ ቦታ የሚልካቸውን በሰላማዊ መንገድ አንድ ዓይነት መሳሪያ እንፈልጋለን። በጥቅሉ ፣ እኛ ብዙውን ጊዜ በ Kubernetes ውስጥ አንድ ዓይነት ወኪል በ DaemonSet - ሎግ ሰብሳቢ ፣ በቀላሉ ዶከር የሚሰበስበው ምዝግብ ማስታወሻዎች የት እንደሚገኙ ይነገራል። እናም ይህ ሰብሳቢ ወኪል በቀላሉ ይወስዳቸዋል፣ ምናልባትም በመንገዳቸው ላይ በሆነ መንገድ ይተነትናል፣ ምናልባትም አንዳንድ ተጨማሪ ሜታ-መረጃዎችን ያበለጽጋቸዋል እና በመጨረሻም ወደ ቦታ ማከማቻ ይልካቸዋል። ልዩነቶች ቀድሞውኑ ሊኖሩ ይችላሉ። በጣም የተለመደው ምናልባት Elasticsearch ነው፣ ምዝግብ ማስታወሻዎችን ማከማቸት የሚችሉበት እና በተመቻቸ ሁኔታ ከዚያ ማምጣት ይችላሉ። ከዚያም ጥያቄን በመጠቀም ኪባናን በመጠቀም ለምሳሌ በእነሱ ላይ የተመሰረቱ ግራፎችን ይገንቡ, በእነሱ ላይ በመመስረት ማንቂያዎችን ይገንቡ, ወዘተ.

በጣም አስፈላጊው ሀሳብ ፣ እንደገና ልድገመው ፣ በ Docker ውስጥ ፣ በተለይም በ Kubernetes ውስጥ ፣ ምዝግብ ማስታወሻዎችዎን በፋይል ውስጥ ማከማቸት በጣም መጥፎ ሀሳብ ነው።

ምክንያቱም በመጀመሪያ, ምዝግብ ማስታወሻዎችን ወደ መያዣው ውስጥ በፋይል ውስጥ ማስገባት አስቸጋሪ ነው. መጀመሪያ ወደ መያዣው ውስጥ ገብተህ እዚያ ግባ እና ከዛም ምዝግቦቹን ተመልከት። የሚቀጥለው ነጥብ በፋይል ውስጥ ምዝግብ ማስታወሻዎች ካሉ, ከዚያም ኮንቴይነሮቹ ብዙውን ጊዜ ዝቅተኛ አካባቢ አላቸው እና አብዛኛውን ጊዜ ከሎግ ጋር ለመደበኛ ሥራ የሚያስፈልጉት መገልገያዎች የሉም. ቀበሯቸው, ተመልከቷቸው, በጽሑፍ አርታኢ ውስጥ ይክፈቱ. የሚቀጥለው ቅጽበት በኮንቴይነር ውስጥ በፋይል ውስጥ ምዝግብ ማስታወሻዎች ሲኖረን ይህ ኮንቴይነር ከተሰረዘ እርስዎ ይገባዎታል ፣ ምዝግብ ማስታወሻዎቹ አብረው ይሞታሉ። በዚህ መሠረት መያዣው እንደገና መጀመር ማለት ምንም ተጨማሪ ምዝግብ ማስታወሻዎች የሉም ማለት ነው. እንደገና, መጥፎ አማራጭ.

እና የመጨረሻው ነጥብ በኮንቴይነሮች ውስጥ ብዙውን ጊዜ ማመልከቻዎን ይዘዋል እና ያ ነው - ብዙውን ጊዜ የሚሄደው ብቸኛው ሂደት ነው። ፋይሎችን በምዝግብ ማስታወሻዎችዎ ስለሚሽከረከር ስለማንኛውም ሂደት ምንም ንግግር የለም። ምዝግብ ማስታወሻዎቹ ወደ ፋይል መፃፍ እንደጀመሩ ፣ ይህ ማለት ፣ ይቅርታ ፣ የምርት አገልጋዩን ማጣት እንጀምራለን ማለት ነው። ምክንያቱም በመጀመሪያ ፣ እነርሱን ለማግኘት አስቸጋሪ ናቸው ፣ ማንም አይከታተላቸውም ፣ እና ማንም አይቆጣጠራቸውም - በዚህ መሠረት ፣ በአገልጋዩ ላይ ያለው ቦታ በቀላሉ እስኪያልቅ ድረስ ፋይሉ ያለማቋረጥ ያድጋል። ስለዚህ, እንደገና እላለሁ Docker, በተለይም Kubernetes ውስጥ, ወደ ፋይል መግባት መጥፎ ሀሳብ ነው.

የሚቀጥለው ነጥብ ፣ እዚህ እንደገና ስለዚህ ጉዳይ ማውራት እፈልጋለሁ - ስለ ምዝግብ ማስታወሻዎች ርዕስ ስለምንነካ ፣ ከእነሱ ጋር ለመስራት ምቹ ለማድረግ የምዝግብ ማስታወሻዎች እንዴት መታየት እንዳለባቸው ማውራት ጥሩ ነው። እንዳልኩት፣ ርዕሱ በቀጥታ ከኩበርኔትስ ጋር የተገናኘ አይደለም፣ ነገር ግን ከዴቭኦፕስ ርዕስ ጋር በጥሩ ሁኔታ ይዛመዳል። በእነዚህ ሁለት የተለያዩ ክፍሎች መካከል ስለ ልማት ባህል እና ጓደኝነት - ዴቭ እና ኦፕስ ፣ ሁሉም ሰው እንዲመች።

ይህ ማለት በትክክል፣ ዛሬ፣ ምዝግብ ማስታወሻዎች በJSON ቅርጸት መፃፍ አለባቸው። አንዳንድ አይነት ህትመቶችን ወይም እንደዚህ አይነት ነገርን ስለሚያስገቡ, ለመረዳት በማይቻሉ ቅርጸቶች ውስጥ ምዝግብ ማስታወሻዎችን የሚጽፍ, የእራስዎ የሆነ ለመረዳት የማይቻል መተግበሪያ ካለዎት, አንዳንድ አይነት ማዕቀፍን ጎግል ለማድረግ ጊዜው አሁን ነው, መደበኛ ምዝግብ ማስታወሻን እንዲተገብሩ የሚያስችልዎ አይነት ጥቅል; JSON ውስጥ የመግቢያ መለኪያዎችን ያንቁ፣ ምክንያቱም JSON ቀላል ቅርጸት ነው፣ መተንተን ቀላል ነው።

የእርስዎ JSON በአንዳንድ መመዘኛዎች የማይሰራ ከሆነ፣ ማንም የሚያውቀው ነገር የለም፣ ከዚያ ቢያንስ ምዝግብ ማስታወሻዎችን ሊተነተን በሚችል ቅርጸት ይፃፉ። እዚህ ፣ ይልቁንም ፣ ለምሳሌ ፣ ብዙ መያዣዎችን እየሮጡ ከሆነ ወይም በ nginx ብቻ የሚከናወኑ ከሆነ ፣ እና እያንዳንዱ የራሱ የመግቢያ መቼቶች ካሉት ፣ ምናልባት ለእርስዎ የማይመች ይመስላል። መተንተንዋቸው። ምክንያቱም ለእያንዳንዱ አዲስ nginx ምሳሌ የእራስዎን ተንታኝ መጻፍ ያስፈልግዎታል, ምክንያቱም ምዝግብ ማስታወሻዎችን በተለየ መንገድ ይጽፋሉ. እንደገና፣ እነዚህ ሁሉ የ nginx ምሳሌዎች ተመሳሳይ የምዝግብ ማስታወሻ ውቅር እንዳላቸው እና ሁሉንም ምዝግብ ማስታወሻዎቻቸውን ሙሉ ለሙሉ አንድ ወጥ በሆነ መልኩ መፃፋቸውን ስለማረጋገጥ ማሰብ ጠቃሚ ነበር። በሁሉም መተግበሪያዎች ላይም ተመሳሳይ ነው።

በመጨረሻ ፣ በእሳት ላይ ነዳጅ መጨመር እፈልጋለሁ ፣ በጥሩ ሁኔታ ፣ ባለብዙ መስመር ቅርፀት ምዝግብ ማስታወሻዎች መወገድ አለባቸው። ነገሩ ይኸውልህ፣ ከሎግ ሰብሳቢዎች ጋር ሰርተህ ከሰራህ፣ ምናልባትም ቃል የገቡልህን አይተሃል፣ ከብዙ መስመር ምዝግብ ማስታወሻዎች ጋር መስራት እንደሚችሉ፣ እንዴት እንደሚሰበስቡ ማወቅ፣ ወዘተ. እንደ እውነቱ ከሆነ, በእኔ አስተያየት, ዛሬ አንድ ሰብሳቢ የባለብዙ መስመር ምዝግብ ማስታወሻዎችን በመደበኛነት, ሙሉ በሙሉ እና ያለምንም ስህተቶች መሰብሰብ አይችልም. ምቹ እና ከስህተት የጸዳ እንዲሆን በሰው መንገድ።

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

ነገር ግን የቁልል ዱካ ሁል ጊዜ ባለብዙ መስመር ምዝግብ ማስታወሻዎች እና እንዴት እነሱን ማስወገድ እንደሚቻል ነው። እዚህ ላይ የሚነሳው ጥያቄ ሎግ የአንድ ክስተት መዝገብ ነው፣ እና ስታክትራክስ በእውነቱ ግንድ አይደለም። ምዝግብ ማስታወሻዎችን ከሰበሰብን እና በ Elasticsearch ውስጥ የሆነ ቦታ ካስቀመጥን እና ከዚያ ግራፎችን ከስዕል ፣ በጣቢያዎ ላይ የተጠቃሚ እንቅስቃሴ አንዳንድ ሪፖርቶችን እንገነባለን ፣ ከዚያ ቁልል ዱካ ሲያገኙ ፣ ይህ ማለት ያልተጠበቀ ነገር እየተፈጠረ ነው ማለት ነው ። በማመልከቻዎ ውስጥ ያልተያዘ ሁኔታ ። እና የቁልል መከታተያ የሆነ ቦታ ላይ እነሱን መከታተል በሚችል ስርዓት ውስጥ በራስ ሰር መስቀል ምክንያታዊ ነው።

ይህ ሶፍትዌር (ተመሳሳይ ሴንትሪ) ከቁልል ዱካ ጋር እንዲሠራ በተለይ የተሰራ ነው። ወዲያውኑ አውቶማቲክ ስራዎችን ሊፈጥር ይችላል, ለአንድ ሰው ይመድባል, ስታክቲክስ ሲከሰት ያስጠነቅቃል, እነዚህን ስቴቶች በአንድ ዓይነት ይመድባል, ወዘተ. በመርህ ደረጃ, ስለ ምዝግብ ማስታወሻዎች ስንናገር ስለ ስታትስቲክስ ማውራት ብዙም ትርጉም የለውም, ምክንያቱም እነዚህ, ከሁሉም በላይ, የተለያዩ ዓላማዎች ያላቸው የተለያዩ ነገሮች ናቸው.

ውቅር

በመቀጠል በ Kubernetes ውስጥ ስላለው ውቅር እንነጋገራለን-ምን ማድረግ እንዳለበት እና በ Kubernetes ውስጥ ያሉ መተግበሪያዎች እንዴት እንደሚዋቀሩ። በአጠቃላይ, እኔ ብዙውን ጊዜ ዶከር ስለ ኮንቴይነሮች አይደለም እላለሁ. Docker ስለ ኮንቴይነሮች፣ ከዶከር ጋር ብዙም ያልሰሩትን እንኳን ሁሉም ሰው ያውቃል። እደግመዋለሁ Docker ስለ ኮንቴይነሮች አይደለም.

ዶከር, በእኔ አስተያየት, ስለ ደረጃዎች ነው. እና ለሁሉም ነገር በተግባር ደረጃዎች አሉ-መተግበሪያዎን ለመገንባት ደረጃዎች ፣ መተግበሪያዎን ለመጫን ደረጃዎች።

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

እና ይህ ነገር - እኛ ከዚህ በፊት እንጠቀማለን ፣ በተለይም በመያዣዎች መምጣት በጣም ታዋቂ ሆነ - ይህ ነገር ENV (አካባቢ) ተለዋዋጮች ፣ ማለትም በስርዓተ ክወናዎ ውስጥ ያሉ የአካባቢ ተለዋዋጮች ይባላል። ይህ በአጠቃላይ መተግበሪያዎን ለማዋቀር ተስማሚ መንገድ ነው, ምክንያቱም በ JAVA, Python, Go, Perl, God bid, እና ሁሉም የውሂብ ጎታ አስተናጋጁን, የውሂብ ጎታ ተጠቃሚን, የውሂብ ጎታ የይለፍ ቃል ተለዋዋጮችን ማንበብ ይችላሉ, ከዚያ ተስማሚ ነው. በተመሳሳይ መልኩ በዳታቤዝ እቅድ ውስጥ የተዋቀሩ በአራት ቋንቋዎች ያሉ መተግበሪያዎች አሉዎት። ምንም ተጨማሪ የተለያዩ ውቅሮች የሉም።

ሁሉም ነገር ENV ተለዋዋጮችን በመጠቀም ሊዋቀር ይችላል። ስለ ኩበርኔትስ ስናወራ የENV ተለዋዋጮችን በትክክል በ Deployment ውስጥ ለማወጅ ጥሩ መንገድ አለ። በዚህ መሠረት ስለ ሚስጥራዊ መረጃ እየተነጋገርን ከሆነ ወዲያውኑ ሚስጥራዊ መረጃዎችን ከኤንቪ ተለዋዋጮች (የይለፍ ቃል ወደ ዳታቤዝ ወዘተ) ወደ ምስጢር ገፋን ፣ ሚስጥራዊ ክላስተር ፈጥረን እና በዲፕሎፕመንት ውስጥ ባለው የ ENV መግለጫ ላይ በቀጥታ እያወጅን እንዳልሆነ እንጠቁማለን። የዚህ ተለዋዋጭ እሴት, እና የዚህ የውሂብ ጎታ የይለፍ ቃል ተለዋዋጭ እሴት ከሚስጥር ይነበባል. ይህ መደበኛ የኩበርኔትስ ባህሪ ነው። እና ይህ መተግበሪያዎን ለማዋቀር በጣም ጥሩው አማራጭ ነው። ልክ በኮድ ደረጃ፣ ይህ እንደገና ገንቢዎችን ይመለከታል። DevOps ከሆንክ፣ እንዲህ ብለህ መጠየቅ ትችላለህ፡- “ወንዶች፣ እባኮትን ማመልከቻህን የአካባቢ ተለዋዋጮችን እንዲያነብ አስተምረው። እና ሁላችንም ደስተኞች እንሆናለን.

በኩባንያው ውስጥ ያሉ ሁሉም ሰዎች ተመሳሳይ ስያሜ ያላቸው የአካባቢ ተለዋዋጮችን ካነበቡ ያ በጣም ጥሩ ነው። አንዳንዶች የፖስትግሬስ ዳታቤዝ እየጠበቁ መሆናቸው እንዳይከሰት ፣ ሌሎች የውሂብ ጎታውን ስም እየጠበቁ ፣ ሌሎች ሌላ ነገር እየጠበቁ ናቸው ፣ ሌሎች ደግሞ አንድ ዓይነት ዲቢን እየጠበቁ ናቸው ፣ በዚህም መሠረት ፣ ተመሳሳይነት አለ።

ችግሩ የሚመጣው በጣም ብዙ የአካባቢ ተለዋዋጮች ሲኖሯችሁ ነው ስለዚህም ማሰማራትን ብቻ የምትከፍቱት - እና አምስት መቶ የአከባቢ ተለዋዋጮች መስመሮች አሉ። በዚህ ሁኔታ እርስዎ በቀላሉ ያደጉ የአካባቢ ተለዋዋጮች አሉዎት - እና እራስዎን ማሰቃየት አያስፈልግዎትም። በዚህ አጋጣሚ, ውቅሮችን መጠቀም መጀመር ምክንያታዊ ይሆናል. ማለትም፣ አፕሊኬሽኑን ውቅሮችን ለመጠቀም ያሰለጥኑ።

ብቸኛው ጥያቄ ውቅሮች እርስዎ የሚያስቡት አይደሉም። Config.pi ለመጠቀም ምቹ የሆነ ውቅር አይደለም። ወይም አንዳንድ ውቅር በራስዎ ፎርማት፣ በአማራጭ ተሰጥኦ ያለው - ይህ ደግሞ እኔ የምለው ውቅር አይደለም።

እኔ የማወራው ተቀባይነት ባላቸው ቅርጸቶች ውቅር ነው፣ ማለትም፣ እስካሁን ድረስ በጣም ታዋቂው መስፈርት የ.yaml ደረጃ ነው። እንዴት እንደሚነበብ ግልጽ ነው, ሰው ሊነበብ የሚችል ነው, ከማመልከቻው እንዴት እንደሚነበብ ግልጽ ነው.

በዚህ መሠረት፣ ከ YAML በተጨማሪ፣ ለምሳሌ፣ JSON ን መጠቀም ይችላሉ፣ የመተግበሪያውን ውቅረት ከዚያ ለማንበብ እንደ YAML መተንተን በጣም ምቹ ነው። ለሰዎች ለማንበብ የበለጠ የማይመች እንደሆነ ይታወቃል። ቅርጸቱን መሞከር ትችላለህ, a la ini. ለማንበብ በጣም ምቹ ነው፣ ከሰው እይታ አንጻር፣ ነገር ግን እሱን በራስ-ሰር ለማስኬድ የማይመች ሊሆን ይችላል፣በዚህ መልኩ የእራስዎን ውቅሮች ማመንጨት ከፈለጉ፣የ ini ቅርጸቱ ለማመንጨት የማይመች ሊሆን ይችላል።

ነገር ግን በማንኛውም ሁኔታ, የመረጡት ቅርጸት, ነጥቡ ከኩበርኔትስ እይታ አንጻር በጣም ምቹ ነው. ሙሉውን ውቅረትዎን በConfigMap ውስጥ Kubernetes ውስጥ ማስቀመጥ ይችላሉ። እና ከዚያ ይህን ማዋቀር ወስደህ በተወሰነ ማውጫ ውስጥ በፖድህ ውስጥ እንዲሰቀል ጠይቅ፣ አፕሊኬሽኑ ከዚህ ውቅረት ላይ እንደ ፋይል ብቻ ያነባል። ይህ በእውነቱ በመተግበሪያዎ ውስጥ ብዙ የማዋቀር አማራጮች ሲኖሩዎት ማድረግ ጥሩ ነው። ወይም አንድ ዓይነት ውስብስብ መዋቅር ብቻ ነው, ጎጆ አለ.

ውቅረት ካርታ ካለዎት መተግበሪያዎን በጥሩ ሁኔታ ማስተማር ይችላሉ ፣ ለምሳሌ ፣ ማዋቀሪያው በተሰቀለበት ፋይል ውስጥ ለውጦችን በራስ-ሰር ለመከታተል እና እንዲሁም አወቃቀሮቹ ሲቀየሩ መተግበሪያዎን በራስ-ሰር እንደገና ይጫኑት። ይህ በአጠቃላይ ተስማሚ አማራጭ ይሆናል.

በድጋሚ, ስለዚህ ጉዳይ አስቀድሜ ተናገርኩ - ሚስጥራዊ መረጃ በማዋቀሪያው ውስጥ የለም, ሚስጥራዊ መረጃ በተለዋዋጮች ውስጥ አይደለም, ሚስጥራዊ መረጃ በምስጢር ውስጥ አይደለም. ከዚያ ይህን ሚስጥራዊ መረጃ ከዲፕሎማሲ ጋር ያገናኙት። ብዙውን ጊዜ ሁሉንም የ Kubernetes ዕቃዎች ፣ ማሰማራት ፣ ማዋቀር ፣ አገልግሎቶችን በgit ውስጥ እናከማቻለን ። በዚህ መሠረት በ git ውስጥ የይለፍ ቃሉን ወደ ዳታቤዝ ማስገባት ምንም እንኳን በኩባንያው ውስጥ ያለዎት የእርስዎ git ቢሆንም እንኳን መጥፎ ሀሳብ ነው። ምክንያቱም ቢያንስ ጊት ሁሉንም ነገር ያስታውሳል እና የይለፍ ቃሎችን በቀላሉ ከዚያ ማስወገድ ቀላል አይደለም።

የጤና ምርመራ

የሚቀጥለው ነጥብ ይህ የጤና ምርመራ ተብሎ የሚጠራው ነገር ነው. በአጠቃላይ፣ የጤና ምርመራ በቀላሉ ማመልከቻዎ እየሰራ መሆኑን ማረጋገጥ ነው። በተመሳሳይ ጊዜ እኛ ብዙውን ጊዜ ስለ አንዳንድ የድር መተግበሪያዎች እየተነጋገርን ነው ፣ በዚህ መሠረት ከጤና ቁጥጥር እይታ አንፃር (እዚህ እና ተጨማሪ መተርጎም ባይቻል ይሻላል) ይህ እንደ እነሱ የሚያስኬዱት አንዳንድ ልዩ ዩአርኤል ይሆናል ። መደበኛ, ብዙውን ጊዜ ያደርጉታል /health.

ይህንን ዩአርኤል ስንደርስ፣ በዚሁ መሰረት፣ መተግበሪያችን ወይ “አዎ፣ እሺ፣ ሁሉም ነገር በኔ ጥሩ ነው፣ 200” ወይም “አይ፣ ሁሉም ነገር በእኔ ላይ ጥሩ አይደለም፣ አንዳንድ 500” ይላል። በዚህ መሰረት የእኛ መተግበሪያ http ካልሆነ የድር መተግበሪያ አይደለም, አሁን እየተነጋገርን ያለነው ስለ አንድ ዓይነት ዴሞን ነው, እንዴት የጤና ምርመራ ማድረግ እንዳለብን ማወቅ እንችላለን. ማለትም, አስፈላጊ አይደለም, አፕሊኬሽኑ http ካልሆነ, ሁሉም ነገር ያለ ጤና ምርመራ ይሰራል እና ይህ በምንም መልኩ ሊከናወን አይችልም. በፋይሉ ውስጥ አንዳንድ መረጃዎችን በየጊዜው ማዘመን ይችላሉ፣ ለዴሞንዎ አንዳንድ ልዩ ትዕዛዝ ይዘው መምጣት ይችላሉ፣ ለምሳሌ፣ daemon status, እሱም "አዎ, ሁሉም ነገር ደህና ነው, ዲሞን እየሰራ ነው, ሕያው ነው."

ለምንድን ነው? የመጀመሪያው እና በጣም ግልጽ የሆነው ነገር ምናልባት የጤና ምርመራ ለምን እንደሚያስፈልግ - ማመልከቻው እየሰራ መሆኑን ለመረዳት. ማለቴ ሞኝነት ነው፣ አሁን ሲነሳ፣ የሚሰራ ይመስላል፣ ስለዚህ እየሰራ መሆኑን እርግጠኛ ይሁኑ። እና አፕሊኬሽኑ እየሰራ ነው ፣ መያዣው እየሰራ ነው ፣ ምሳሌው እየሰራ ነው ፣ ሁሉም ነገር ጥሩ ነው - እና ከዚያ ተጠቃሚዎቹ ሁሉንም የስልክ ቁጥሮች ከቴክኒካዊ ድጋፍ ቆርጠው “ምን ነህ… እንቅልፍ ወሰደው ፣ ምንም አይሰራም።

የጤና ፍተሻ ከተጠቃሚው እይታ አንጻር የሚሰራ መሆኑን ለማየት የሚያስችል መንገድ ነው። አንዱ ዘዴ። በዚህ መልኩ እናስቀምጥ። ከኩበርኔትስ እይታ ይህ ደግሞ ማመልከቻው ሲጀምር የመረዳት መንገድ ነው, ምክንያቱም መያዣው ሲነሳ, ሲፈጠር እና ሲጀመር, እና ማመልከቻው በቀጥታ በዚህ መያዣ ውስጥ ሲጀመር መካከል ልዩነት እንዳለ ስለምንረዳ. ምክንያቱም አማካኝ የጃቫ አፕሊኬሽን ወስደን በመትከያው ውስጥ ለማስጀመር ከሞከርን ለአርባ ሰከንድ ወይም ለአንድ ደቂቃ ወይም አስር እንኳን ቢሆን በጥሩ ሁኔታ ሊጀምር ይችላል። በዚህ ሁኔታ, ቢያንስ የእሱን ወደቦች ማንኳኳት ይችላሉ, እዚያ መልስ አይሰጥም, ማለትም, ትራፊክ ለመቀበል ገና ዝግጁ አይደለም.

እንደገና በጤና ምርመራ እርዳታ እና ወደዚህ እየዞርን ባለው እውነታ በኩበርኔትስ ውስጥ በመተግበሪያው ውስጥ መያዣው እንደተነሳ ብቻ ሳይሆን አፕሊኬሽኑ ራሱ እንደጀመረ መረዳት እንችላለን. የጤና ምርመራ ማለት ወደዚያ ትራፊክ መላክ እንችላለን ማለት ነው።

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

አሁን እያወራው ያለሁት በኩበርኔትስ ውስጥ የዝግጅነት/የህይወት ፈተናዎች ይባላል።በዚህም መሰረት፣የእኛ ዝግጁነት ፈተናዎች አፕሊኬሽኑን በማመጣጠን መገኘት ሃላፊነት አለባቸው። ማለትም፣ የዝግጁነት ፈተናዎች በመተግበሪያው ውስጥ ከተደረጉ፣ ሁሉም ነገር ደህና ነው፣ የደንበኛ ትራፊክ ወደ ማመልከቻው እየሄደ ነው። የዝግጁነት ፈተናዎች ካልተደረጉ, አፕሊኬሽኑ በቀላሉ አይሳተፍም, ይህ ልዩ ምሳሌ በማመጣጠን ላይ አይሳተፍም, ከማመጣጠን ይወገዳል, የደንበኛ ትራፊክ አይፈስም. በዚህ መሠረት በ Kubernetes ውስጥ ያሉ የLiveness ሙከራዎች ያስፈልጋሉ ስለዚህ አፕሊኬሽኑ ከተጣበቀ እንደገና መጀመር ይችላል። በ Kubernetes ውስጥ ለተገለጸው መተግበሪያ የቀጥታነት ፈተና የማይሰራ ከሆነ, ማመልከቻው ከማመጣጠን ብቻ የተወገደ አይደለም, እንደገና ይጀመራል.

እና እዚህ ልጠቅስ የምፈልገው አንድ ጠቃሚ ነጥብ አለ፡ ከተግባራዊ እይታ አንጻር የዝግጁነት ፈተና ብዙ ጊዜ ጥቅም ላይ የሚውል ሲሆን ከህይወት ፈተና ይልቅ ብዙ ጊዜ ይፈለጋል። ማለትም ፣ በቀላሉ ሳያስቡት ሁለቱንም ዝግጁነት እና የህይወት ፈተናዎችን ማወጅ ፣ ምክንያቱም ኩበርኔትስ ያንን ማድረግ ይችላል ፣ እና እሱ የሚያደርገውን ሁሉንም ነገር እንጠቀም ፣ በጣም ጥሩ ሀሳብ አይደለም። ለምን እንደሆነ አስረዳለሁ። ምክንያቱም በምርመራ ላይ ያለው ነጥብ ሁለት በጤና ፍተሻዎ ውስጥ ያለውን አገልግሎት መፈተሽ ጥሩ ሀሳብ ነው። ይህ ማለት አንዳንድ መረጃዎችን የሚሰጥ የድረ-ገጽ አፕሊኬሽን ካለዎት, እሱም በተራው, በተፈጥሮ, ከየትኛው ቦታ መውሰድ አለበት. ለምሳሌ በመረጃ ቋት ውስጥ። ደህና፣ ወደዚህ REST ኤፒአይ የሚመጣውን መረጃ በተመሳሳይ የውሂብ ጎታ ውስጥ ያስቀምጣል። ከዚያ በዚህ መሰረት፣ የጤና ቼክዎ ልክ እንደተገናኘው slashhealth ምላሽ ከሰጠ፣ አፕሊኬሽኑ “200፣ እሺ፣ ሁሉም ነገር ደህና ነው” ይላል፣ እና በተመሳሳይ ጊዜ የማመልከቻዎ ዳታቤዝ ተደራሽ አይደለም፣ እና የጤና ቼክ አፕሊኬሽኑ “200፣ እሺ፣ ሁሉም ነገር ደህና ነው” ይላል። ” - ይህ መጥፎ የጤና ምርመራ ነው። መስራት ያለበት ይህ አይደለም።

ማለትም፡ ማመልከቻህ፡ ጥያቄ ሲመጣ /health“200፣ እሺ” የሚል ምላሽ ብቻ አይሰጥም፣ በመጀመሪያ ይሄዳል፣ ለምሳሌ፣ ወደ ዳታቤዙ፣ ከእሱ ጋር ለመገናኘት ይሞክራል፣ እዚያ በጣም መሠረታዊ የሆነ ነገር ያደርጋል፣ እንደ አንድ ይምረጡ፣ በ ውስጥ ግንኙነት እንዳለ ብቻ ይፈትሻል። የውሂብ ጎታ እና የውሂብ ጎታውን መጠየቅ ይችላሉ. ይህ ሁሉ የተሳካ ከሆነ መልሱ “200፣ እሺ” ነው። ካልተሳካ, ስህተት እንዳለ ይናገራል, የውሂብ ጎታው አይገኝም.

ስለዚህ ፣ በዚህ ረገድ ፣ እንደገና ወደ ዝግጁነት/የህይወት ፈተናዎች እመለሳለሁ - ለምንድነው የዝግጁነት ፈተና ለምን ያስፈልግዎታል ፣ ግን የህይወት ፈተና በጥያቄ ውስጥ ነው። ምክንያቱም የጤና ምርመራዎችን ልክ እንዳልኩት ከገለጽክ በምሳሌው ክፍል ላይ አይገኝምв или со всех instanceለምሳሌ በመረጃ ቋት ውስጥ። የዝግጁነት ፈተናን ስታውጅ፣የእኛ የጤና ቼኮች ውድቀት ጀመሩ፣እናም በዚህ መሰረት ሁሉም አፕሊኬሽኖች የውሂብ ጎታው የማይደረስባቸው ትግበራዎች በቀላሉ ሚዛንን ከመጠበቅ ጠፍተዋል እና በእውነቱ ችላ በተባለ ሁኔታ ውስጥ “ይንጠለጠሉ” እና የውሂብ ጎታዎቻቸውን እስኪጠብቁ ይጠብቁ። ሥራ ።

የአኗኗር ፈተናን ካወጅን፣ እንግዲያውስ አስቡት፣ የእኛ ዳታቤዝ ተበላሽቷል፣ እና በእርስዎ Kubernetes ውስጥ የግማሽ የሚሆነው ነገር እንደገና መጀመር የጀመረው የቀጥታነት ፈተናው ስላልተሳካ ነው። ይህ ማለት እንደገና መጀመር ያስፈልግዎታል ማለት ነው. ይህ የፈለጋችሁት በፍፁም አይደለም፣ በተግባርም የግል ልምድ ነበረኝ። በJS የተፃፈ እና ወደ ሞንጎ ዳታቤዝ የገባ የውይይት መተግበሪያ ነበረን። እና ችግሩ ከኩበርኔትስ ጋር በምሰራበት ጊዜ መጀመሪያ ላይ ነበር ፣ እኛ ኩበርኔትስ ማድረግ ይችላል በሚለው መርህ ላይ የፈተናዎችን ዝግጁነት ፣ ሕያውነት ገለጽነው ፣ ስለሆነም እንጠቀማለን ። በዚህ መሰረት፣ በአንድ ወቅት ሞንጎ ትንሽ "ደነዘዘ" እና ናሙናው መበላሸት ጀመረ። በዚህ መሠረት, በዝናብ መሞከሪያው መሰረት, እንክብሎቹ "መግደል" ጀመሩ.

እንደተረዱት, "ሲገደሉ", ይህ ውይይት ነው, ማለትም, በእሱ ላይ የተንጠለጠሉ ደንበኞች ብዙ ግንኙነቶች አሉ. እነሱ ደግሞ "ተገደሉ" - አይሆንም, ደንበኞች አይደሉም, ግንኙነቶች ብቻ - ሁሉም በአንድ ጊዜ አይደሉም, እና በተመሳሳይ ጊዜ አለመገደላቸው, አንዳንዶቹ ቀደም ብለው, አንዳንዶቹ በኋላ, በተመሳሳይ ጊዜ አይጀምሩም. ጊዜ. በተጨማሪም መደበኛ የዘፈቀደ፣ የመተግበሪያውን መጀመሪያ ጊዜ በእያንዳንዱ ጊዜ በሚሊሰከንድ ትክክለኛነት መተንበይ አንችልም፣ ስለዚህ አንድ ጊዜ ያደርጉታል። አንድ ኢንፎስፖት ይነሳል, ወደ ሚዛኑ ይጨመራል, ሁሉም ደንበኞች ወደዚያ ይመጣሉ, እንዲህ ያለውን ሸክም መቋቋም አይችልም, ምክንያቱም እሱ ብቻውን ነው, እና በግምት, በደርዘን የሚቆጠሩ እዚያ እየሰሩ ነው, እና ይወድቃል. የሚቀጥለው ይነሳል, ጭነቱ በሙሉ በእሱ ላይ ነው, እሱ ደግሞ ይወድቃል. ደህና፣ እነዚህ ፏፏቴዎች መውደቅ ቀጥለዋል። በመጨረሻ ፣ ይህ እንዴት እንደተፈታ - እኛ ወደዚህ መተግበሪያ የተጠቃሚውን ትራፊክ በጥብቅ ማቆም ነበረብን ፣ ሁሉም ሁኔታዎች ይነሱ እና ሁሉንም የተጠቃሚ ትራፊክ በአንድ ጊዜ ያስጀምሩ ፣ ስለሆነም ቀድሞውኑ በሁሉም አስር አጋጣሚዎች ውስጥ ይሰራጫል።

ሁሉም እንደገና እንዲጀመር የሚያስገድድ ይህ የላይቭነት ሙከራ ባይታወጅ ኖሮ፣ አፕሊኬሽኑ በትክክል ይይዘው ነበር። ነገር ግን ከማመጣጠን ጀምሮ ያለው ነገር ሁሉ ለእኛ ተሰናክሏል፣ ምክንያቱም የውሂብ ጎታዎቹ ተደራሽ አይደሉም እና ሁሉም ተጠቃሚዎች "ወደቁ"። ከዚያ, ይህ የውሂብ ጎታ ሲገኝ, ሁሉም ነገር በማመጣጠን ውስጥ ይካተታል, ነገር ግን አፕሊኬሽኖች እንደገና መጀመር አያስፈልጋቸውም, እና በዚህ ላይ ጊዜን እና ሀብቶችን ማባከን አያስፈልግም. ሁሉም ቀድሞውኑ እዚህ ናቸው, ለትራፊክ ዝግጁ ናቸው, ስለዚህ ትራፊክ ብቻ ይከፈታል, ሁሉም ነገር ጥሩ ነው - ማመልከቻው በቦታው ላይ ነው, ሁሉም ነገር መስራቱን ይቀጥላል.

ስለዚህ, ዝግጁነት እና የአኗኗር ሙከራዎች የተለያዩ ናቸው, ከዚህም በላይ, በንድፈ ሀሳብ የተለያዩ የጤና ምርመራዎችን, አንድ ዓይነት ራዲየስ, አንድ ዓይነት liv, ለምሳሌ የተለያዩ ነገሮችን ማረጋገጥ ይችላሉ. የዝግጁነት ፈተናዎች በሚደረጉበት ጊዜ፣ የኋላ ጀርባዎን ያረጋግጡ። እና በህያውነት ፈተና ላይ፣ ለምሳሌ፣ ከእይታ አንፃር የላይነት ፈተናው በአጠቃላይ ምላሽ መስጠት የሚችል መተግበሪያ መሆኑን አያረጋግጡም።

ምክንያቱም የአኗኗር ፈተናው በጥቅሉ “የተጣበን” ነው። ማለቂያ የሌለው ዑደት ተጀምሯል ወይም ሌላ ነገር - እና ምንም ተጨማሪ ጥያቄዎች አይስተናገዱም። ስለዚህ, እነሱን ለመለየት እንኳን ምክንያታዊ ነው - እና በውስጣቸው የተለያዩ አመክንዮዎችን ተግባራዊ ማድረግ.

ምርመራ በሚደረግበት ጊዜ መልስ መስጠት ያለብዎትን ነገር በተመለከተ፣ የጤና ምርመራ ሲያደርጉ። በእውነት ህመም ነው። ይህንን የሚያውቁ ምናልባት ይስቃሉ - ግን በቁም ነገር ፣ በሕይወቴ ውስጥ በ 200% ጉዳዮች ውስጥ “XNUMX” የሚል መልስ የሚሰጡ አገልግሎቶችን አይቻለሁ ። ማነው የተሳካለት። ግን በተመሳሳይ ጊዜ በምላሹ አካል ውስጥ "እንዲህ ዓይነቱ ስህተት" ይጽፋሉ.

ማለትም, የምላሽ ሁኔታ ወደ እርስዎ ይመጣል - ሁሉም ነገር የተሳካ ነው. ግን በተመሳሳይ ጊዜ ገላውን መተንተን አለብዎት, ምክንያቱም አካሉ "ይቅርታ, ጥያቄው በስህተት አብቅቷል" እና ይህ እውነታ ብቻ ነው. ይህንን በእውነተኛ ህይወት አይቻለሁ።

እና አንዳንድ ሰዎች አስቂኝ እንዳይሆኑ እና ሌሎች ደግሞ በጣም ያሠቃያሉ, አሁንም ቀላል ህግን ማክበር ጠቃሚ ነው. በጤና ምርመራዎች እና በመርህ ደረጃ ከድር መተግበሪያዎች ጋር ሲሰሩ.

ሁሉም ነገር ደህና ከሆነ ፣ ከዚያ በሁለት መቶኛው መልስ ይመልሱ። በመርህ ደረጃ, ማንኛውም የሁለት መቶ መልስ ለእርስዎ ተስማሚ ይሆናል. ራግዚን በደንብ ካነበቡ እና አንዳንድ የምላሽ ሁኔታዎች ከሌሎች እንደሚለዩ ካወቁ፣ ከተገቢዎቹ ጋር ይመልሱ፡ 204፣ 5፣ 10፣ 15፣ ምንም ይሁን። በጣም ጥሩ ካልሆነ፣ “ሁለት ዜሮ ዜሮ” ብቻ። ሁሉም ነገር መጥፎ ከሆነ እና የጤና ምርመራው ምላሽ ካልሰጠ, ከዚያ በማንኛውም አምስት መቶኛ ይመልሱ. እንደገና፣ እንዴት ምላሽ መስጠት እንዳለብህ ከተረዳህ፣ እንዴት የተለያዩ የምላሽ ሁኔታዎች አንዳቸው ከሌላው እንደሚለያዩ። ካልገባህ፣ የሆነ ችግር ከተፈጠረ ለጤና ቁጥጥር ምላሽ ለመስጠት 502 ምርጫህ ነው።

ይህ ሌላ ነጥብ ነው, ስለ መሰረታዊ አገልግሎቶችን ስለማጣራት ትንሽ መመለስ እፈልጋለሁ. ከጀመርክ፣ ለምሳሌ፣ ከማመልከቻህ በስተጀርባ ያሉትን ሁሉንም መሰረታዊ አገልግሎቶች መፈተሽ - ሁሉም ነገር በአጠቃላይ። ከማይክሮ ሰርቪስ አርክቴክቸር አንፃር የምናገኘው፣ እንደ “ዝቅተኛ ትስስር” ያለን ጽንሰ-ሀሳብ አለን - ማለትም አገልግሎቶቻችሁ በትንሹ እርስ በርስ ሲደጋገፉ። ከመካከላቸው አንዱ ካልተሳካ, ሁሉም ሌሎች ያለዚህ ተግባር በቀላሉ መስራታቸውን ይቀጥላሉ. አንዳንድ ተግባራት ብቻ አይሰሩም። በዚህ መሠረት ሁሉንም የጤና ኬኮች እርስ በርስ ካሰሩ, ከዚያም አንድ ነገር በመሠረተ ልማት ውስጥ መውደቅ ይሆናል, እና በመውደቁ ምክንያት, ሁሉም አገልግሎቶች የጤና ኬኮች መበላሸት ይጀምራሉ - እና በአጠቃላይ ተጨማሪ መሠረተ ልማት አለ. አጠቃላይ የማይክሮ አገልግሎት አርክቴክቸር ቁ. እዚያ ሁሉም ነገር ጨለማ ሆነ።

ስለዚህ ፣ ይህንን እንደገና መድገም እፈልጋለሁ ፣ መሰረታዊ አገልግሎቶችን መፈተሽ ያስፈልግዎታል ፣ ያለነሱ ማመልከቻዎ በመቶ በመቶው ጉዳዮች ላይ ስራውን ማከናወን አይችልም። ማለትም፣ ተጠቃሚው ወደ ዳታቤዝ የሚያስቀምጥበት ወይም ከመረጃ ቋቱ የሚወጣበት REST ኤፒአይ ካለዎት፣ የውሂብ ጎታ በሌለበት ጊዜ፣ ከተጠቃሚዎችዎ ጋር ለመስራት ዋስትና እንደማይሰጡ ምክንያታዊ ነው።

ነገር ግን ተጠቃሚዎችህ ከመረጃ ቋቱ ውስጥ ስታወጣቸው በሌላ ሜታዳታ ከበለፀጉ ፣ከኋላ ጀርባ ፣ለግንባር ገፅ ምላሽ ከመላክህ በፊት ያስገባሃቸው - እና ይህ የኋላ ገፅ የማይገኝ ከሆነ ፣ይህ ማለት ያንተን ትሰጣለህ ማለት ነው። ያለ ምንም የሜታዳታ ክፍል መልስ ይስጡ።

በመቀጠል፣ አፕሊኬሽኖችን ስንከፍት ከሚያሰቃዩ ጉዳዮች አንዱም አለብን።

እንደ እውነቱ ከሆነ ይህ በአጠቃላይ የኩበርኔትስ ላይ ብቻ አይደለም የሚሰራው፤ ልክ እንደዚያ ሆነ የአንዳንድ የጅምላ ልማት ባህል እና በተለይም ዴቭኦፕስ ከኩበርኔትስ ጋር በተመሳሳይ ጊዜ መስፋፋት ጀመረ። ስለዚህ፣ በአጠቃላይ፣ ያለ Kubernetes ማመልከቻዎን በጸጋ መዝጋት እንደሚያስፈልግ ሆኖ ተገኝቷል። ከኩበርኔትስ በፊት እንኳን ሰዎች ይህንን ያደርጉ ነበር ፣ ግን የኩበርኔትስ መምጣት ፣ ስለ እሱ በጅምላ ማውራት ጀመርን።

ግርማ ሞገስ ያለው መዘጋት

በአጠቃላይ፣ Graceful Shutdown ምንድን ነው እና ለምን አስፈለገ? ይሄ በሆነ ምክንያት የእርስዎ መተግበሪያ ሲበላሽ ማድረግ ያለብዎት ነው። app stop - ወይም ለምሳሌ ከስርዓተ ክወናው ሲግናል ይቀበላሉ፣ ማመልከቻዎ ሊረዳው እና አንድ ነገር ማድረግ አለበት። በጣም መጥፎው ሁኔታ፣ በእርግጥ፣ ማመልከቻዎ SIGTERM ሲደርሰው እና እንደ “SIGTERM፣ እንቆይ፣ እንስራ፣ ምንም ነገር አታድርጉ” የሚል ነው። ይህ ፍጹም መጥፎ አማራጭ ነው።

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

ከሞላ ጎደል መጥፎው አማራጭ የእርስዎ መተግበሪያ SIGTERM ሲቀበል እና እንደ “ሴጅተርም ብለው ነበር፣ ይህ ማለት እንጨርሰዋለን፣ አላየሁም፣ ምንም አይነት የተጠቃሚ ጥያቄ አላውቅም፣ ምን አይነት እንደሆነ አላውቅም። አሁን እየሠራሁ ያሉ ጥያቄዎች SIGTERM አሉ፣ ያ ማለት እንጨርሰዋለን ማለት ነው" ይህ ደግሞ መጥፎ አማራጭ ነው.

የትኛው አማራጭ ጥሩ ነው? የመጀመሪያው ነጥብ የክዋኔዎችን ማጠናቀቅ ግምት ውስጥ ማስገባት ነው. ጥሩ አማራጭ አገልጋይዎ SIGTERM ከተቀበለ ምን እንደሚያደርግ አሁንም ግምት ውስጥ ማስገባት ነው።

SIGTERM ለስላሳ መዘጋት ነው፣ በልዩ ሁኔታ የተነደፈ፣ በኮድ ደረጃ ሊጠለፍ ይችላል፣ ሊሰራ ይችላል፣ አሁን ቆይ እንበል፣ መጀመሪያ ያለንን ስራ እንጨርሰዋለን ከዚያም እንወጣለን።

ከኩበርኔትስ እይታ ይህ ይመስላል። በኩበርኔትስ ክላስተር ውስጥ እየሮጠ ያለ ፖድ ስንለው “እባክዎ ይቁም፣ ሂድ” ወይም እንደገና ስንጀምር ወይም ኩበርኔትስ ፖድቹን ሲፈጥር ዝማኔ ሲፈጠር ኩበርኔትስ ተመሳሳይ የSIGTERM መልእክት ወደ ፖድ ይልካል፣ ይጠብቃል የተወሰነ ጊዜ ፣ ​​እና ይህ የሚጠብቀው ጊዜ ነው ፣ እሱ እንዲሁ ተዋቅሯል ፣ በዲፕሎማዎች ውስጥ እንደዚህ ያለ ልዩ ልኬት አለ እና Graceful ShutdownTimeout ይባላል። እንደተረዱት, ያ በከንቱ አልተጠራም, እና አሁን ስለእሱ የምንናገረው በከንቱ አይደለም.

እዚያም SIGTERMን ወደ አፕሊኬሽኑ በምንልክበት ጊዜ እና አፕሊኬሽኑ ለአንድ ነገር ያበደ ወይም “የተጣበቀ” እና የማያልቅ መሆኑን ስንረዳ ለምን ያህል ጊዜ መጠበቅ እንዳለብን መናገር እንችላለን - እና እኛ ያስፈልገናል። SIGKILL ላከው፣ ማለትም፣ ስራውን ጠንክሮ አጠናቅቅ። ማለትም ፣ በዚህ መሠረት ፣ አንድ ዓይነት የዴሞን ሩጫ አለን ፣ ክወናዎችን ያስኬዳል። በአማካይ ዴሞን የሚሰራው የእኛ ስራዎች በአንድ ጊዜ ከ30 ሰከንድ በላይ እንደማይቆዩ እንረዳለን። በዚህ መሰረት፣ SIGTERM ሲመጣ፣ የእኛ ዲሞን ቢበዛ ከ SIGTERM በኋላ 30 ሰከንድ ሊጨርስ እንደሚችል እንረዳለን። ለምሳሌ 45 ሰከንድ ብቻ እንጽፋለን እና SIGTERM እንላለን። ከዚያ በኋላ 45 ሰከንድ እንጠብቃለን. በንድፈ ሀሳብ, በዚህ ጊዜ ውስጥ ጋኔኑ ስራውን ማጠናቀቅ እና እራሱን ማጠናቀቅ ነበረበት. ነገር ግን በድንገት ካልቻለ፣ ምናልባት ተጣብቋል ማለት ነው - ከአሁን በኋላ ጥያቄዎቻችንን በመደበኛነት አያስተናግድም። እና በ 45 ሰከንድ ውስጥ በደህና ፣ በእውነቱ ፣ እሱን በምስማር መቸብቸብ ይችላሉ።

እና እዚህ, በእውነቱ, 2 ገጽታዎችን እንኳን ግምት ውስጥ ማስገባት ይቻላል. በመጀመሪያ ጥያቄ ከደረሰህ በሆነ መንገድ ከሱ ጋር መስራት እንደጀመርክ እና ለተጠቃሚው ምላሽ እንዳልሰጠህ ተረዳ ነገርግን ለምሳሌ SIGTERM ተቀብለሃል። እሱን ለማጣራት እና ለተጠቃሚው መልስ መስጠት ምክንያታዊ ነው. በዚህ ረገድ ይህ ነጥብ ቁጥር አንድ ነው. እዚህ ያለው ነጥብ ቁጥር ሁለት የእራስዎን መተግበሪያ ከጻፉ በአጠቃላይ የሕንፃ ግንባታውን ለመተግበሪያዎ ጥያቄ በሚቀበሉበት መንገድ ይገንቡ ፣ ከዚያ የተወሰነ ሥራ ይጀምሩ ፣ ፋይሎችን ከአንድ ቦታ ማውረድ ፣ የውሂብ ጎታ ማውረድ እና ምን ማለት ይጀምሩ ። - ያ። በአጠቃላይ ተጠቃሚዎ ጥያቄዎ ለግማሽ ሰዓት ያህል ተንጠልጥሎ መልስ እንዲሰጥዎት ይጠብቃል - ከዚያ ምናልባት በሥነ-ሕንፃው ላይ መሥራት ያስፈልግዎታል ። ይህም ማለት፣ የእርስዎ ስራዎች አጭር ከሆኑ፣ SIGTERMን ችላ ማለት እና እሱን ማሻሻል ተገቢ መሆኑን ብቻ ግምት ውስጥ ያስገቡ። ክዋኔዎችዎ ረጅም ከሆኑ፣ በዚህ ጉዳይ ላይ SIGTERMን ችላ ማለት ምንም ትርጉም የለውም። እንደዚህ ያሉ ረጅም ስራዎችን ለማስወገድ የሕንፃውን ንድፍ እንደገና ማዘጋጀቱ ምክንያታዊ ነው. ተጠቃሚዎች ዝም ብለው እንዳይቆዩ እና እንዳይጠብቁ። አላውቅም፣ አንድ ዓይነት ዌብሶኬት ይስሩ፣ አገልጋይዎ አስቀድሞ ለደንበኛው የሚልከውን የተገላቢጦሽ መንጠቆዎችን ያድርጉ፣ ሌላ ማንኛውንም ነገር ያድርጉ፣ ነገር ግን ተጠቃሚው ለግማሽ ሰዓት እንዲሰቀል አያስገድዱት እና እርስዎ እስኪሰሩ ድረስ አንድ ክፍለ ጊዜ ይጠብቁ መልሱለት። ምክንያቱም ሊሰበር የሚችልበት ቦታ የማይታወቅ ነው።

ማመልከቻዎ ሲያልቅ፣ አንዳንድ ተገቢውን የመውጫ ኮድ ማቅረብ አለብዎት። ማለትም ማመልከቻዎ እንዲዘጋ፣ እንዲያቆም ከተጠየቀ እና እራሱን እንደተለመደው ማቆም ከቻለ፣ የሆነ አይነት የመውጫ ኮድ 1,5,255 እና የመሳሰሉትን መመለስ አያስፈልግዎትም። ዜሮ ኮድ ያልሆነ ማንኛውም ነገር፣ቢያንስ በሊኑክስ ሲስተምስ ውስጥ፣ስለዚህ እርግጠኛ ነኝ፣ያልተሳካለት ይቆጠራል። ማለትም፣ በዚህ ጉዳይ ላይ ያቀረቡት ማመልከቻ በስህተት እንደተጠናቀቀ ይቆጠራል። በዚህ መሠረት፣ በሰላም መንገድ፣ ማመልከቻዎ ያለስህተት ከተጠናቀቀ፣ በውጤቱ ላይ 0 ይላሉ። መተግበሪያዎ በሆነ ምክንያት ካልተሳካ፣ በውጤቱ ውስጥ 0 አይደለም ይላሉ። እና በዚህ መረጃ መስራት ይችላሉ.

እና የመጨረሻው አማራጭ. ተጠቃሚዎ ጥያቄ ሲልክ እና እርስዎ በሚሰሩበት ጊዜ ለግማሽ ሰዓት ሲሰቅል መጥፎ ነው። ግን በአጠቃላይ ፣ ከደንበኛው ጎን በአጠቃላይ ዋጋ ስላለው ነገር መናገር እፈልጋለሁ ። የሞባይል መተግበሪያ ፣ የፊት-መጨረሻ ፣ ወዘተ ካለዎት ምንም ለውጥ የለውም። በአጠቃላይ የተጠቃሚው ክፍለ ጊዜ ሊቋረጥ እንደሚችል ግምት ውስጥ ማስገባት ያስፈልጋል, ማንኛውም ነገር ሊከሰት ይችላል. ጥያቄ ሊላክ ይችላል፣ ለምሳሌ ያልተሰራ እና ምንም ምላሽ አልተመለሰም። የፊት ገፅህ ወይም የሞባይል አፕሊኬሽን - ማንኛውም የፊት ለፊት ክፍል በአጠቃላይ፣ እንደዛ እናስቀምጠው - ይህንን ግምት ውስጥ ማስገባት አለበት። ከዌብሶኬቶች ጋር የሚሰሩ ከሆነ, ይህ በአጠቃላይ እስካሁን ካጋጠመኝ የከፋ ህመም ነው.

የአንዳንድ መደበኛ ቻቶች ገንቢዎች ይህንን ሳያውቁ ሲቀሩ ፣ ዌብሶኬት ሊሰበር ይችላል። ለእነሱ፣ በፕሮክሲው ላይ የሆነ ነገር ሲከሰት፣ ማዋቀሩን ብቻ እንቀይራለን፣ እና እንደገና ይጫናል። በተፈጥሮ ሁሉም የረዥም ጊዜ ክፍለ ጊዜዎች በዚህ ጉዳይ ላይ ይቀደዳሉ. ገንቢዎች እየሮጡ ወደ እኛ መጥተው “ጓዶች፣ ምን እያደረጋችሁ ነው፣ ቻቱ ለሁሉም ደንበኞቻችን ተቋርጧል!” አሉን። “ምን እያደረጋችሁ ነው? ደንበኞችዎ እንደገና መገናኘት አልቻሉም? “አይ፣ ክፍለ ጊዜዎቹ እንዳይቀደዱ እንፈልጋለን” ይላሉ። ባጭሩ ይህ ከንቱ ነው። የደንበኛውን ጎን ግምት ውስጥ ማስገባት ያስፈልጋል. በተለይም እንደ ዌብሶኬት ባሉ የረዥም ጊዜ ክፍለ-ጊዜዎች ፣በተለይ ፣እንደምለው ፣ይሰብራል እና በተጠቃሚው ሳያውቅ እንደዚህ ያሉትን ክፍለ-ጊዜዎች እንደገና መጫን ያስፈልግዎታል። እና ከዚያ ሁሉም ነገር ፍጹም ነው.

መርጃዎች

በእውነቱ ፣ እዚህ አንድ ቀጥተኛ ታሪክ እነግርዎታለሁ። እንደገና ከእውነተኛ ህይወት. ስለ ሀብቶች ከሰማሁት በጣም የታመመ ነገር።

በዚህ ጉዳይ ላይ ያሉ መርጃዎች፣ ማለቴ፣ አንዳንድ አይነት ጥያቄዎች፣ በእርስዎ የኩበርኔትስ ስብስቦች ውስጥ በፖድ ላይ ማስቀመጥ የሚችሏቸው ገደቦች። ከገንቢ የሰማሁት በጣም አስቂኝ ነገር...በቀድሞ የስራ ቦታ አብረውኝ ከነበሩት ገንቢዎች አንዱ በአንድ ወቅት “መተግበሪያዬ በክላስተር ውስጥ አይጀምርም” ብሏል። እየጀመረ እንዳልሆነ ለማየት ተመለከትኩኝ, ነገር ግን ከሀብቶቹ ጋር አይጣጣምም, ወይም በጣም ትንሽ ገደቦችን አዘጋጅተዋል. በአጭሩ፣ አፕሊኬሽኑ በሃብት ምክንያት መጀመር አይችልም። እላለሁ: "በሃብቶች ምክንያት አይጀምርም, ምን ያህል እንደሚፈልጉ ይወስናሉ እና በቂ ዋጋ ያዘጋጃሉ." እሱ “ምን ዓይነት ሀብቶች አሉ?” ኩበርኔትስ፣ በጥያቄዎች ላይ ገደብ እና blah, blah, blah ማዘጋጀት እንዳለበት ለእሱ ማስረዳት ጀመርኩ. ሰውየው ለአምስት ደቂቃ ያህል አዳመጠ፣ ነቀነቀ እና “እዚህ የመጣሁት እንደ ገንቢ ለመስራት ነው፣ ስለማንኛውም ሃብቶች ምንም ማወቅ አልፈልግም። ኮድ ለመጻፍ ወደዚህ መጣሁ እና ያ ነው." አሳዛኝ ነው። ይህ ከገንቢ እይታ አንፃር በጣም አሳዛኝ ጽንሰ-ሀሳብ ነው። በተለይም በዘመናዊው ዓለም ውስጥ ስለ ተራማጅ ዲፕስ ለመናገር።

ለምንድነው ሃብቶች በአጠቃላይ የሚፈለጉት? በኩበርኔትስ ውስጥ 2 ዓይነት ሀብቶች አሉ። አንዳንዶቹ ጥያቄ ይባላሉ, ሌሎች ደግሞ ገደብ ይባላሉ. በመረጃዎች የምንረዳው በመሠረቱ ሁልጊዜ ሁለት መሠረታዊ ገደቦች ብቻ እንዳሉ ነው። ይህም ማለት በኩበርኔትስ ውስጥ ለሚሰራ መያዣ የሲፒዩ የጊዜ ገደቦች እና ራም ገደቦች።

ወሰን በማመልከቻዎ ውስጥ ሃብትን እንዴት መጠቀም እንደሚቻል ላይ ከፍተኛ ገደብ ያስቀምጣል። ማለትም፣ በዚህ መሰረት፣ በገደቡ ውስጥ 1GB RAM ከተናገሩ፣ ያኔ መተግበሪያዎ ከ1ጂቢ ራም በላይ መጠቀም አይችልም። እና በድንገት ይህን ለማድረግ ከፈለገ እና ለማድረግ ከሞከረ, ከዚያም ኦኦም ገዳይ የሚባል ሂደት, ከትውስታ ውጭ, ማለትም, መጥቶ ማመልከቻዎን ይገድላል - ማለትም, በቀላሉ እንደገና ይጀምራል. ትግበራዎች በሲፒዩ ላይ ተመስርተው እንደገና አይጀመሩም። ከሲፒዩ አንፃር፣ አፕሊኬሽኑ ብዙ ለመጠቀም ከሞከረ፣ በገደቡ ከተገለፀው በላይ፣ ሲፒዩ በቀላሉ ይመረጣል። ይህ ወደ ዳግም ማስጀመር አያመራም። ይህ ገደብ ነው - ይህ የላይኛው ገደብ ነው.

እና ጥያቄ አለ. ጥያቄው ኩበርኔትስ በእርስዎ የኩበርኔትስ ክላስተር ውስጥ ያሉት ኖዶች እንዴት በመተግበሪያዎች እንደተሞሉ እንደሚረዳ ነው። ማለትም፣ ጥያቄ የማመልከቻዎ ቃል ኪዳን አይነት ነው። ልጠቀም የምፈልገውን ይናገራል፡- “ይህን ያህል ሲፒዩ እና ይህን ያህል ማህደረ ትውስታ እንድታስቀምጠኝ እፈልጋለሁ። እንደዚህ ያለ ቀላል ተመሳሳይነት. በአጠቃላይ 8 ሲፒዩዎች ያለው፣ አላውቅም ያለው መስቀለኛ መንገድ ካለን ምን ማድረግ አለቦት። እና ፖድ እዚያ ይደርሳል፣ ጥያቄው 1 ሲፒዩ ይላል፣ ይህ ማለት መስቀለኛ መንገዱ 7 ሲፒዩዎች ቀርተዋል። ይኸውም በዚህ መሠረት 8 ፖዶች በዚህ መስቀለኛ መንገድ ላይ እንደደረሱ እያንዳንዳቸው በጥያቄዎቻቸው ውስጥ 1 ሲፒዩ አላቸው, መስቀለኛ መንገዱ, ከኩበርኔትስ እይታ አንጻር ሲፒዩ አለቀ እና ብዙ ፖድዎች ከጥያቄዎች ጋር ሊሆኑ አይችሉም. በዚህ መስቀለኛ መንገድ ተጀመረ. ሁሉም ኖዶች ሲፒዩ ካለቀባቸው ኩበርኔትስ ሲፒዩ ስለጨረሰ የእርስዎን ፖድ ለማሄድ በክላስተር ውስጥ ምንም ተስማሚ ኖዶች የሉም ማለት ይጀምራል።

ለምን ጥያቄዎች ያስፈልጋሉ እና ለምን ሳይጠይቁ በኩበርኔትስ ውስጥ ምንም ነገር ማስጀመር አያስፈልግም ብዬ አስባለሁ? ግምታዊ ሁኔታን እናስብ። ማመልከቻዎን ያለጥያቄዎች ያስጀምራሉ, Kubernetes ምን ያህል እንዳለዎት አያውቅም, ወደ ምን ኖዶች መግፋት እንደሚችሉ አያውቅም. ደህና, ወደ መስቀለኛ መንገድ ይገፋፋል, ያሽከረክራል. በሆነ ጊዜ ወደ መተግበሪያዎ ትራፊክ ማግኘት ይጀምራሉ። እና ከመተግበሪያዎቹ ውስጥ አንዱ እንደ ገደቡ እስከ ወሰናቸው ድረስ ሀብቶችን በድንገት መጠቀም ይጀምራል። በአቅራቢያው ሌላ መተግበሪያ እንዳለ እና እንዲሁም ሀብቶችን ይፈልጋል። መስቀለኛ መንገዱ በእውነቱ ከሃብቶች በአካል ማለቅ ይጀምራል, ለምሳሌ, OP. መስቀለኛ መንገዱ በእውነቱ ከሀብቱ ማለቅ ይጀምራል ፣ ለምሳሌ ፣ የዘፈቀደ መዳረሻ ማህደረ ትውስታ (ራም)። አንድ መስቀለኛ መንገድ ሃይል ሲያልቅ በመጀመሪያ መትከያው ምላሽ መስጠቱን ያቆማል፣ ከዚያ ኪዩቤል፣ ከዚያም OS። በቀላሉ ንቃተ ህሊናቸው ይጠፋሉ እና ሁሉም ነገር በእርግጠኝነት ለእርስዎ መስራት ያቆማል። ያም ማለት ይህ ወደ መስቀለኛ መንገድዎ እንዲጣበቅ ያደርገዋል እና እንደገና ማስጀመር ያስፈልግዎታል. በአጭሩ, ሁኔታው ​​በጣም ጥሩ አይደለም.

እና ጥያቄዎች ሲኖሩዎት ፣ ገደቦቹ በጣም የተለያዩ አይደሉም ፣ ቢያንስ ከገደቦች ወይም ጥያቄዎች ብዙ ጊዜ አይበልጡም ፣ ከዚያ እንደዚህ ያለ መደበኛ ፣ ምክንያታዊ የሆኑ መተግበሪያዎችን በ Kubernetes ስብስቦች ውስጥ መሙላት ይችላሉ። በተመሳሳይ ጊዜ ኩበርኔትስ ምን ያህል የት እንደሚያስቀምጥ፣ ምን ያህል የት እንደሚውል በግምት ያውቃል። ያም ማለት, ልክ እንደዚህ ያለ አፍታ ነው. እሱን መረዳት አስፈላጊ ነው. እና ይህ የሚያመለክት መሆኑን መቆጣጠር አስፈላጊ ነው.

የውሂብ ማከማቻ

ቀጣዩ ነጥባችን ስለመረጃ ማከማቻ ነው። ከነሱ ጋር ምን እና በአጠቃላይ በኩበርኔትስ ጽናት ምን ማድረግ አለበት?

እኔ እንደማስበው, እንደገና, በእኛ ውስጥ የምሽት ትምህርት ቤት, በኩበርኔትስ ውስጥ ስላለው የውሂብ ጎታ አንድ ርዕስ ነበር. እና ባልደረቦችህ “በኩበርኔትስ ውስጥ የውሂብ ጎታ ማሄድ ይቻል ይሆን?” ተብሎ ሲጠየቅ ምን እንደነገሩህ እንኳን የማውቅ መስሎ ይታየኛል። በሆነ ምክንያት፣ ባልደረቦችህ ሊነግሩህ ይገባ የነበረ መስሎ ይታየኛል ጥያቄውን የምትጠይቅ ከሆነ በኩበርኔትስ ውስጥ የውሂብ ጎታ ማሄድ ይቻል እንደሆነ፣ ከዚያ የማይቻል ነው።

እዚህ ያለው አመክንዮ ቀላል ነው. እንደዚያ ከሆነ ፣ አንድ ጊዜ እንደገና እገልጻለሁ ፣ በትክክል ስህተትን የሚቋቋም የተከፋፈለ የአውታረ መረብ ማከማቻ ስርዓት መገንባት የሚችል በጣም ጥሩ ሰው ከሆኑ ፣ በዚህ ጉዳይ ላይ የውሂብ ጎታውን እንዴት እንደሚገጣጠሙ ፣ በመያዣዎች ውስጥ ያለው የደመና ተወላጅ እንዴት መሥራት እንዳለበት ይረዱ። በአጠቃላይ የውሂብ ጎታ ውስጥ. ምናልባትም, እንዴት እንደሚሮጥ ምንም ጥያቄ የለዎትም. እንደዚህ አይነት ጥያቄ ካሎት, እና ሁሉም ተዘርግተው እና በምርት ውስጥ በትክክል መቆም እና መቼም እንደማይወድቁ ማረጋገጥ ይፈልጋሉ, ከዚያ ይህ አይከሰትም. በዚህ አቀራረብ እራስዎን በእግር ላይ ለመተኮስ ዋስትና ተሰጥቶዎታል. ስለዚህ ባይሆን ይሻላል።

መተግበሪያችን ማከማቸት በሚፈልገው ዳታ፣ አንዳንድ ተጠቃሚዎች በሚሰቅሏቸው ምስሎች፣ መተግበሪያችን በሚሰራበት ጊዜ በሚያመነጫቸው አንዳንድ ነገሮች ለምሳሌ ሲነሳ ምን እናድርግ? በ Kubernetes ውስጥ ከእነሱ ጋር ምን ይደረግ?

በአጠቃላይ፣ በሐሳብ ደረጃ፣ አዎ፣ በእርግጥ፣ Kubernetes በጣም በጥሩ ሁኔታ የተነደፈ እና በአጠቃላይ መጀመሪያ የተፀነሰው አገር-አልባ ለሆኑ መተግበሪያዎች ነው። ማለትም፣ መረጃን በጭራሽ ለማያከማቹ መተግበሪያዎች። ይህ ተስማሚ ነው.

ግን, በእርግጥ, ተስማሚው አማራጭ ሁልጊዜ የለም. እና ምን? የመጀመሪያው እና ቀላሉ ነጥብ አንድ ዓይነት S3 መውሰድ ነው, ብቻ በቤት ውስጥ የተሰራ አይደለም, ይህም ደግሞ እንዴት እንደሚሰራ ግልጽ አይደለም, ነገር ግን አንዳንድ አቅራቢዎች. ጥሩ፣ መደበኛ አቅራቢ - እና መተግበሪያዎን S3 እንዲጠቀም ያስተምሩት። ማለትም፣ የእርስዎ ተጠቃሚ ፋይል መስቀል ሲፈልግ፣ “እዚህ፣ እባክህ፣ ወደ S3 ስቀል” ይበሉ። መቀበል ሲፈልግ፡- “ወደ S3 የሚወስድ ማገናኛ ይኸውና ከዚህ ውሰድ” በል። ይህ ተስማሚ ነው.

በድንገት በሆነ ምክንያት ይህ ተስማሚ አማራጭ ተስማሚ ካልሆነ ፣ ያልፃፉት ፣ ያላዳበሩት ፣ ወይም አንድ ዓይነት አሰቃቂ ቅርስ ከሆነ ፣ የ S3 ፕሮቶኮልን መጠቀም አይችልም ፣ ግን ከአካባቢው ማውጫዎች ጋር መሥራት አለበት ። የአካባቢ አቃፊዎች . የበለጠ ወይም ያነሰ ቀላል ነገር ይውሰዱ፣ Kubernetes ያሰማሩ። ማለትም፣ ወዲያውኑ ሴፍን ለአንዳንድ አነስተኛ ስራዎች ማጠር፣ ለእኔ የሚመስለኝ፣ መጥፎ ሀሳብ ነው። ምክንያቱም ሴፍ እርግጥ ነው, ጥሩ እና ፋሽን ነው. ነገር ግን ምን እየሰሩ እንደሆነ በትክክል ካልተረዱ፣ አንዴ የሆነ ነገር በሴፍ ላይ ካደረጉ በኋላ በቀላሉ እና በቀላሉ ከዚያ ዳግመኛ ሊያወጡት አይችሉም። ምክንያቱም እንደሚያውቁት ሴፍ መረጃን በክላስተር ውስጥ በሁለትዮሽ መልክ ያከማቻል እንጂ በቀላል ፋይሎች መልክ አይደለም። ስለዚህ፣ በድንገት የሴፍ ክላስተር ከተበላሸ፣ ከዚያ ያንተን መረጃ ከዚያ ዳግም የማታገኝበት ሙሉ እና ከፍተኛ እድል አለ።

በሴፍ ላይ ኮርስ ይኖረናል፣ ትችላለህ ከፕሮግራሙ ጋር በደንብ ይወቁ እና ማመልከቻ ያስገቡ.

ስለዚህ እንደ NFS አገልጋይ ያለ ቀላል ነገር ማድረግ የተሻለ ነው። Kubernetes ከእነሱ ጋር አብሮ መስራት ይችላል, በ NFS አገልጋይ ስር ማውጫን መጫን ይችላሉ - ማመልከቻዎ ልክ እንደ አካባቢያዊ ማውጫ ነው. በተመሳሳይ ጊዜ, በተፈጥሮ, እንደገና, ከእርስዎ NFS ጋር አንድ ነገር ማድረግ እንደሚያስፈልግዎ መረዳት አለብዎት, አንዳንድ ጊዜ ሊደረስበት የማይችል ሊሆን እንደሚችል መረዳት አለብዎት እና በዚህ ጉዳይ ላይ ምን እንደሚያደርጉ ያለውን ጥያቄ ግምት ውስጥ ያስገቡ. ምናልባት በተለየ ማሽን ላይ የሆነ ቦታ መደገፍ አለበት.

የተናገርኩት የሚቀጥለው ነጥብ መተግበሪያዎ በሚሠራበት ጊዜ አንዳንድ ፋይሎችን ቢያመነጭ ምን ማድረግ እንዳለበት ነው። ለምሳሌ፣ ሲጀመር አንዳንድ የማይንቀሳቀስ ፋይል ያመነጫል፣ ይህም አፕሊኬሽኑ በሚነሳበት ጊዜ ብቻ በሚቀበለው አንዳንድ መረጃዎች ላይ የተመሰረተ ነው። ምን አይነት አፍታ ነው። ብዙ እንደዚህ ያለ ውሂብ ከሌለ, ምንም መጨነቅ አያስፈልግዎትም, ይህን መተግበሪያ ለራስዎ ብቻ ይጫኑ እና ይስሩ. እዚህ ያለው ብቸኛው ጥያቄ ምን, ተመልከት. በጣም ብዙ ጊዜ፣ እንደ ዎርድፕረስ እና ሌሎችም ያሉ ሁሉም አይነት ውርስ ሲስተሞች፣በተለይ ከተሻሻሉ ብልህ ፕለጊኖች፣ ብልህ ፒኤችፒ ገንቢዎች ጋር፣ ብዙ ጊዜ ለራሳቸው የሆነ አይነት ፋይል እንዲያመነጩ እንዴት እንደሚሰሩ ያውቃሉ። በዚህ መሠረት አንድ ፋይል ያመነጫል, ሁለተኛው ደግሞ ሁለተኛ ፋይል ይፈጥራል. የተለያዩ ናቸው። ማመጣጠን የሚከሰተው በደንበኞች የኩበርኔትስ ስብስብ ውስጥ በአጋጣሚ ነው። በዚህ መሠረት በምሳሌነት እንዴት አብረው መሥራት እንዳለባቸው አያውቁም. አንዱ ለአንዱ መረጃ ይሰጣል፣ ሌላው ለተጠቃሚው ሌላ መረጃ ይሰጣል። ይህ ማስወገድ ያለብዎት ነገር ነው። ማለትም፣ በ Kubernetes ውስጥ፣ የሚያስጀምሩት ሁሉም ነገሮች በበርካታ አጋጣሚዎች መስራት እንደሚችሉ የተረጋገጠ ነው። ምክንያቱም ኩበርኔትስ የሚንቀሳቀስ ነገር ነው። በዚህ መሠረት ማንንም ሳይጠይቅ በፈለገው ጊዜ ማንኛውንም ነገር ማንቀሳቀስ ይችላል። ስለዚህ, በዚህ ላይ መቁጠር ያስፈልግዎታል. በአንድ አጋጣሚ የተጀመረው ሁሉም ነገር ይዋል ይደር እንጂ ይወድቃል። ብዙ የተያዙ ቦታዎች ባላችሁ ቁጥር የተሻለ ይሆናል። ግን እንደገና ፣ እላለሁ ፣ እንደዚህ ያሉ ጥቂት ፋይሎች ካሉዎት ፣ ከዚያ በትክክል ከእርስዎ በታች ማስቀመጥ ይችላሉ ፣ ክብደታቸው አነስተኛ ነው። ጥቂት ተጨማሪዎች ካሉ, ምናልባት ወደ መያዣው ውስጥ ማስገባት የለብዎትም.

በኩበርኔትስ ውስጥ እንደዚህ ያለ ድንቅ ነገር እንዳለ እመክራለሁ, ድምጽን መጠቀም ይችላሉ. በተለይም ባዶ ዲር ዓይነት መጠን አለ። ማለትም Kubernetes እርስዎ በጀመሩበት አገልጋይ ላይ በአገልግሎት ማውጫዎቹ ውስጥ ማውጫን በራስ ሰር ይፈጥራል ማለት ነው። እንድትጠቀሙበትም ይሰጣችኋል። አንድ አስፈላጊ ነጥብ ብቻ አለ. ያም ማለት የእርስዎ ውሂብ በመያዣው ውስጥ አይቀመጥም, ነገር ግን በምትሮጥበት አስተናጋጅ ላይ. ከዚህም በላይ ኩበርኔትስ እንደነዚህ ያሉትን ባዶ ዲርሶች በመደበኛ ውቅረት መቆጣጠር ይችላል እና ከፍተኛ መጠን ያላቸውን መጠን ለመቆጣጠር እና እንዲያልፍ አይፈቅድም. ብቸኛው ነጥብ በባዶ ዲር የፃፉት ነገር ፖድ እንደገና በሚጀምርበት ጊዜ አይጠፋም. ያም ማለት የእርስዎ ፖድ በስህተት ወድቆ እንደገና ከተነሳ, በባዶ ዲር ውስጥ ያለው መረጃ የትም አይሄድም. በአዲስ ጅምር እንደገና ሊጠቀምበት ይችላል - እና ያ ጥሩ ነው። ፖድዎ የሆነ ቦታ ከሄደ, በተፈጥሮ እሱ ያለ ውሂብ ይወጣል. ይኸውም በባዶ ዲር ከተጀመረበት መስቀለኛ መንገድ ፖድ እንደጠፋ ባዶ ዲር ይሰረዛል።

ስለ ባዶ ዲር ሌላ ምን ጥሩ ነገር አለ? ለምሳሌ, እንደ መሸጎጫ መጠቀም ይቻላል. የእኛ መተግበሪያ በበረራ ላይ የሆነ ነገር እንደሚያመነጭ፣ ለተጠቃሚዎች እንደሚሰጥ እና ለረጅም ጊዜ እንደሚያደርገው እናስብ። ስለዚህ, አፕሊኬሽኑ ለምሳሌ ያመነጫል እና ለተጠቃሚዎች ይሰጣል, እና በተመሳሳይ ጊዜ የሆነ ቦታ ያከማቻል, ስለዚህ በሚቀጥለው ጊዜ ተጠቃሚው ለተመሳሳይ ነገር ሲመጣ ወዲያውኑ የመነጨውን ለመስጠት ፈጣን ይሆናል. ባዶ ዲር ትውስታ ውስጥ ለመፍጠር Kubernetes ሊጠየቅ ይችላል። እና እንደዚህ፣ የእርስዎ መሸጎጫዎች በአጠቃላይ በመብረቅ ፍጥነት ሊሰሩ ይችላሉ - ከዲስክ መዳረሻ ፍጥነት አንፃር። ማለትም፣ በማህደረ ትውስታ ውስጥ ባዶ ዲር አለህ፣ በስርዓተ ክወናው ውስጥ በማህደረ ትውስታ ውስጥ ተከማችቷል፣ ነገር ግን ለአንተ፣ በፖድ ውስጥ ላሉ ተጠቃሚ፣ ልክ እንደ አካባቢያዊ ማውጫ ይመስላል። ምንም አይነት አስማት ለማስተማር መተግበሪያው አያስፈልገዎትም። እርስዎ በቀጥታ ወስደህ ፋይልህን በማውጫ ውስጥ አስቀምጠው፣ ነገር ግን፣ በእውነቱ፣ በስርዓተ ክወናው ላይ በማህደረ ትውስታ ውስጥ። ይህ ደግሞ ከ Kubernetes አንፃር በጣም ምቹ ባህሪ ነው.

ሚኒዮ ምን ችግሮች አሉት? የሚኒዮ ዋናው ችግር ይህ ነገር እንዲሰራ አንድ ቦታ መሮጥ አለበት, እና አንድ ዓይነት የፋይል ስርዓት መኖር አለበት, ማለትም ማከማቻ. እና እዚህ ሴፍ ያጋጠሙትን ተመሳሳይ ችግሮች ያጋጥሙናል. ማለትም ሚኒዮ ፋይሎቹን የሆነ ቦታ ማከማቸት አለበት። በቀላሉ ለፋይሎችዎ የኤችቲቲፒ በይነገጽ ነው። ከዚህም በላይ ተግባራቱ በግልጽ ከአማዞን ኤስ 3 የበለጠ ደካማ ነው። ከዚህ ቀደም ለተጠቃሚው በትክክል መፍቀድ አልቻለም። አሁን፣ እኔ እስከማውቀው ድረስ፣ የተለያዩ ፍቃዶች ያላቸው ባልዲዎችን ሊፈጥር ይችላል፣ ግን በድጋሚ፣ ለእኔ ዋናው ችግር ቢያንስ ቢያንስ የማከማቻ ስርዓቱ እንደሆነ ይሰማኛል።

በማህደረ ትውስታ ውስጥ ባዶ ዲር እንዴት ገደቦችን ይነካል? በምንም መልኩ ገደቦችን አይነካም። በአስተናጋጁ ማህደረ ትውስታ ውስጥ ነው, እና በመያዣዎ ማህደረ ትውስታ ውስጥ አይደለም. ያም ማለት መያዣዎ ባዶ ዲርን በማህደረ ትውስታ ውስጥ እንደያዘው ማህደረ ትውስታ አካል አድርጎ አያየውም። አስተናጋጁ ይህንን ይመለከታል። በዚህ መሰረት፣ አዎ፣ ከኩበርኔትስ እይታ፣ ይህንን መጠቀም ሲጀምሩ፣ የማስታወሻዎትን ክፍል በባዶ ዲር ላይ እያዋሉት እንደሆነ መረዳት ጥሩ ይሆናል። እና በዚህ መሰረት, ማህደረ ትውስታ በመተግበሪያዎች ምክንያት ብቻ ሳይሆን አንድ ሰው ለእነዚህ ባዶ ዲርሶች ስለጻፈ ጭምር መሆኑን ይረዱ.

ደመናማነት

እና የመጨረሻው ንዑስ ርዕስ Cloudnative ምን እንደሆነ ነው። ለምን ያስፈልጋል? ደመናማነት እና የመሳሰሉት።

ያም ማለት በዘመናዊ የደመና መሠረተ ልማት ውስጥ ለመስራት ችሎታ ያላቸው እና የተፃፉ መተግበሪያዎች። ግን፣ በእውነቱ፣ ክላውድኔቲቭ ሌላ እንደዚህ ያለ ገጽታ አለው። ይህ ሁሉንም የዘመናዊ የደመና መሠረተ ልማት መስፈርቶችን ከግምት ውስጥ የሚያስገባ መተግበሪያ ብቻ ሳይሆን ከዚህ ዘመናዊ የደመና መሠረተ ልማት ጋር እንዴት እንደሚሰራ ያውቃል ፣ በእነዚህ ደመናዎች ውስጥ የሚሰራውን ጥቅም እና ጉዳቱን ይጠቀሙ። ከመጠን በላይ መሄድ እና በደመና ውስጥ ብቻ አይሰሩ, ነገር ግን በደመና ውስጥ የመሥራት ጥቅሞችን ይጠቀሙ.

በ Kubernetes ውስጥ ማመልከቻ ለማዘጋጀት የሚያስፈልጉ መስፈርቶች

ኩበርኔትስን እንደ ምሳሌ እንውሰድ። መተግበሪያዎ በኩበርኔትስ ውስጥ እየሰራ ነው። መተግበሪያዎ ሁል ጊዜ፣ ወይም ይልቁንም የመተግበሪያዎ አስተዳዳሪዎች፣ ሁልጊዜ የአገልግሎት መለያ መፍጠር ይችላሉ። ያም ማለት በኩበርኔትስ ውስጥ የፍቃድ መለያ በራሱ አገልጋይ ውስጥ። እዚያ የምንፈልጋቸውን አንዳንድ መብቶችን ጨምር። እና ኩበርኔትስን ከመተግበሪያዎ ውስጥ ማግኘት ይችላሉ። በዚህ መንገድ ምን ማድረግ ይችላሉ? ለምሳሌ፣ ከመተግበሪያው፣ ሌሎች አፕሊኬሽኖችዎ የት እንደሚገኙ፣ ሌሎች ተመሳሳይ አጋጣሚዎች ያሉበትን መረጃ ይቀበሉ፣ እና እንደዚህ አይነት ፍላጎት ካለ በአንድ ላይ በሆነ መንገድ ኩበርኔትስ ላይ ክላስተር።

እንደገና፣ በቅርብ ጊዜ ቃል በቃል ጉዳይ አለን። ወረፋውን የሚከታተል አንድ መቆጣጠሪያ አለን። እና በዚህ ወረፋ ውስጥ አንዳንድ አዳዲስ ስራዎች ሲታዩ ወደ ኩበርኔትስ ይሄዳል - እና Kubernetes ውስጥ ደግሞ አዲስ ፖድ ይፈጥራል። ለዚህ ፖድ አዲስ ተግባር ይሰጠዋል እና በዚህ ፖድ ማእቀፍ ውስጥ, ፖዱ ተግባሩን ያከናውናል, ለተቆጣጣሪው ራሱ ምላሽ ይልካል, እና ተቆጣጣሪው በዚህ መረጃ አንድ ነገር ያደርጋል. ለምሳሌ, የውሂብ ጎታውን ይጨምራል. ማለትም፣ እንደገና፣ ይህ የእኛ መተግበሪያ በኩበርኔትስ ውስጥ የሚሰራ የመሆኑ እውነታ ተጨማሪ ነው። እንደምንም ለማስፋት እና የመተግበሪያችንን ተግባራዊነት የበለጠ ምቹ ለማድረግ አብሮ የተሰራውን የኩበርኔትስ ተግባር እራሱን ልንጠቀም እንችላለን። ማለትም አንድን መተግበሪያ እንዴት ማስጀመር እንደሚቻል ፣ ሰራተኛን እንዴት ማስጀመር እንደሚቻል አንዳንድ አስማትን አይደብቁ። በ Kubernetes ውስጥ, ማመልከቻው በፓይዘን ከተፃፈ በቀላሉ በመተግበሪያው ውስጥ ጥያቄ ይልካሉ.

ከኩበርኔትስ አልፈን ከሄድን ተመሳሳይ ነው። የእኛ ኩበርኔትስ የሆነ ቦታ እየሮጠ አለን - በሆነ ደመና ውስጥ ከሆነ ጥሩ ነው። እንደገና፣ ልንጠቀምበት እንችላለን፣ እና እንዲያውም፣ እኔ አምናለሁ፣ የምንሮጥበትን የደመናውን አቅም መጠቀም አለብን። ደመናው ከሚሰጠን አንደኛ ደረጃ ነገሮች። ማመጣጠን፣ ማለትም የደመና ሚዛኖችን መፍጠር እና እነሱን መጠቀም እንችላለን። ይህ ልንጠቀምበት የምንችለው ቀጥተኛ ጥቅም ነው. ምክንያቱም የደመና ማመጣጠን በመጀመሪያ ፣ በቀላሉ እንዴት እንደሚሰራ ፣ እንዴት እንደሚዋቀር ሀላፊነትን ከእኛ ያስወግዳል። በተጨማሪም በጣም ምቹ ነው, ምክንያቱም መደበኛ Kubernetes ከደመናዎች ጋር ሊዋሃድ ይችላል.

መለካትም ተመሳሳይ ነው። መደበኛ Kubernetes ከደመና አቅራቢዎች ጋር ሊዋሃድ ይችላል። እንዴት እንደሚረዳ ያውቃል ክላስተር ከአንጓዎች ካለቀ፣ ማለትም የመስቀለኛ ቦታው ካለቀ፣ ከዚያ ማከል ያስፈልግዎታል - Kubernetes እራሱ በክላስተርዎ ላይ አዲስ ኖዶችን ይጨምርና በእነሱ ላይ ፖድ ማስጀመር ይጀምራል። ያም ማለት, ጭነትዎ ሲመጣ, የምድጃዎች ብዛት መጨመር ይጀምራል. በክላስተር ውስጥ ያሉት አንጓዎች ለእነዚህ ፖድዎች ሲያልቅ ኩበርኔትስ አዲስ ኖዶችን ያስነሳል እና በዚህ መሠረት የዛፉ ቁጥር አሁንም ሊጨምር ይችላል። እና በጣም ምቹ ነው. ይህ ክላስተር በበረራ ላይ ለመለካት ቀጥተኛ እድል ነው። በጣም ፈጣን አይደለም ፣ ሰከንድ አይደለም ፣ አዲስ አንጓዎችን ለመጨመር አንድ ደቂቃ ያህል ነው።

ግን ከተሞክሮዬ ፣ እንደገና ፣ እስካሁን ካየኋቸው በጣም ጥሩው ነገር ነው። የቀን ሰዓትን መሰረት በማድረግ የክላውድኔቲቭ ዘለላ ሲመዘን። በኋለኛው ቢሮ ውስጥ ሰዎች ይጠቀሙበት የነበረው የድጋፍ አገልግሎት ነበር። ማለትም ከጠዋቱ 9 ሰዓት ላይ ወደ ሥራ ይመጣሉ ፣ ወደ ስርዓቱ ውስጥ መግባት ይጀምራሉ ፣ እናም በዚህ መሠረት ፣ ሁሉም የሚሰራበት የ Cloudnative cluster ማበጥ ይጀምራል ፣ ወደ ሥራ የሚመጡ ሰዎች ሁሉ ከመተግበሪያው ጋር እንዲሰሩ አዳዲስ ፓዶችን ያስነሳል። ከቀኑ 8 ሰአት ወይም ከቀኑ 6 ሰአት ላይ ከስራ ሲወጡ የኩበርኔትስ ስብስቦች ማንም ሰው ከአሁን በኋላ አፕሊኬሽኑን እንደማይጠቀም ያስተውላሉ እና መቀነስ ይጀምራሉ። እስከ 30 በመቶ የሚደርስ ቁጠባ የተረጋገጠ ነው። በዚያን ጊዜ በአማዞን ውስጥ ይሠራ ነበር; በዚያን ጊዜ በሩሲያ ውስጥ ይህን ያህል ጥሩ ማድረግ የሚችል ማንም አልነበረም.

በቀጥታ እነግርዎታለሁ, ቁጠባው 30 በመቶው ብቻ ነው ምክንያቱም Kubernetes ስለምንጠቀም እና የደመናውን አቅም ስለምንጠቀም ብቻ ነው. አሁን ይህ በሩሲያ ውስጥ ሊከናወን ይችላል. ለማንም አላስተዋውቅም, በእርግጥ, ነገር ግን ይህን ማድረግ የሚችሉ አቅራቢዎች አሉ እንበል, ወዲያውኑ ከሳጥኑ ውስጥ በአዝራር ያቅርቡ.

ትኩረትዎን ለመሳብ የምፈልገው አንድ የመጨረሻ ነጥብ አለ። ማመልከቻዎ፣ መሠረተ ልማትዎ ክላውድኔቲቭ እንዲሆን፣ በመጨረሻም መሠረተ ልማት እንደ ኮድ የሚባለውን አካሄድ ማላመድ መጀመሩ ምክንያታዊ ነው።ይህ ማለት የእርስዎ መተግበሪያ ወይም ይልቁንስ የእርስዎ መሠረተ ልማት ከሚያስፈልገው ጋር ተመሳሳይ ነው። ኮድ ማመልከቻዎን, የንግድዎን ሎጂክ በኮድ መልክ ይግለጹ. እና እንደ ኮድ ከእሱ ጋር ይስሩ, ማለትም, ይሞክሩት, ይንከባለሉ, በgit ውስጥ ያስቀምጡት, CICD በእሱ ላይ ይተግብሩ.

እና ይሄ በትክክል ነው, በመጀመሪያ, በመሠረተ ልማትዎ ላይ ሁልጊዜ ቁጥጥር እንዲኖርዎት, ምን አይነት ሁኔታ ውስጥ እንዳለ ሁልጊዜ እንዲረዱት. በሁለተኛ ደረጃ, ስህተቶችን የሚያስከትሉ የእጅ ሥራዎችን ያስወግዱ. በሦስተኛ ደረጃ ፣ ተመሳሳይ የእጅ ሥራዎችን በቋሚነት ማከናወን በሚፈልጉበት ጊዜ በቀላሉ ማዞሪያ ተብሎ ከሚጠራው ይራቁ። በአራተኛ ደረጃ, ውድቀት በሚከሰትበት ጊዜ በፍጥነት እንዲያገግሙ ያስችልዎታል. በሩሲያ ውስጥ ፣ ስለዚህ ጉዳይ በምናገርበት ጊዜ ሁሉ “አዎ ፣ ግልጽ ነው ፣ ግን አቀራረቦች አሉዎት ፣ በአጭሩ ምንም ነገር ማስተካከል አያስፈልግም” የሚሉ በጣም ብዙ ሰዎች አሉ። ግን እውነት ነው። በእርስዎ መሠረተ ልማት ውስጥ አንድ ነገር ከተሰበረ ከክላውድኔቲቭ አቀራረብ እና ከመሠረተ ልማት አንፃር እንደ ኮድ ከማስተካከል ይልቅ ወደ አገልጋዩ ከመሄድ, የተበላሸውን ለማወቅ እና ለማስተካከል ቀላል ነው. አገልጋዩን ለመሰረዝ እና እንደገና ለመፍጠር. እናም ይህ ሁሉ እነበረበት መልስ አገኛለሁ።

እነዚህ ሁሉ ጉዳዮች በ ላይ የበለጠ በዝርዝር ተብራርተዋል Kubernetes የቪዲዮ ኮርሶች: ጁኒየር, መሰረታዊ, ሜጋ. አገናኙን በመከተል እራስዎን ከፕሮግራሙ እና ከሁኔታዎች ጋር በደንብ ማወቅ ይችላሉ። አመቺው ነገር ከቤት ሆነው በማጥናት Kubernetes መቆጣጠር ወይም በቀን ለ 1-2 ሰአታት መሥራት ይችላሉ.

ምንጭ: hab.com

አስተያየት ያክሉ