ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ሰላም ዲሚትሪ ክራስኖቭ እባላለሁ። ከአምስት ዓመታት በላይ የኩበርኔትስ ስብስቦችን በማስተዳደር እና ውስብስብ የማይክሮ አገልግሎት መስጫ ሕንፃዎችን በመገንባት ላይ ቆይቻለሁ። በዚህ አመት መጀመሪያ ላይ ኮንቴይነረምን መሰረት በማድረግ የኩበርኔትስ ክላስተሮችን የማስተዳደር አገልግሎት ጀመርን። ይህንን እድል በመጠቀም, Kubernetes ምን እንደሆነ እና ከሻጭ ጋር መቀላቀል ከክፍት ምንጭ እንዴት እንደሚለይ እነግርዎታለሁ.

ለመጀመር, ምንድን ነው ኩባንያቶች. ይህ በብዙ አስተናጋጆች ላይ ኮንቴይነሮችን የማስተዳደር ስርዓት ነው። በነገራችን ላይ ከግሪክኛ “አብራሪ” ወይም “ሄልምማን” ተብሎ ተተርጉሟል። በመጀመሪያ በGoogle የተሰራ እና በመቀጠል እንደ ቴክኖሎጂ አስተዋጽዖ ለኮላውድ Native Computing Foundation ለአለም አቀፍ ለትርፍ ያልተቋቋመ ድርጅት የአለም መሪ ገንቢዎችን፣ ዋና ተጠቃሚዎችን እና የኮንቴይነር ቴክኖሎጂ አቅራቢዎችን የሚያገናኝ።

ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ብዙ ቁጥር ያላቸውን መያዣዎች ያቀናብሩ

አሁን እነዚህ ምን ዓይነት መያዣዎች እንደሆኑ እንወቅ. ይህ አጠቃላይ አካባቢው ያለው መተግበሪያ ነው - በዋናነት በፕሮግራሙ ላይ የተመሰረተባቸው ቤተ-መጻሕፍት። ይህ ሁሉ በማህደር ውስጥ የታሸገ እና የስርዓተ ክወናው ምንም ይሁን ምን ሊሠራ በሚችል ምስል መልክ ቀርቧል ፣ የተፈተነ እና ሌሎችም። ግን ችግር አለ - ብዙ ቁጥር ባላቸው አስተናጋጆች ላይ ኮንቴይነሮችን ማስተዳደር በጣም ከባድ ነው። ለዚህ ነው ኩበርኔትስ የተፈጠረው።

የመያዣ ምስል መተግበሪያን እና ጥገኞቹን ይወክላል። አፕሊኬሽኑ፣ ጥገኞቹ እና የስርዓተ ክወናው የፋይል ስርዓት ምስሉ በተለያዩ የምስሉ ክፍሎች ውስጥ ይገኛሉ፣ ንብርብሮች በሚባሉት። ንብርብሮች ለተለያዩ መያዣዎች እንደገና ጥቅም ላይ ሊውሉ ይችላሉ. ለምሳሌ፣ በአንድ ኩባንያ ውስጥ ያሉ ሁሉም መተግበሪያዎች የኡቡንቱ ቤዝ ንብርብር ሊጠቀሙ ይችላሉ። ኮንቴይነሮችን በሚያካሂዱበት ጊዜ በአስተናጋጁ ላይ አንድ ነጠላ የመሠረት ንብርብር ብዙ ቅጂዎችን ማከማቸት አያስፈልግም. ይህ የምስል ማከማቻ እና አቅርቦትን እንዲያሳድጉ ያስችልዎታል።

