መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ሰላም ሁላችሁም! ስሜ ፓቬል አጋሌትስኪ እባላለሁ። የላሞዳ አሰጣጥ ስርዓትን በሚያዳብር ቡድን ውስጥ የቡድን መሪ ሆኜ እሰራለሁ። በ2018 በHighLoad ++ ኮንፈረንስ ላይ ተናግሬአለሁ፣ እና ዛሬ የሪፖርቴን ግልባጭ ማቅረብ እፈልጋለሁ።

የእኔ ርዕስ ለተለያዩ አካባቢዎች ስርዓቶችን እና አገልግሎቶችን በማሰማራት ላይ ላለው የኩባንያችን ልምድ የተሰጠ ነው። ከቅድመ ታሪክ ዘመናችን ጀምሮ ሁሉንም ስርዓቶች ወደ ተራ ቨርቹዋል ሰርቨሮች ስናሰማራ ከኖማድ ወደ ኩበርኔትስ ማሰማራት በሂደት ያበቃል። ለምን እንደሰራን እና በሂደቱ ውስጥ ምን ችግሮች እንደነበሩን እነግርዎታለሁ።

መተግበሪያዎችን ወደ VM ያሰማሩ

ከ 3 ዓመታት በፊት ሁሉም የኩባንያው ስርዓቶች እና አገልግሎቶች በመደበኛ ቨርቹዋል ሰርቨሮች ላይ ተሰማርተው እንደነበር በመግለጽ እንጀምር። በቴክኒክ ፣ ሁሉም የስርዓታችን ኮድ እንዲቀመጥ እና ጄንኪን በመጠቀም አውቶማቲክ የመሰብሰቢያ መሳሪያዎችን በመጠቀም የተገጣጠመ ነው ። በ Ansible እገዛ፣ ከስሪት መቆጣጠሪያ ስርዓታችን ወደ ምናባዊ አገልጋዮች ቀድሞ ተለቅቋል። በተመሳሳይ ጊዜ, በኩባንያችን ውስጥ የነበረው እያንዳንዱ ስርዓት ቢያንስ ለ 2 አገልጋዮች ተዘርግቷል: ከመካከላቸው አንዱ - በጭንቅላቱ ላይ, ሁለተኛው - በጅራት ላይ. እነዚህ ሁለቱ ስርዓቶች በሁሉም ቅንጅቶቻቸው፣ ሃይላቸው፣ ውቅር እና በመሳሰሉት እርስ በርስ ፍጹም ተመሳሳይ ነበሩ። በመካከላቸው ያለው ብቸኛው ልዩነት ጭንቅላት የተጠቃሚውን ትራፊክ መቀበሉ ነበር ፣ ጅራቱ ግን በጭራሽ የተጠቃሚ ትራፊክ አላገኘም።

ለምን ነበር?

የኛን መተግበሪያ አዲስ የተለቀቁትን ስናሰማራ፣ ያለችግር፣ ማለትም፣ ለተጠቃሚዎች የሚታይ ውጤት ሳይኖር መልቀቅ እንድንችል እንፈልጋለን። ይህ ሊሆን የቻለው ቀጣዩ የተቀናጀ ልቀት ወደ ጅራት በመውጣቱ ነው። እዚያም, በማሰማራት ውስጥ የተሳተፉ ሰዎች ሁሉም ነገር ጥሩ መሆኑን ማረጋገጥ እና ማረጋገጥ ይችላሉ: ሁሉም መለኪያዎች, ክፍሎች እና መተግበሪያዎች እየሰሩ ናቸው; አስፈላጊዎቹ ስክሪፕቶች ይካሄዳሉ. ሁሉም ነገር ደህና መሆኑን ካረጋገጡ በኋላ ብቻ የትራፊክ መቀየሪያው ተደረገ። ከዚህ በፊት ጭራ ወደነበረው አገልጋይ መሄድ ጀመረ። እና ቀደም ሲል ጭንቅላት የነበረው ያለተጠቃሚ ትራፊክ ቀርቷል ፣ የቀደመው የመተግበሪያችን ስሪት በላዩ ላይ ይገኛል።

ስለዚህ ለተጠቃሚዎች እንከን የለሽ ነበር. ምክንያቱም ማቀያየር ወዲያውኑ ነው, ምክንያቱም ሚዛን መቀያየር ብቻ ስለሆነ. ሚዛኑን ወደ ኋላ በመቀየር ወደ ቀድሞው ስሪት መመለስ በጣም ቀላል ነው። እንዲሁም የተጠቃሚው ትራፊክ ወደ እሱ ከመሄዱ በፊት እንኳን አፕሊኬሽኑ ለማምረት ዝግጁ መሆኑን ማረጋገጥ እንችላለን፣ ይህም በጣም ምቹ ነበር።

በዚህ ሁሉ ውስጥ ምን በጎነት እናያለን?

  1. በመጀመሪያ ደረጃ, በቂ ነው ብቻ ይሰራል። ሁሉም ሰው እንዲህ ዓይነቱን የማሰማራት እቅድ እንዴት እንደሚሰራ ይረዳል, ምክንያቱም ብዙ ሰዎች ወደ ተራ ምናባዊ ሰርቨሮች ተሰማርተዋል.
  2. ይህ በቂ ነው። እምነት የሚጣልበት ነው, የማሰማራት ቴክኖሎጂ ቀላል ስለሆነ, በሺዎች በሚቆጠሩ ኩባንያዎች ተፈትኗል. በሚሊዮን የሚቆጠሩ አገልጋዮች በዚህ መንገድ ተሰማርተዋል። የሆነ ነገር መስበር ከባድ ነው።
  3. እና በመጨረሻም ማግኘት እንችላለን የአቶሚክ ማሰማራት. በአሮጌው ስሪት እና በአዲሱ መካከል የመቀያየር ደረጃ ሳይታይ ለተጠቃሚዎች በአንድ ጊዜ የሚከሰቱ ማሰማራት።