አፕሊኬሽኑን ከእቃ መያዢያ ውስጥ ማስኬድ ስንፈልግ አስፈላጊዎቹ ንብርብሮች እርስ በእርሳቸው ተደራርበው ተደራቢ የፋይል ስርዓት ይመሰረታሉ። የመቅጃ ንብርብር በላዩ ላይ ይደረጋል, ይህም መያዣው ሲቆም ይወገዳል. ይህ መያዣው በሚሰራበት ጊዜ, አፕሊኬሽኑ ሁልጊዜ ተመሳሳይ አካባቢ ይኖረዋል, ይህም ሊለወጥ የማይችል መሆኑን ያረጋግጣል. ይህ በተለያዩ አስተናጋጅ ስርዓተ ክወናዎች ላይ የአካባቢን መራባት ዋስትና ይሰጣል። ኡቡንቱም ሆነ ሴንቶስ፣ አካባቢው ሁሌም ተመሳሳይ ይሆናል። በተጨማሪም መያዣው በሊኑክስ ከርነል ውስጥ የተገነቡ ዘዴዎችን በመጠቀም ከአስተናጋጁ ተለይቷል. በማጠራቀሚያ ውስጥ ያሉ ማመልከቻዎች ፋይሎችን, የአስተናጋጁን እና የአጎራባች መያዣዎችን ሂደቶችን አያዩም. ይህ የመተግበሪያዎች ከአስተናጋጅ OS ማግለል ተጨማሪ የደህንነት ሽፋን ይሰጣል።

በአስተናጋጅ ላይ ኮንቴይነሮችን ለማስተዳደር ብዙ መሳሪያዎች አሉ። በጣም ታዋቂው ዶከር ነው. የእቃ መያዣዎችን ሙሉ የህይወት ዑደት እንዲያቀርቡ ይፈቅድልዎታል. ሆኖም ግን, በአንድ አስተናጋጅ ላይ ብቻ ነው የሚሰራው. ኮንቴይነሮችን በበርካታ አስተናጋጆች ማስተዳደር ካስፈለገዎት ዶከር ለኢንጂነሮች ህይወት ሲኦል ሊያደርግ ይችላል። ለዚህ ነው ኩበርኔትስ የተፈጠረው።

የኩበርኔትስ ፍላጎት ልክ እንደ አንድ አይነት አካል በበርካታ አስተናጋጆች ላይ የእቃ መጫኛ ቡድኖችን ማስተዳደር በመቻሉ ነው። የስርዓቱ ታዋቂነት DevOps ወይም Development Operations ለመገንባት እድል ይሰጣል, በዚህ ውስጥ Kubernetes የዚህን በጣም DevOps ሂደቶችን ለማስኬድ ጥቅም ላይ ይውላል.

ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ምስል 1. Kubernetes እንዴት እንደሚሰራ የመርሃግብር መግለጫ

ሙሉ አውቶማቲክ

DevOps በመሠረቱ የእድገት ሂደት አውቶማቲክ ነው. በግምት፣ ገንቢዎች ወደ ማከማቻው የተሰቀለውን ኮድ ይጽፋሉ። ከዚያ ይህ ኮድ ወዲያውኑ ሁሉም ቤተ-መጻሕፍት ባሉበት መያዣ ውስጥ ይሰበሰባል ፣ ይሞከራል እና ወደ ቀጣዩ ደረጃ - ደረጃ ፣ እና ከዚያ ወዲያውኑ ወደ ምርት።

ከኩበርኔትስ ጋር፣ DevOps ይህን ሂደት በራስ-ሰር እንዲሰሩት ይፈቅድልዎታል ይህም ከገንቢዎች እራሳቸው ምንም ተሳትፎ በሌለው ሁኔታ እንዲከሰት ነው። በዚህ ምክንያት ግንባታው በጣም ፈጣን ነው ፣ ምክንያቱም ገንቢው በኮምፒዩተሩ ላይ ይህን ማድረግ ስለሌለበት - በቀላሉ ኮድ ይጽፋል ፣ ኮዱን ወደ ማከማቻው ይገፋል ፣ ከዚያ በኋላ የቧንቧ መስመር ይጀምራል ፣ ይህም ሂደቱን ሊያካትት ይችላል። የመገንባት, የመሞከር እና የመዘርጋት. እና ይሄ በእያንዳንዱ ቁርጠኝነት ይከሰታል፣ ስለዚህ ሙከራ ያለማቋረጥ ይከናወናል።

በተመሳሳይ ጊዜ ኮንቴይነር በመጠቀም የዚህ ፕሮግራም አጠቃላይ አካባቢ በተፈተነበት ቅጽ ውስጥ በትክክል ወደ ምርት እንደሚለቀቅ እርግጠኛ ለመሆን ያስችልዎታል። ማለትም፣ “በሙከራው ውስጥ አንዳንድ ስሪቶች፣ ሌሎች በምርት ውስጥ ነበሩ፣ ነገር ግን ስንጭናቸው፣ ሁሉም ነገር ወድቋል” አይነት ችግሮች አይኖሩም። እና ከዛሬ ጀምሮ ወደ ማይክሮ ሰርቪስ አርክቴክቸር አዝማሚያ አለን። ለዚህ ነው Kubernetes የምንጠቀመው.

ጥቅማ ጥቅሞች, ጥቅሞች, ጥቅሞች


ስለ ኩበርኔትስ እንደ መድረክ ጥቅሞች ከተነጋገርን, የማይክሮ አገልግሎት አርክቴክቸርን ከማስተዳደር አንጻር ሲታይ ጉልህ ጥቅሞች አሉት.

  • በርካታ ቅጂዎችን ማስተዳደር። በጣም አስፈላጊው ነገር ኮንቴይነሮችን በበርካታ አስተናጋጆች ማስተዳደር ነው. ከሁሉም በላይ፣ በኮንቴይነሮች ውስጥ ያሉ በርካታ የመተግበሪያ ቅጂዎችን እንደ አንድ አካል ያስተዳድሩ። ለዚህም ምስጋና ይግባውና መሐንዲሶች ሾለ እያንዳንዱ የእቃ መያዣ መጨነቅ አያስፈልጋቸውም. ከመያዣዎቹ አንዱ ከተበላሸ ኩበርኔትስ ይህንን አይቶ እንደገና ያስጀምረዋል።
  • የክላስተር አውታረ መረብ። ኩበርኔትስ የራሱ የአድራሻ ቦታ ያለው የክላስተር ኔትወርክ የሚባል ነገር አለው። ለዚህም ምስጋና ይግባውና እያንዳንዱ ፖድ የራሱ አድራሻ አለው. ንዑስ ፖድ ኮንቴይነሮች በቀጥታ የሚጀመሩበት ዝቅተኛው የክላስተር መዋቅራዊ አሃድ እንደሆነ ተረድቷል። በተጨማሪም Kubernetes የጭነት ሚዛን እና የአገልግሎት ግኝትን የሚያጣምር ተግባር አለው። ይህ በእጅ የአይፒ አድራሻ አስተዳደርን እንዲያስወግዱ እና ይህንን ተግባር ለ Kubernetes እንዲሰጡ ያስችልዎታል። እና አውቶማቲክ የጤና ፍተሻዎች ችግሮችን ለመለየት እና ትራፊክን ወደ የስራ ምሰሶዎች ለማዞር ይረዳል።
  • የማዋቀር አስተዳደር. ብዙ አፕሊኬሽኖችን ሲያቀናብሩ የመተግበሪያ ውቅረትን ማስተዳደር አስቸጋሪ ይሆናል። ለዚሁ ዓላማ ኩበርኔትስ ልዩ የ ConfigMap ግብዓቶች አሉት። አፕሊኬሽኖችን በሚያሄዱበት ጊዜ ውቅሮችን በማእከላዊ እንዲያከማቹ እና ለፖድ እንዲያጋልጡ ያስችሉዎታል። ይህ ዘዴ ቢያንስ አስር ወይም መቶ የመተግበሪያ ቅጂዎች ውስጥ የአወቃቀሩን ወጥነት ዋስትና እንድንሰጥ ያስችለናል።
  • ቋሚ ጥራዞች. ኮንቴይነሮች በተፈጥሯቸው የማይለወጡ ናቸው እና መያዣው ሲቆም በፋይል ስርዓቱ ላይ የተፃፉት ሁሉም መረጃዎች ይደመሰሳሉ። ነገር ግን አንዳንድ መተግበሪያዎች መረጃን በቀጥታ በዲስክ ላይ ያከማቻሉ። ይህንን ችግር ለመፍታት Kubernetes የዲስክ ማከማቻ አስተዳደር ተግባር አለው - የማያቋርጥ ጥራዞች። ይህ ዘዴ ለውሂብ ውጫዊ ማከማቻን ይጠቀማል እና የማያቋርጥ ማከማቻ፣ ማገድ ወይም ፋይል ወደ ኮንቴይነሮች ማስተላለፍ ይችላል። ይህ መፍትሔ ከሠራተኞች ተለይተው መረጃን እንዲያከማቹ ያስችልዎታል, ይህም ተመሳሳይ ሰራተኞች ከተበላሹ ያድናቸዋል.
  • ጫን ሚዛን. ምንም እንኳን በኩበርኔትስ ውስጥ እንደ Deployment፣ StatefulSet፣ ወዘተ ያሉ ረቂቅ አካላትን ብናስተዳድርም በመጨረሻ ኮንቴይነሮች በመደበኛ ቨርቹዋል ማሽኖች ወይም ሃርድዌር አገልጋዮች ላይ ይሰራሉ። እነሱ ፍጹም አይደሉም እና በማንኛውም ጊዜ ሊወድቁ ይችላሉ. ኩበርኔትስ ይህንን አይቶ የውስጥ ትራፊክን ወደ ሌሎች ቅጂዎች ያዞራል። ነገር ግን ከውጭ በሚመጣው ትራፊክ ምን ይደረግ? በቀላሉ ትራፊክ ወደ አንዱ ሰራተኛ ከመሩ፣ ቢበላሽ፣ አገልግሎቱ የማይገኝ ይሆናል። ይህንን ችግር ለመፍታት ኩበርኔትስ እንደ Load Balancer ያሉ አገልግሎቶች አሉት። በክላስተር ውስጥ ላሉት ሁሉም ሰራተኞች ውጫዊ የደመና ሚዛንን በራስ ሰር ለማዋቀር የተነደፉ ናቸው። ይህ የውጭ ሚዛኑ የውጭ ትራፊክን ወደ ሰራተኞች ይመራል እና ሁኔታቸውን እራሱ ይቆጣጠራል። አንድ ወይም ከዚያ በላይ ሰራተኞች የማይገኙ ከሆኑ ትራፊክ ወደ ሌሎች ይዛወራል። ይህ ኩበርኔትስን በመጠቀም በጣም የሚገኙ አገልግሎቶችን እንዲፈጥሩ ያስችልዎታል።