ግን በዚህ ሁሉ ውስጥ በርካታ ድክመቶችንም አይተናል፡-

  1. ከምርት አካባቢ፣ ከልማት አካባቢ በተጨማሪ ሌሎች አካባቢዎችም አሉ። ለምሳሌ qa እና ቅድመ ዝግጅት። በዚያን ጊዜ ብዙ አገልጋዮች እና ወደ 60 የሚጠጉ አገልግሎቶች ነበሩን። በዚህ ምክንያት መሆን ነበረበት ለእያንዳንዱ አገልግሎት የቅርብ ጊዜውን ስሪት ያቆዩት። ምናባዊ ማሽን. ከዚህም በላይ ቤተ-መጻሕፍትን ለማዘመን ወይም አዲስ ጥገኛዎችን ለመጫን ከፈለጉ በሁሉም አካባቢዎች ይህን ማድረግ ያስፈልግዎታል. እንዲሁም ቀጣዩን አዲሱን የመተግበሪያዎን ስሪት የምታሰማሩበትን ጊዜ ዲፖፕስ አስፈላጊውን የአካባቢ ቅንጅቶችን ካከናወነበት ጊዜ ጋር ማመሳሰል አስፈላጊ ነበር። በዚህ ሁኔታ, በአካባቢያችን በተከታታይ በሁሉም አከባቢዎች በአንድ ጊዜ በተወሰነ ደረጃ የተለየ ወደሚሆንበት ሁኔታ ውስጥ መግባት ቀላል ነው. ለምሳሌ, በ QA አካባቢ ውስጥ አንዳንድ የቤተ-መጻህፍት ስሪቶች ይኖራሉ, እና በምርት ውስጥ - ሌሎች, ይህም ወደ ችግሮች ያመራል.
  2. ጥገኞችን ለማዘመን አስቸጋሪነት ማመልከቻዎ. በአንተ ላይ ሳይሆን በሌላኛው ቡድን ላይ የተመካ ነው። ይኸውም አገልጋዮቹን ከሚጠብቀው የዶፕስ ቡድን። ተገቢውን ስራ መስጠት እና ምን ማድረግ እንደሚፈልጉ መግለፅ አለብዎት.
  3. በዛን ጊዜ፣ እኛ ደግሞ ያሉንን ትላልቅ ሞኖሊቶች ወደ ተለያዩ ትናንሽ አገልግሎቶች ልንከፋፍላቸው ፈለግን፣ ብዙ እና የበለጠ እንደሚሆኑ ስለተረዳን ነው። በዚያን ጊዜ ከ 100 በላይ የሚሆኑት ነበሩን ። ለእያንዳንዱ አዲስ አገልግሎት የተለየ አዲስ ቨርቹዋል ማሽን መፍጠር አስፈላጊ ነበር ፣ እሱ ደግሞ አገልግሎት መስጠት እና ማሰማራት ያስፈልጋል። በተጨማሪም, አንድ መኪና አያስፈልግም, ግን ቢያንስ ሁለት. ለዚህም ሁሉም የ QA አካባቢ ተጨምሯል። ይህ ችግር ይፈጥራል እና አዳዲስ ስርዓቶችን መገንባት እና ማካሄድ የበለጠ ከባድ ያደርገዋል። ውስብስብ, ውድ እና ረጅም ሂደት.

ስለዚህ ተራ ቨርቹዋል ማሽኖችን ከማሰማራት ተነስተን አፕሊኬሽኖቻችንን በዶክተር ኮንቴይነር ወደ ማሰማራት መሸጋገር የበለጠ ምቹ እንዲሆን ወስነናል። ዶከር ካለዎት ልክ እንደ መያዣ ብቻ ማሳደግ ስለማይችሉ መተግበሪያውን በክላስተር ውስጥ ማስኬድ የሚችል ስርዓት ያስፈልግዎታል። ብዙውን ጊዜ ምን ያህል ኮንቴይነሮች በራስ-ሰር እንዲነሱ እንደሚነሱ መከታተል ይፈልጋሉ። በዚህ ምክንያት, የቁጥጥር ስርዓት መምረጥ ነበረብን.

የትኛውን መውሰድ እንዳለብን ከረዥም ጊዜ ጀምሮ አሰብን። እውነታው ግን በዚያን ጊዜ ይህ የስርዓተ ክወናዎች የቅርብ ጊዜ ስሪቶች ስላልነበሩ ወደ ተራ ምናባዊ አገልጋዮች የማሰማራት ቁልል በተወሰነ ደረጃ ጊዜ ያለፈበት ነበር። በአንድ ወቅት, FreeBSD እንኳን እዚያ ነበር, ይህም ለመደገፍ በጣም አመቺ አልነበረም. በተቻለ ፍጥነት ወደ ዶከር መሰደድ እንዳለብን ተረድተናል። የእኛ አገልጋዮች ልምዳቸውን በተለያዩ መፍትሄዎች ተመልክተው እንደ ዘላን ያለ ስርዓት መረጡ።

ወደ ዘላን በመቀየር ላይ

ዘላን የሃሺኮርፕ ምርት ነው። በሌሎች መፍትሔዎቻቸውም ይታወቃሉ፡-

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ቆንስል የአገልግሎት ፍለጋ መሣሪያ ነው።

"ቴራፎርም" - በማዋቀር በኩል እንዲያዋቅሯቸው የሚያስችል ሰርቨሮችን የማስተዳደር ስርዓት፣ መሠረተ ልማት-እንደ-ኮድ ተብሎ የሚጠራው።

ቫግራንት ቨርቹዋል ማሽኖችን በአገር ውስጥ ወይም በደመና ውስጥ በተወሰኑ የማዋቀሪያ ፋይሎች በኩል እንዲያሰማሩ ይፈቅድልዎታል።

በዚያን ጊዜ ዘላኖች መላውን መሠረተ ልማት ሳይቀይሩ በፍጥነት መቀየር የሚችሉበት ቀላል መፍትሄ ይመስላል። በተጨማሪም ፣ ለመማር በጣም ቀላል ነው። ስለዚህ ለዕቃችን እንደ ማጣሪያ ሥርዓት መርጠናል.

ስርዓትዎን በኖማድ ውስጥ በትክክል ለማሰማራት ምን ያስፈልግዎታል?

  1. በመጀመሪያ ደረጃ, ያስፈልግዎታል ዶከር ምስል ማመልከቻዎ. መገንባት እና በዶክተር ምስል መደብር ውስጥ ማስቀመጥ ያስፈልግዎታል. በእኛ ሁኔታ, ይህ አርቲፊሻል ነው - የተለያዩ አይነት ቅርሶችን ወደ ውስጡ እንዲገፋፉ የሚያስችልዎ ስርዓት. ማህደሮችን፣ ዶከር ምስሎችን፣ ፒኤችፒ አቀናባሪ ጥቅሎችን፣ የኤንፒኤም ፓኬጆችን እና የመሳሰሉትን ማከማቸት ይችላል።
  2. በተጨማሪም ያስፈልጋል የማዋቀር ፋይል, ይህም ለኖማድ ምን, የት እና ምን ያህል ማሰማራት እንደሚፈልጉ ይነግራል.

ስለ ዘላን ስናወራ፣ የኤች.ሲ.ኤል.ኤል ቋንቋን እንደ የመረጃ ፋይል ቅርጸት ይጠቀማል HashiCorp ውቅር ቋንቋ. አገልግሎትዎን በዘላንነት እንዲገልጹ የሚያስችልዎ የYaml ልዕለ ስብስብ ነው።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ምን ያህል መያዣዎችን ማሰማራት እንደሚፈልጉ እንዲናገሩ ይፈቅድልዎታል, ከየትኞቹ ምስሎች ውስጥ የተለያዩ መመዘኛዎችን በማሰማራት ላይ. ስለዚህ ይህን ፋይል ለኖማድ ትመግበዋለህ፣ እና በእሱ መሰረት ኮንቴይነሮችን ወደ ማምረት ይጀምራል።

በእኛ ሁኔታ ፣ ለእያንዳንዱ አገልግሎት ተመሳሳይ ፣ ተመሳሳይ የ HCL ፋይሎችን መፃፍ በጣም ምቹ እንደማይሆን ተገነዘብን ፣ ምክንያቱም ብዙ አገልግሎቶች ስላሉ እና አንዳንድ ጊዜ እነሱን ማዘመን ይፈልጋሉ። አንድ አገልግሎት በአንድ ምሳሌ ሳይሆን በተለያዩ ልዩ ልዩ አገልግሎቶች ውስጥ መሰራጨቱ ይከሰታል። ለምሳሌ፣ በምርት ውስጥ ካሉን ስርዓቶች አንዱ በምርት ውስጥ ከ100 በላይ አጋጣሚዎች አሉት። እነሱ ከተመሳሳይ ምስሎች ይሰራሉ, ነገር ግን በማዋቀሪያ ቅንጅቶች እና በማዋቀር ፋይሎች ይለያያሉ.

ስለዚህ, ሁሉንም የማዋቀሪያ ፋይሎቻችንን በአንድ የጋራ ማከማቻ ውስጥ ለማሰማራት ለእኛ ምቹ እንዲሆን ወስነናል. በዚህ መንገድ, እነሱ የሚታዩ ሆኑ: ለመጠገን ቀላል ነበሩ እና ምን አይነት ስርዓቶች እንዳሉን ማየት ይችላሉ. አስፈላጊ ከሆነ, አንድ ነገር ለማዘመን ወይም ለመለወጥ ቀላል ነው. አዲስ ስርዓት ማከልም አስቸጋሪ አይደለም - በአዲሱ ማውጫ ውስጥ የውቅረት ፋይል ብቻ ያክሉ። በውስጡም ፋይሎች፡- service.hcl፣ የአገልግሎታችን መግለጫ እና አንዳንድ የኢንቪ ፋይሎች አሉ፣ ይህ አገልግሎት በምርት ላይ እየተሰማራ እንዲዋቀር ነው።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ነገር ግን፣ አንዳንድ ስርዓቶቻችን በምርት ውስጥ በአንድ ቅጂ ሳይሆን በአንድ ጊዜ ተዘርግተዋል። ስለዚህ, አወቃቀሮችን በንጹህ መልክ ሳይሆን በአብነት መልክ ለማከማቸት ለእኛ ምቹ እንዲሆን ወስነናል. እና እኛ የመረጥነው እንደ አብነት ቋንቋ ነው። ጂንጃ 2. በዚህ ቅርጸት ሁለቱንም የአገልግሎቱን አወቃቀሮች እና ለእሱ የሚያስፈልጉትን የኢንቪ ፋይሎችን እናከማቻለን ።

በተጨማሪም, በሁሉም ፕሮጀክቶች ውስጥ የተለመደው የማሰማራት ስክሪፕት በማጠራቀሚያው ውስጥ አስቀምጠናል, ይህም አገልግሎትዎን በአምራችነት, በትክክለኛው አካባቢ, በትክክለኛው ዒላማ ውስጥ ለመጀመር እና ለማሰማራት ያስችልዎታል. የኛን የHCL ውቅረት ወደ አብነት በቀየርንበት ጊዜ፣ ከዚያ በፊት የተለመደው Nomad config የነበረው የ HCL ፋይል፣ በዚህ አጋጣሚ ትንሽ ለየት ያለ መታየት ጀመረ።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ማለትም አንዳንድ የውቅረት ቦታ ተለዋዋጮችን ከኤንቪ ፋይሎች ወይም ከሌሎች ምንጮች በተወሰዱ በተለዋዋጭ ማስገቢያዎች ተክተናል። በተጨማሪም, የ HCL ፋይሎችን በተለዋዋጭ የመገንባት ችሎታ አግኝተናል, ማለትም, የተለመዱ ተለዋዋጭ ማስገቢያዎችን ብቻ መጠቀም እንችላለን. ጂንጃ ዑደቶችን እና ሁኔታዎችን ስለሚደግፍ፣ የውቅረት ፋይሎችን እዚያ ላይ ማስቀመጥ ትችላለህ፣ ይህም መተግበሪያህን በትክክል ባሰማራህበት ቦታ ይለያያል።

ለምሳሌ፣ አገልግሎትዎን ወደ ቅድመ-ምርት እና ምርት ማሰማራት ይፈልጋሉ። በቅድመ-ምርት ውስጥ ክሮን ስክሪፕቶችን ማሄድ አይፈልጉም ነገር ግን አገልግሎቱ እየሰራ መሆኑን ለማረጋገጥ በተለየ ጎራ ላይ ማየት ብቻ ነው እንበል። አገልግሎቱን ለሚያሰማራ ማንኛውም ሰው፣ ሂደቱ በጣም ቀላል እና ግልጽ ነው። የ deploy.sh ፋይልን ለማስፈጸም በቂ ነው, የትኛውን አገልግሎት ማሰማራት እንደሚፈልጉ እና ወደ የትኛው ዒላማ ይግለጹ. ለምሳሌ, አንዳንድ ስርዓቶችን ወደ ሩሲያ, ቤላሩስ ወይም ካዛክስታን ማሰማራት ይፈልጋሉ. ይህንን ለማድረግ በቀላሉ አንዱን መለኪያዎች ይቀይሩ, እና ትክክለኛው የማዋቀሪያ ፋይል ይኖርዎታል.