የማይክሮ አገልግሎት አርክቴክቸር ሲሰራ ኩበርኔትስ በተሻለ ሁኔታ ይሰራል። ስርዓቱን ወደ ክላሲካል አርክቴክቸር መተግበር ይቻላል, ግን ትርጉም የለሽ ነው. አንድ መተግበሪያ በበርካታ ቅጂዎች ላይ መሮጥ ካልቻለ ምን ልዩነት አለው - በ Kubernetes ወይስ አይደለም?

ክፍት ምንጭ Kubernetes


የክፍት ምንጭ ኩበርኔትስ በጣም ጥሩ ነገር ነው፡ ጫንኩት እና ይሰራል። በእራስዎ የሃርድዌር አገልጋዮች ላይ ማሰማራት ይችላሉ, በራስዎ መሠረተ ልማት ላይ, ሁሉም መተግበሪያዎች የሚሰሩበት ጌቶች እና ሰራተኞች ይጫኑ. እና ከሁሉም በላይ, ይህ ሁሉ ነጻ ነው. ሆኖም ግን, ልዩነቶች አሉ.

  • የመጀመርያው ይህንን ሁሉ የሚያሰማሩና የሚደግፉ አስተዳዳሪዎችና መሐንዲሶች የዕውቀትና የልምድ ጥያቄ ነው። ደንበኛው በክላስተር ውስጥ ሙሉ በሙሉ የመተግበር ነፃነት ስለሚያገኝ, እሱ ልሹ ለክላስተር አፈጻጸም ተጠያቂ ነው. እና እዚህ ሁሉንም ነገር መስበር በጣም ቀላል ነው.
  • ሁለተኛው የመዋሃድ እጥረት ነው. ኩበርኔትስን ያለ ታዋቂ ቨርቹዋልላይዜሽን ካሄዱት የፕሮግራሙን ሁሉንም ጥቅሞች አያገኙም። እንደ ቋሚ ጥራዞች እና የጭነት ሚዛን አገልግሎቶችን መጠቀም።

ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ምስል 2. k8s አርክቴክቸር

ኩበርኔትስ ከሻጩ