የኖማድ አገልግሎት በክላስተርዎ ውስጥ ሲሰራጭ፣ ይህን ይመስላል።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ለመጀመር ፣ ሁሉንም የተጠቃሚ ትራፊክ ወደ ራሱ የሚወስድ አንዳንድ የጭነት ማመሳከሪያ ያስፈልግዎታል። ከቆንስል ጋር አብሮ ይሰራል እና ከሱ ይማራል በየትኛው መስቀለኛ መንገድ ላይ አንድ የተወሰነ አገልግሎት በየትኛው የአይፒ አድራሻ እንደሚገኝ, ይህም ከአንድ የተወሰነ የጎራ ስም ጋር ይዛመዳል. በቆንስል ውስጥ ያሉ አገልግሎቶች ከኖማድ ከራሱ ይመጣሉ። እነዚህ የአንድ ኩባንያ ምርቶች ስለሆኑ በደንብ የተገናኙ ናቸው. ከሳጥኑ ውጭ ዘላን በቆንስል ውስጥ የተጀመሩትን ሁሉንም አገልግሎቶች መመዝገብ ይችላል ማለት እንችላለን።

የውጭ ሚዛኑዎ የትኛውን አገልግሎት ትራፊክ እንደሚልክ ካወቀ በኋላ፣ ወደ ተገቢው መያዣ ወይም ከማመልከቻዎ ጋር ወደ ሚመሳሰሉ ብዙ መያዣዎች ያዞረዋል። በተፈጥሮ, ስለ ደህንነትም ማሰብ ያስፈልጋል. ምንም እንኳን ሁሉም አገልግሎቶች በኮንቴይነሮች ውስጥ በተመሳሳዩ ቨርቹዋል ማሽኖች የሚሰሩ ቢሆኑም ይህ አብዛኛውን ጊዜ የትኛውንም አገልግሎት ወደሌላ ነፃ መዳረሻ መከልከልን ይጠይቃል። ይህንንም ያገኘነው በመከፋፈል ነው። እያንዳንዱ አገልግሎት የጀመረው በራሱ ቨርቹዋል ኔትወርክ ሲሆን ሌሎች ስርዓቶችን እና አገልግሎቶችን የመፍቀድ/የመከልከል ህጎች እና ደንቦች የተፃፉበት ነው። ሁለቱም በዚህ ዘለላ ውስጥ እና ከእሱ ውጭ ሊሆኑ ይችላሉ. ለምሳሌ አንድ አገልግሎት ከአንድ የተወሰነ የውሂብ ጎታ ጋር እንዳይገናኝ ለመከላከል ከፈለጉ ይህ በኔትወርክ ደረጃ በመከፋፈል ሊከናወን ይችላል. ያም ማለት በስህተት እንኳን ከሙከራው አካባቢ ወደ ምርት መሰረትዎ በአጋጣሚ መገናኘት አይችሉም።

ሽግግሩ በሰው ሃይል ምን ያህል አስከፍሎናል?

በግምት ከ5-6 ወራት የጠቅላላ ኩባንያውን ሽግግር ወደ ዘላን ወሰደ። አገልግሎትን በአገልግሎት አንቀሳቅሰናል፣ ነገር ግን በጣም ፈጣን በሆነ ፍጥነት። እያንዲንደ ቡዴን የየራሳቸውን የአገሌግልት መያዣዎች መፍጠር አሇባቸው.

እያንዳንዱ ቡድን የስርዓቶቻቸውን ምስሎች በተናጥል ለዶከር ምስሎች ሃላፊነት እንዲወስድ እንደዚህ አይነት አካሄድ ወስደናል። ዴቮፕስ በበኩሉ ለመዘርጋት አስፈላጊ የሆኑትን አጠቃላይ መሠረተ ልማቶችን ማለትም ለክላስተር በራሱ ድጋፍ፣ ለ CI ስርዓት ድጋፍ እና የመሳሰሉትን ያቀርባል። እናም በዚያን ጊዜ ወደ 60 የሚጠጉ ኮንቴይነሮች ወደነበሩበት ከ2 በላይ ሲስተሞች ወደ ኖማድ ተዛውረናል።

DevOps ከማሰማራት ጋር ለተያያዙት ነገሮች ሁሉ ከአገልጋዮች ጋር ለጠቅላላ መሠረተ ልማት ኃላፊነቱን ይወስዳል። እና እያንዳንዱ የእድገት ቡድን, በተራው, በአንድ የተወሰነ እቃ ውስጥ በአጠቃላይ ምን እንደሚፈልግ የሚያውቀው ቡድን ስለሆነ, ለተለየ ስርዓታቸው መያዣዎችን የመተግበር ሃላፊነት አለበት.

ከኖማድ የመውጣት ምክንያቶች

Nomad እና dockerን በመጠቀም ወደ ማሰማራት በመቀየር ምን ጥቅሞች አግኝተናል?

  1. እኛ ነን ተመሳሳይ ሁኔታዎችን አቅርቧል ለሁሉም አከባቢዎች. በልማት ውስጥ QA-አካባቢ, ቅድመ-ምርት, ምርት, ተመሳሳይ መያዣ ምስሎች ጥቅም ላይ ይውላሉ, ከተመሳሳይ ጥገኞች ጋር. በዚህ መሠረት ከዚህ ቀደም በአገር ውስጥ ወይም በሙከራ አካባቢ ከሞከሩት የተለየ ነገር በምርት ውስጥ የመሆን ዕድል የለህም።
  2. በቂ ሆኖ አግኝተነዋል። አዲስ አገልግሎት ለመጨመር ቀላል. ከማሰማራት አንፃር ማንኛውም አዲስ ስርዓቶች በጣም ቀላል ናቸው የተጀመሩት። አወቃቀሮችን ወደሚያከማችበት ማከማቻ መሄድ በቂ ነው፣ ለስርዓትዎ የሚቀጥለውን ውቅረት እዚያ ያክሉ እና ሁሉም ዝግጁ ናቸው። ምንም ተጨማሪ ጥረት ሳይኖር ስርዓትዎን ወደ ምርት ማሰማራት ይችላሉ።
  3. ሁሉ የማዋቀር ፋይሎች በአንድ የጋራ ማከማቻ ውስጥ ችላ ተብሎ ተለወጠ. በቨርቹዋል ሰርቨሮች በመጠቀም ስርዓቶቻችንን ባሰማራንበት በአሁኑ ሰአት ውቅሮቹ በተመሳሳይ ማከማቻ ውስጥ የነበሩበትን Ansible ተጠቀምን። ሆኖም፣ ለአብዛኛዎቹ ገንቢዎች፣ ይህ ከእሱ ጋር ለመስራት ትንሽ አስቸጋሪ ነበር። እዚህ አገልግሎቱን ለማሰማራት ማከል ያለብዎት የቅንጅቶች እና ኮድ መጠን በጣም ያነሰ ሆኗል። በተጨማሪም ለ devops እሱን ማስተካከል ወይም መለወጥ በጣም ቀላል ነው። በሽግግር ወቅት፣ ለምሳሌ፣ ወደ አዲስ የኖማድ ስሪት፣ በአንድ ቦታ ላይ ያሉትን ሁሉንም የክወና ፋይሎች ወስደው በከፍተኛ ሁኔታ ማዘመን ይችላሉ።

ግን ብዙ ጉዳቶች አጋጥመውናል፡-

እኛ መሆኑ ታወቀ እንከን የለሽ ማሰማራቶችን ማሳካት አልቻለም በዘላንነት ጉዳይ። ኮንቴይነሮችን ከተለያየ ሁኔታ በሚዘረጋበት ጊዜ፣ እየሮጠ ሊሆን ይችላል፣ እና ዘላን ትራፊክ ለመቀበል ዝግጁ የሆነ ኮንቴይነር እንደሆነ ተገንዝቧል። ይህ የሆነው በውስጡ ያለው መተግበሪያ ለመጀመር ጊዜ ከማግኘቱ በፊት ነው። በዚህ ምክንያት ስርዓቱ 500 ስህተቶችን ለአጭር ጊዜ መስጠት ጀመረ, ምክንያቱም ትራፊክ ወደ መያዣው መሄድ ስለጀመረ, ለመቀበል ገና ዝግጁ አልነበረም.

አንዳንዶቹን አጋጥሞናል። ሳንካዎች. በጣም አስፈላጊው ስህተት ብዙ ስርዓቶች እና ኮንቴይነሮች ካሉዎት Nomad አንድ ትልቅ ክላስተር በደንብ የማይይዝ መሆኑ ነው። በዘላን ክላስተር ውስጥ ከተካተቱት ሰርቨሮች አንዱን ወደ አገልግሎት መውሰድ ሲፈልጉ ክላስተር ጥሩ ስሜት እንዳይሰማው እና እንዳይፈርስ በጣም ከፍተኛ እድል አለ። አንዳንድ ኮንቴይነሮች ለምሳሌ ይወድቃሉ እና አይነሱም - ሁሉም በምርት ላይ ያሉ ስርዓቶችዎ በዘላን በሚተዳደር ክላስተር ውስጥ የሚገኙ ከሆነ ይህ በኋላ ብዙ ያስከፍልዎታል።

ስለዚህ ወዴት መሄድ እንዳለብን ለማሰብ ወሰንን. በዛን ጊዜ, እኛ ልናሳካው የምንፈልገውን የበለጠ አውቀናል. ይኸውም: አስተማማኝነትን እንፈልጋለን, ከኖማድ ከሚሰጠው ትንሽ ተጨማሪ ባህሪያት, እና የበለጠ የበሰለ እና የተረጋጋ ስርዓት.

በዚህ ረገድ ፣የእኛ ምርጫ በ Kubernetes ላይ ወድቋል ዘለላዎችን ለማስኬድ በጣም ታዋቂው መድረክ። በተለይ የኮንቴነራችን መጠንና ብዛት በቂ ስለነበር ነው። ለእንደዚህ ዓይነቶቹ ዓላማዎች ኩበርኔትስ ልንመለከታቸው ከሚችሉት ውስጥ በጣም ተስማሚ የሆነ ስርዓት ይመስላል.

ወደ ኩበርኔትስ በመንቀሳቀስ ላይ

የኩበርኔትስ መሰረታዊ ፅንሰ-ሀሳቦች ምን እንደሆኑ እና ከኖማድ እንዴት እንደሚለያዩ ትንሽ እናገራለሁ ።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

በመጀመሪያ ደረጃ, በኩበርኔትስ ውስጥ በጣም መሠረታዊው ጽንሰ-ሐሳብ የፖድ ጽንሰ-ሐሳብ ነው. ፖድ ሁል ጊዜ አብረው የሚጀምሩ የአንድ ወይም የበለጡ ኮንቴይነሮች ቡድን ነው። እና ሁልጊዜም በተመሳሳይ ምናባዊ ማሽን ላይ በትክክል ይሰራሉ. በተለያዩ ወደቦች ላይ በአይፒ አድራሻ 127.0.0.1 እርስ በርሳቸው ይገኛሉ።

nginx እና php-fpm - ክላሲክ ስርዓተ ጥለት የያዘ የPHP መተግበሪያ አለህ እንበል። ምናልባት፣ ሁለቱም nginx እና php-fpm ኮንቴይነሮች ሁል ጊዜ አብረው እንዲሆኑ ይፈልጋሉ። ኩበርኔትስ እንደ አንድ የተለመደ ፖድ በመግለጽ ይህንን ለማሳካት ይፈቅድልዎታል. ከኖማድ ጋር ልናገኘው ያልቻልነው ይህ ነው።

ሁለተኛው ጽንሰ-ሐሳብ ነው ማሰማራት. ነጥቡ ፖዱ ራሱ ኢፌመር ነገር ነው, ይጀምራል እና ይጠፋል. ሁሉንም የቀደሙት ኮንቴይነሮችዎን መጀመሪያ ለመግደል እና ከዚያ አዲስ ስሪቶችን ወዲያውኑ ያስጀምሩ ፣ ወይም ቀስ በቀስ እነሱን መልቀቅ ይፈልጋሉ - ይህ በትክክል ለዚህ ሂደት ኃላፊነት ያለው የማሰማራት ጽንሰ-ሀሳብ ነው። ፖድዎን እንዴት እንደሚያሰማሩ፣ ስንት እንደሆኑ እና እንዴት እንደሚያዘምኗቸው ይገልጻል።