ከደመና አቅራቢ ጋር መቀላቀል ሁለት አማራጮችን ይሰጣል።

  • በመጀመሪያ፣ አንድ ሰው በቀላሉ “ክላስተር ፍጠር” የሚለውን ቁልፍ ጠቅ በማድረግ ቀድሞውኑ የተዋቀረ እና ለአገልግሎት ዝግጁ የሆነ ስብስብ ማግኘት ይችላል።
  • በሁለተኛ ደረጃ, ሻጩ ልሹ ክላስተር ይጭናል እና ከደመናው ጋር ውህደትን ያዘጋጃል.

እዚህ እንዴት እንደሚከሰት. ክላስተርን የጀመረው መሐንዲስ ምን ያህል ሠራተኞች እንደሚፈልጉ እና በምን ዓይነት መለኪያዎች (ለምሳሌ 5 ሠራተኞች እያንዳንዳቸው 10 ሲፒዩዎች፣ 16 ጂቢ ራም እና 100 ጂቢ ዲስክ እንዳሉት) ይገልጻል። ከዚያ በኋላ ወደ ቀድሞው የተቋቋመው ስብስብ መዳረሻ ያገኛል። በዚህ ሁኔታ, ጭነቱ የሚነሳባቸው ሰራተኞች ሙሉ በሙሉ ወደ ደንበኛው ይተላለፋሉ, ነገር ግን አጠቃላይ የአስተዳደር አውሮፕላኑ በሻጩ ኃላፊነት ውስጥ ይቆያል (አገልግሎቱ በሚተዳደረው የአገልግሎት ሞዴል ከሆነ).

ሆኖም, ይህ እቅድ የራሱ ድክመቶች አሉት. የአስተዳደር አውሮፕላኑ ከአቅራቢው ጋር በመቆየቱ, ሻጩ ለደንበኛው ሙሉ መዳረሻ አይሰጥም, እና ይህ ከ Kubernetes ጋር አብሮ የመሥራት ተለዋዋጭነትን ይቀንሳል. አንዳንድ ጊዜ አንድ ደንበኛ የተወሰኑ ተግባራትን ወደ Kubernetes ማከል ሲፈልግ ይከሰታል ፣ ለምሳሌ ፣ በኤልዲኤፒ በኩል ማረጋገጥ ፣ ግን የአስተዳደር አውሮፕላን ውቅር ይህንን አይፈቅድም።

ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ምስል 3. የኩበርኔትስ ስብስብ ምሳሌ ከደመና አቅራቢ

ምን እንደሚመረጥ፡- ክፍት ምንጭ ወይም ሻጭ


ስለዚህ ኩበርኔትስ ክፍት ምንጭ ወይም አቅራቢ የተለየ ነው? የክፍት ምንጭ ኩበርኔትስን ከወሰድን ተጠቃሚው የሚፈልገውን ያደርጋል። ነገር ግን እራስህን በእግር ለመምታት ትልቅ እድል አለ. ከአቅራቢው ጋር በጣም አስቸጋሪ ነው, ምክንያቱም ሁሉም ነገር የታሰበበት እና ለኩባንያው የተዋቀረ ነው. የክፍት ምንጭ Kubernetes ትልቁ ኪሳራ ለስፔሻሊስቶች ፍላጎት ነው። በሻጭ አማራጭ, ኩባንያው ከዚህ ራስ ምታት ነፃ ነው, ነገር ግን ልዩ ባለሙያዎቹን ወይም ሻጩን ለመክፈል መወሰን አለበት.

ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ኩበርኔትስ፡ ክፍት ምንጭ ከአቅራቢ-ተኮር ጋር

ደህና, ጥቅሞቹ ግልጽ ናቸው, ጉዳቶቹም ይታወቃሉ. አንድ ነገር ቋሚ ነው: ኩበርኔትስ ብዙ ኮንቴይነሮችን በራስ-ሰር በማስተዳደር ብዙ ችግሮችን ይፈታል. እና የትኛውን መምረጥ, ክፍት ምንጭ ወይም ሻጭ - ሁሉም ሰው የራሱን ውሳኔ ያደርጋል.

ጽሑፉ የተዘጋጀው በ#CloudMTS አቅራቢው የኮንቴይረም አገልግሎት መሪ አርክቴክት ዲሚትሪ ክራስኖቭ ነው።

ምንጭ: hab.com

አስተያየት ያክሉ