ሦስተኛው ጽንሰ-ሐሳብ ነው አገልግሎት. የእርስዎ አገልግሎት አንዳንድ ትራፊክን የሚወስድ እና ከዚያ ከአገልግሎትዎ ጋር የሚዛመዱ ወደ አንድ ወይም ከዚያ በላይ ፖድ የሚመራ የእርስዎ ስርዓት ነው። ያም ማለት ወደ እንደዚህ አይነት እና እንደዚህ ያለ ስም ያለው አገልግሎት ሁሉም ገቢ ትራፊክ ወደ እነዚህ ልዩ ፖድዎች መላክ አለበት ለማለት ያስችሎታል. እና በተመሳሳይ ጊዜ, የትራፊክ ሚዛን ይሰጥዎታል. ማለትም፣ የመተግበሪያዎን ሁለት ፖዶች ማሄድ ይችላሉ፣ እና ሁሉም ገቢ ትራፊክ ከዚህ አገልግሎት ጋር በተያያዙ ፖድዎች መካከል ሚዛናዊ ይሆናል።

እና አራተኛው መሰረታዊ ፅንሰ-ሀሳብ- Ingress. ይህ በኩበርኔትስ ክላስተር ላይ የሚሰራ አገልግሎት ነው። ሁሉንም ጥያቄዎች የሚቆጣጠር እንደ ውጫዊ ጭነት ሚዛን ሆኖ ያገለግላል። በKubernetes API፣ Ingress እነዚህ ጥያቄዎች የት እንደሚላኩ ማወቅ ይችላል። እና እሱ በጣም በተለዋዋጭ ያደርገዋል። ለዚህ አስተናጋጅ እና እንደዚህ አይነት እና እንደዚህ ያለ ዩአርኤል ሁሉም ጥያቄዎች ወደዚህ አገልግሎት ተልከዋል ማለት ትችላለህ። እና እነዚህ ወደዚህ አስተናጋጅ እና ወደ ሌላ ዩአርኤል የሚመጡ ጥያቄዎች ወደ ሌላ አገልግሎት ይላካሉ።

አፕሊኬሽኑን ካዘጋጀው ሰው አንፃር በጣም ጥሩው ነገር ሁሉንም እራስዎ ማስተዳደር መቻል ነው። የ Ingress ውቅረትን በማቀናበር ወደ እንደዚህ አይነት እና እንደዚህ ያለ ኤፒአይ የሚመጡትን ሁሉንም ትራፊክ መያዣዎችን ለመለየት መላክ ይችላሉ ለምሳሌ በ Go ውስጥ የተመዘገቡ። ነገር ግን ይህ ወደ ተመሳሳይ ጎራ የሚመጣው ትራፊክ፣ ግን ወደተለየ ዩአርኤል፣ ብዙ አመክንዮዎች ባሉበት በ PHP ውስጥ ወደተፃፉ ኮንቴይነሮች ይላካል፣ ነገር ግን በጣም ፈጣን አይደሉም።

እነዚህን ሁሉ ፅንሰ-ሀሳቦች ከኖማድ ጋር ካነፃፅርን፣ የመጀመሪያዎቹ ሶስት ፅንሰ-ሀሳቦች ሁሉም አንድ ላይ አገልግሎት ናቸው ማለት እንችላለን። እና የመጨረሻው ጽንሰ-ሐሳብ በራሱ በኖማድ ውስጥ የለም. እንደ ውጫዊ ሚዛን ተጠቀምን-ሃፕሮክሲ ፣ nginx ፣ nginx + እና የመሳሰሉት ሊሆኑ ይችላሉ። በኩብ ሁኔታ, ይህንን ተጨማሪ ጽንሰ-ሐሳብ በተናጥል ማስተዋወቅ አያስፈልግዎትም. ነገር ግን፣ ወደ ውስጥ ኢንግረስን ከተመለከቱ፣ እሱ ወይ nginx፣ ወይም haproxy፣ ወይም traefik ነው፣ ነገር ግን፣ እንደ እሱ፣ በ Kubernetes ውስጥ ነው የተሰራው።

የገለጽኳቸው ፅንሰ-ሀሳቦች በሙሉ፣ በእውነቱ፣ በኩበርኔትስ ክላስተር ውስጥ ያሉ ሀብቶች ናቸው። እነሱን በኪዩብ ውስጥ ለመግለፅ፣ የያምል ፎርማት ጥቅም ላይ ይውላል፣ ይህም በዘላን ጉዳይ ላይ ከHCL ፋይሎች የበለጠ የሚነበብ እና የሚታወቅ ነው። ነገር ግን በመዋቅር ውስጥ, ለምሳሌ በፖድ ሁኔታ ውስጥ ተመሳሳይ ነገርን ይገልጻሉ. እነሱ እንዲህ ይላሉ - እንደነዚህ ያሉ እና እንደዚህ ያሉ ፖድፖችን, እንደዚህ ባሉ ምስሎች, በእንደዚህ አይነት እና በብዛት ማሰማራት እፈልጋለሁ.

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

በተጨማሪም, እያንዳንዱን ግለሰብ መርጃዎችን በእጅ መፍጠር እንደማንፈልግ ተገነዘብን: ማሰማራት, አገልግሎቶች, መግቢያ, ወዘተ. በምትኩ, እኛ በተሰማራበት ጊዜ እያንዳንዱን ስርዓታችንን በ Kubernetes መግለፅ እንፈልጋለን, ስለዚህ ሁሉንም አስፈላጊ የንብረት ጥገኞች በትክክለኛው ቅደም ተከተል እራስዎ እንደገና መፍጠር አያስፈልገንም. ሄልም ይህን እንድናደርግ ያስቻለን እንደ አንድ ሥርዓት ተመርጧል.

በ Helm ውስጥ መሰረታዊ ፅንሰ-ሀሳቦች

ሄልም ነው። የጥቅል አስተዳዳሪ ለ Kubernetes. የጥቅል አስተዳዳሪዎች በፕሮግራሚንግ ቋንቋዎች እንዴት እንደሚሠሩ በጣም ተመሳሳይ ነው። ለምሳሌ nginx ን ማሰማራት፣ php-fpm ማሰማራት፣ ውቅር ለ Ingress፣ configmaps (ይህ ለስርዓትዎ env እና ሌሎች መለኪያዎች እንዲያዘጋጁ የሚያስችልዎ አካል ነው) የያዘ አገልግሎት እንዲያከማቹ ያስችሉዎታል። ገበታዎች ተብለው ይጠራሉ. በተመሳሳይ ጊዜ, Helm በኩበርኔትስ አናት ላይ ይሰራል. ያም ማለት ይህ ወደ ጎን የቆመ አንድ ዓይነት ስርዓት አይደለም, ነገር ግን በኪዩብ ውስጥ የሚሠራ ሌላ አገልግሎት ብቻ ነው. በኮንሶል ትዕዛዝ በኩል በእሱ ኤፒአይ በኩል ከእሱ ጋር ይገናኛሉ። ምቾቱ እና ውበቱ ሹራብ ቢሰበር ወይም ከክላስተር ቢያወጡትም፣ ሹም በዋናነት የሚያገለግለው ስርዓቱን ለመጀመር ብቻ ስለሆነ አገልግሎትዎ አይጠፋም። Kubernetes እራሱ ለአገልግሎቶች ጤና እና ሁኔታ የበለጠ ሀላፊነት አለበት።

ያንንም ተረድተናል ቴአትር ማድረግከዚህ በፊት ጂንጃን ወደ ውቅሮቻችን በመርፌ በራሳችን ማድረግ የነበረብን ከሄልም ዋና ዋና ባህሪያት አንዱ ነው። ለስርዓቶችህ የምትፈጥራቸው ሁሉም ውቅሮች እንደ አብነት ተቀምጠዋል፣ ትንሽ እንደ ጂንጃ፣ ነገር ግን እንደ ኩበርኔትስ ሁሉ ሄም የተጻፈበትን የGo ቋንቋ ቴምፕሊንግ በመጠቀም ነው።

Helm ጥቂት ተጨማሪ ጽንሰ-ሐሳቦችን ይጨምርልናል.

ሠንጠረዥ የአገልግሎትዎ መግለጫ ነው። በሌሎች የጥቅል አስተዳዳሪዎች፣ ጥቅል፣ ጥቅል ወይም ተመሳሳይ ነገር ይባላል። እዚህ ቻርት ተብሎ ይጠራል.

እሴቶች የእርስዎን ውቅሮች ከአብነት ለመገንባት ሊጠቀሙባቸው የሚፈልጓቸው ተለዋዋጮች ናቸው።

መልቀቅ. በእያንዳንዱ ጊዜ የሚዘራ አገልግሎት የሚለቀቀው ተጨማሪ ስሪት ያገኛል። ሄልም የአገልግሎት ውቅር ለቀድሞው ልቀት፣ ካለፈው አመት በፊት እና የመሳሰሉትን ያስታውሳል። ስለዚህ፣ ወደ ኋላ መመለስ ካስፈለገዎት የመልሶ መመለሻ ትዕዛዙን ብቻ ያሂዱ፣ ወደ ቀድሞው የተለቀቀው ስሪት በመጠቆም። በሚመለስበት ጊዜ በማከማቻዎ ውስጥ ያለው ተዛማጅ ውቅር ባይገኝም፣ ሄልም አሁንም ምን እንደነበረ ያስታውሳል እና ስርዓትዎን በቀደመው ልቀት ወደነበረበት ሁኔታ ይመልሰዋል።

ሄልምን በምንጠቀምበት ጊዜ፣ ለ Kubernetes የተለመዱ ውቅሮች እንዲሁ ተለዋዋጮችን፣ ተግባራትን እና ሁኔታዊ መግለጫዎችን መተግበር ወደ ሚቻልበት አብነቶች ይቀየራል። ስለዚህ, እንደ አካባቢው ላይ በመመስረት የአገልግሎትዎን ውቅረት መሰብሰብ ይችላሉ.

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

በተግባር፣ ከኖማድ ጋር ካደረግነው ትንሽ ለየት ባለ መልኩ ነገሮችን ለማድረግ ወስነናል። ዘላለማዊ አገልግሎታችንን በአንድ ማከማቻ ውስጥ ለማሰማራት የሚያስፈልጉትን ሁለቱንም የማሰማራት ውቅሮችን እና n-ተለዋዋጮችን ካከማች፣ እዚህ ጋር በሁለት የተለያዩ ማከማቻዎች ልንከፍላቸው ወስነናል። የ"ማሰማራት" ማከማቻ ለማሰማራት የሚያስፈልጉትን n-ተለዋዋጮች ብቻ ያከማቻል፣ የ"ሄልም" ማከማቻ ውቅሮችን ወይም ቻርቶችን ያከማቻል።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

ምን ሰጠን?

ምንም እንኳን እኛ ምንም እንኳን በእውነቱ በውቅረት ፋይሎች ውስጥ ምንም ዓይነት ሚስጥራዊ መረጃ ባናከማችም። ለምሳሌ የውሂብ ጎታ ይለፍ ቃል። እነሱ በ Kubernetes ውስጥ እንደ ሚስጥሮች ተከማችተዋል ፣ ግን አሁንም ፣ በተከታታይ ለሁሉም ሰው ተደራሽ ለማድረግ የማንፈልጋቸው የተለዩ ነገሮች አሉ። ስለዚህ የ"ማሰማራት" ማከማቻ መዳረሻ የበለጠ የተገደበ ነው፣ እና "ሄልም" ማከማቻው የአገልግሎቱን መግለጫ ብቻ ይዟል። በዚህ ምክንያት፣ ለትልቅ የሰዎች ክበብ ደህንነቱ በተጠበቀ ሁኔታ መድረስ ይችላል።

እኛ ምርት ብቻ ሳይሆን ሌሎች አካባቢዎችም ስላለን፣ ለዚህ ​​ክፍል ምስጋና ይግባውና አገልግሎቶቻችንን ወደ ምርት ብቻ ሳይሆን ለምሳሌ ወደ QA አካባቢ ለማሰማራት የሄም ቻርቶቻችንን እንደገና መጠቀም እንችላለን። እነሱን በመጠቀም በአገር ውስጥ ለማሰማራት እንኳን ሚኒኩቤ - ይህ Kubernetes በአካባቢው ለማሄድ እንዲህ ያለ ነገር ነው.

በእያንዲንደ ማከማቻ ውስጥ ሇእያንዲንደ አገሌግልት ወዯ ተሇያዩ ማውጫዎች ክፍፍሉን እንተወዋለን. ያም ማለት በእያንዳንዱ ማውጫ ውስጥ ከተዛማጅ ቻርት ጋር የተዛመዱ አብነቶች አሉ እና ስርዓታችንን ለመጀመር መዘርጋት ያለባቸውን ሀብቶች የሚገልጹ። በ"ማሰማራት" ማከማቻ ውስጥ ምቀኝነትን ብቻ ትተናል። በዚህ አጋጣሚ የጂንጃ ቴምፕሊንግ አልተጠቀምንበትም ምክንያቱም helm ከሳጥን ውጭ ቴምፕሊንግ ይሰጣል - ይህ ከዋና ባህሪያቱ አንዱ ነው።

የማሰማራቱን ስክሪፕት ትተናል - deploy.sh፣ ይህም ጅምርን ቀላል የሚያደርግ እና ደረጃውን የጠበቀ helmን በመጠቀም ነው። ስለዚህ፣ ማሰማራት ለሚፈልግ ማንኛውም ሰው፣ የማሰማራቱ በይነገጹ በኖማድ በኩል መሰማራት ላይ እንደነበረው ይመስላል። ተመሳሳዩ deploy.sh፣ የአገልግሎትዎ ስም እና የት ማሰማራት እንደሚፈልጉ። ይህ ባርኔጣ ወደ ውስጥ እንዲሰራ ያደርገዋል. እሱ በተራው፣ ከአብነቶች ውስጥ አወቃቀሮችን ይሰበስባል፣ አስፈላጊዎቹን እሴቶች በውስጣቸው ይተካቸዋል፣ ከዚያም ያሰማራቸዋል፣ ወደ Kubernetes ያስጀምራቸዋል።

ግኝቶች

የኩበርኔትስ አገልግሎት ከኖማድ የበለጠ የተወሳሰበ ይመስላል።

መተግበሪያዎችን በVM፣ Nomad እና Kubernetes ውስጥ ያሰማሩ

የወጪ ትራፊክ የሚመጣው እዚህ ላይ ነው። ይህ የፊት ተቆጣጣሪ ብቻ ነው፣ ሁሉንም ጥያቄዎችን የሚቆጣጠር እና በመቀጠል ከጥያቄው ውሂብ ጋር ለሚዛመዱ አገልግሎቶች ይልካል። በመሪነት ውስጥ ያለው የመተግበሪያዎ መግለጫ አካል በሆኑ እና ገንቢዎች እራሳቸውን ባዘጋጁት አወቃቀሮች ላይ በመመስረት ይወስናል። በሌላ በኩል አገልግሎቱ በዚህ አገልግሎት ውስጥ ባሉ ሁሉም ኮንቴይነሮች መካከል የሚመጣውን ትራፊክ በማመጣጠን ወደ ፖድፖቹ ጥያቄዎችን ይልካል። እና በእርግጥ ከኔትወርክ ደረጃ ደህንነት የትም መሄድ እንደሌለብን መዘንጋት የለብንም ። ስለዚህ, ክፍፍል በ Kubernetes ክላስተር ውስጥ ይሠራል, ይህም መለያ መስጠት ላይ የተመሰረተ ነው. ሁሉም አገልግሎቶች የተወሰኑ መለያዎች አሏቸው፣ ከጥቅሉ ውስጥም ሆነ ውጭ ለተወሰኑ ውጫዊ/ውስጥ ሃብቶች የአገልግሎቶች መዳረሻ መብቶች ተያይዘዋል።

ስንሸጋገር ኩበርኔትስ እስካሁን ድረስ እየተጠቀምንበት ያለው የዘላኖች ባህሪያት እንዳሉት እና ብዙ አዳዲስ ነገሮችንም እንደጨመረ አይተናል። በተሰኪዎች እና በእውነቱ በብጁ የንብረት ዓይነቶች ሊራዘም ይችላል። ያም ማለት ከኩበርኔትስ ጋር የሚመጣውን ነገር ከሳጥኑ ውስጥ ለመጠቀም ብቻ ሳይሆን የእራስዎን መገልገያ እና አገልግሎትን ለመፍጠር እድሉ አለዎት, ይህም የእርስዎን ምንጭ የሚያነብ ነው. ይህ Kubernetes ን እንደገና መጫን ሳያስፈልግ እና ለውጦችን ሳያደርጉ የእርስዎን ስርዓት ለማስፋት ተጨማሪ አማራጮችን ይሰጥዎታል።

የእንደዚህ አይነት አጠቃቀም ምሳሌ በ Kubernetes ክላስተር ውስጥ የምንሮጠው ፕሮሜቲየስ ነው። ከአንድ የተወሰነ አገልግሎት መለኪያዎችን መሰብሰብ እንዲጀምር, በአገልግሎት መግለጫው ላይ ተጨማሪ የመርጃ አይነት መጨመር አለብን, የመቆጣጠሪያ አገልግሎት ተብሎ የሚጠራው. ፕሮሜቴየስ ማንበብ ስለሚችል፣ ብጁ የመርጃ አይነት በሆነው Kubernetes ውስጥ መጀመሩ፣ ከአዲሱ ስርዓት መለኪያዎችን በራስ-ሰር መሰብሰብ ይጀምራል። በቂ ምቹ ነው።

በኩበርኔትስ ውስጥ ያደረግነው የመጀመሪያው ማሰማራት በማርች 2018 ነበር። እና በዚህ ጊዜ ከእሱ ጋር ምንም አይነት ችግር አጋጥሞን አያውቅም. ያለ ጉልህ ስህተቶች በትክክል ይሰራል። በተጨማሪም, የበለጠ ልንሰፋው እንችላለን. እስከዛሬ ድረስ ፣ እሱ ያለው በቂ ችሎታ አለን ፣ እና የኩበርኔትስ የእድገት ፍጥነትን በእውነት እንወዳለን። በአሁኑ ጊዜ ከ 3000 በላይ ኮንቴይነሮች በኩበርኔትስ ውስጥ ይገኛሉ. ክላስተር ብዙ መስቀለኛ መንገዶችን ይይዛል። በተመሳሳይ ጊዜ አገልግሎት የሚሰጥ, የተረጋጋ እና በጣም ቁጥጥር የሚደረግበት ነው.

ምንጭ: hab.com

አስተያየት ያክሉ