DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ኩበርኔትስ የዶከር ኮንቴይነሮችን በተሰበሰበ የምርት አካባቢ ለማሄድ ጥሩ መሳሪያ ነው። ሆኖም ኩበርኔትስ ሊፈታ የማይችላቸው ችግሮች አሉ። ለተደጋጋሚ የምርት ማሰማራት፣ በሂደቱ ውስጥ ያለውን ጊዜ ለማስቀረት ሙሉ በሙሉ በራስ ሰር ሰማያዊ/አረንጓዴ ማሰማራት እንፈልጋለን፣ይህም ውጫዊ የኤችቲቲፒ ጥያቄዎችን ማስተናገድ እና የኤስኤስኤልን ጭነት ማከናወን አለበት። ይህ እንደ ሃ-ፕሮክሲ ካሉ የጭነት ማመሳከሪያ ጋር መቀላቀልን ይጠይቃል። ሌላው ፈታኝ ሁኔታ በደመና አካባቢ ውስጥ ሲሮጥ የኩበርኔትስ ክላስተር ከፊል አውቶማቲክ ልኬት ነው፣ ለምሳሌ በምሽት ክላስተርን በከፊል ዝቅ ማድረግ።

ኩበርኔትስ እነዚህን ባህሪያት ከሳጥኑ ውስጥ ባይኖረውም, ተመሳሳይ ችግሮችን ለመፍታት ሊጠቀሙበት የሚችሉትን ኤፒአይ ያቀርባል. በራስ ሰር ሰማያዊ/አረንጓዴ ማሰማራት እና የኩበርኔትስ ክላስተር ልኬታ መሳሪያዎች እንደ የክላውድ RTI ፕሮጀክት አካል ተዘጋጅተዋል፣ ይህም በክፍት ምንጭ ላይ የተመሰረተ ነው።

ይህ ጽሑፍ፣ የቪዲዮ ግልባጭ፣ ኩበርኔትስን ከሌሎች ክፍት ምንጭ ክፍሎች ጋር እንዴት እንደሚያዋቅሩ ያሳየዎታል፣ ለምርት ዝግጁ የሆነ አካባቢ ለመፍጠር ከጂት ቁርጠኝነት የምርት ጊዜ ሳይቀንስ ኮድ የሚቀበል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 1

ስለዚህ፣ ከውጪው አለም ወደ አፕሊኬሽኖችዎ መዳረሻ ካገኙ በኋላ አውቶሜሽን ሙሉ በሙሉ ማዋቀር መጀመር ይችላሉ፣ ያም ማለት የጂት ቁርጠኝነትን ወደ ሚሰሩበት ደረጃ ያቅርቡ እና ይህ የጂት ቁርጠኝነት በምርት ውስጥ መጠናቀቁን ያረጋግጡ። በተፈጥሮ፣ እነዚህን እርምጃዎች ስንተገብር፣ ማሰማራትን ስንተገብር፣ የመቀነስ ጊዜን ማግኘት አንፈልግም። ስለዚህ በኩበርኔትስ ውስጥ ያለ ማንኛውም አውቶማቲክ በኤፒአይ ይጀምራል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ኩበርኔትስ ከሳጥኑ ውስጥ በምርታማነት ጥቅም ላይ ሊውል የሚችል መሳሪያ አይደለም. እርግጥ ነው, ያንን ማድረግ ይችላሉ, kubectl እና የመሳሰሉትን ይጠቀሙ, ግን አሁንም ኤፒአይ በዚህ የመሳሪያ ስርዓት ውስጥ በጣም አስደሳች እና ጠቃሚ ነገር ነው. ኤፒአይን እንደ የተግባር ስብስብ በመጠቀም በኩበርኔትስ ውስጥ ማድረግ የሚፈልጉትን ማንኛውንም ነገር ማግኘት ይችላሉ። kubectl ራሱ እንዲሁ REST API ይጠቀማል።

ይሄ REST ነው፣ ስለዚህ ከዚህ ኤፒአይ ጋር ለመስራት ማንኛውንም ቋንቋ ወይም መሳሪያ መጠቀም ይችላሉ፣ ነገር ግን ህይወትዎ በብጁ ቤተ-መጻሕፍት በጣም ቀላል ይሆናል። የእኔ ቡድን 2 እንደዚህ ያሉ ቤተ-መጻሕፍት ጻፈ፡ አንድ ለJava/OSGi እና አንድ ለ Go። ሁለተኛው ብዙ ጊዜ ጥቅም ላይ አይውልም, ነገር ግን በማንኛውም ሁኔታ እነዚህ ጠቃሚ ነገሮች በእጃችሁ ይገኛሉ. እነሱ በከፊል ፈቃድ ያላቸው ክፍት ምንጭ ፕሮጀክት ናቸው። ለተለያዩ ቋንቋዎች ብዙ እንደዚህ ያሉ ቤተ-ፍርግሞች አሉ, ስለዚህ ለእርስዎ በጣም የሚስማሙትን መምረጥ ይችላሉ.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ስለዚህ, የእርስዎን ማሰማራት በራስ-ሰር መስራት ከመጀመርዎ በፊት, ሂደቱ ለማንኛውም የእረፍት ጊዜ እንደማይቀር ማረጋገጥ አለብዎት. ለምሳሌ፣ ቡድናችን ሰዎች አፕሊኬሽኑን ቢበዛ በቀኑ አጋማሽ ላይ የምርት ዝርጋታዎችን ያካሂዳሉ፣ ስለዚህ በዚህ ሂደት ውስጥ መዘግየትን ማስወገድ አስፈላጊ ነው። የእረፍት ጊዜን ለማስቀረት, 2 ዘዴዎች ጥቅም ላይ ይውላሉ: ሰማያዊ / አረንጓዴ ማሰማራት ወይም ማደስ. በኋለኛው ሁኔታ ፣ የመተግበሪያው 5 ቅጂዎች ካሉዎት ፣ በቅደም ተከተል እርስ በእርስ ይሻሻላሉ። ይህ ዘዴ በጣም ጥሩ ነው, ነገር ግን የተለያዩ የመተግበሪያው ስሪቶች በማሰማራት ሂደት ውስጥ በተመሳሳይ ጊዜ የሚሰሩ ከሆነ ተስማሚ አይደለም. በዚህ አጋጣሚ, የጀርባው የድሮውን ስሪት እያሄደ እያለ የተጠቃሚውን በይነገጽ ማዘመን ይችላሉ, እና አፕሊኬሽኑ መስራት ያቆማል. ስለዚህ, ከፕሮግራም አተያይ አንጻር, በእንደዚህ አይነት ሁኔታዎች ውስጥ መስራት በጣም ከባድ ነው.

የአፕሊኬሽኖቻችንን ስርጭት አውቶማቲክ ለማድረግ ሰማያዊ/አረንጓዴ ማሰማራትን የምንመርጥበት አንዱ ምክንያት ይህ ነው። በዚህ ዘዴ አንድ የመተግበሪያው ስሪት ብቻ በአንድ ጊዜ ገባሪ መሆኑን ማረጋገጥ አለብዎት።

ሰማያዊ/አረንጓዴ የማሰማራት ዘዴ ይህን ይመስላል። ለመተግበሪያዎቻችን ትራፊክ የምንቀበለው በ ha-proxy በኩል ሲሆን ይህም ወደ ተመሳሳዩ ስሪት ትግበራ ቅጂዎች ያስተላልፋል።

አዲስ ማሰማራት ሲደረግ፣ አዳዲሶቹን ክፍሎች የሚሰጠውን እና አዲሱን እትም የሚያሰማራውን Deployer እንጠቀማለን። አዲስ የመተግበሪያውን ስሪት መዘርጋት ማለት አዲስ የተገለበጡ ስብስቦች "ተነሳ" ማለት ነው, ከዚያ በኋላ እነዚህ የአዲሱ ስሪት ቅጂዎች በተለየ, አዲስ ፖድ ውስጥ ይጀመራሉ. ሆኖም ግን፣ ha-proxy ስለእነሱ ምንም የሚያውቀው ነገር የለም እና ምንም አይነት የስራ ጫናን እስካሁን አልዘረጋላቸውም።

ስለዚህ, በመጀመሪያ ደረጃ, ቅጂዎቹ ሸክሙን ለማገልገል ዝግጁ መሆናቸውን ለማረጋገጥ የአዳዲስ የጤና ቁጥጥር ስሪቶች የአፈፃፀም ምርመራ ማካሄድ አስፈላጊ ነው.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ሁሉም የማሰማራት ክፍሎች አንዳንድ የጤና ምርመራን መደገፍ አለባቸው። ይህ በጣም ቀላል የኤችቲቲፒ የጥሪ ቼክ ሊሆን ይችላል ፣ ሁኔታ 200 ያለው ኮድ ሲቀበሉ ፣ ወይም የበለጠ ጥልቀት ያለው ፍተሻ ፣ በመረጃ ቋቱ እና በሌሎች አገልግሎቶች የተገለበጡ ግንኙነቶችን ያረጋግጡ ፣ የተለዋዋጭ አከባቢ ግንኙነቶች መረጋጋት። , እና ሁሉም ነገር በትክክል ቢጀምር እና እንደሚሰራ. ይህ ሂደት በጣም ውስብስብ ሊሆን ይችላል.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ስርዓቱ ሁሉም የተሻሻሉ ቅጂዎች እየሰሩ መሆናቸውን ካረጋገጠ በኋላ አሰማሪ አወቃቀሩን ያዘምናል እና ትክክለኛውን confd ያልፋል፣ ይህም ha-proxyን እንደገና ያዋቅራል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ከዚህ በኋላ ብቻ ትራፊክ ከአዲሱ ስሪት ቅጂዎች ጋር ወደ ፖድ ይመራል እና የድሮው ፖድ ይጠፋል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ይህ ዘዴ የኩበርኔትስ ባህሪ አይደለም. የሰማያዊ/አረንጓዴ ማሰማራት ፅንሰ-ሀሳብ ከረጅም ጊዜ በፊት የነበረ ሲሆን ሁልጊዜም የጭነት ሚዛንን ይጠቀማል። በመጀመሪያ ሁሉንም ትራፊክ ወደ አሮጌው የመተግበሪያው ስሪት ይመራሉ እና ከዝማኔው በኋላ ሙሉ በሙሉ ወደ አዲሱ ስሪት ያስተላልፋሉ። ይህ መርህ በ Kubernetes ውስጥ ብቻ አይደለም ጥቅም ላይ የሚውለው.

አሁን ከአዲስ የማሰማራት አካል ጋር አስተዋውቅዎታለሁ - ዴፕሎረር፣ የጤና ፍተሻዎችን የሚያደርግ፣ ፕሮክሲዎችን የሚያስተካክል፣ እና የመሳሰሉት። ይህ በውጭው ዓለም ላይ የማይተገበር እና በኩበርኔትስ ውስጥ ያለ ጽንሰ-ሀሳብ ነው። የክፍት ምንጭ መሳሪያዎችን በመጠቀም የእራስዎን የዲፕሎረር ፅንሰ-ሀሳብ እንዴት መፍጠር እንደሚችሉ አሳያችኋለሁ።

ስለዚህ፣ አከፋፋይ የሚያደርገው የመጀመሪያው ነገር Kubernetes API በመጠቀም የ RC ማባዣ መቆጣጠሪያ መፍጠር ነው። ይህ ኤፒአይ ለቀጣይ ማሰማራት ፖድ እና አገልግሎቶችን ይፈጥራል፣ ማለትም፣ ለመተግበሪያዎቻችን ሙሉ ለሙሉ አዲስ ክላስተር ይፈጥራል። RC ቅጂዎቹ መጀመራቸውን እንዳመነ፣ በተግባራቸው ላይ የጤና ምርመራ ያደርጋል። ይህንን ለማድረግ፣ አሰማሪ የGET/health ትዕዛዝን ይጠቀማል። ተገቢውን የፍተሻ ክፍሎችን ያካሂዳል እና የክላስተርን አሠራር የሚደግፉ ሁሉንም ንጥረ ነገሮች ይፈትሻል.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ሁሉም ፖድዎች ጤንነታቸውን ሪፖርት ካደረጉ በኋላ, Deployer አዲስ የውቅረት አካል ይፈጥራል - ወዘተ የተከፋፈለ ማከማቻ, ይህም በ Kubernetes ውስጥ በውስጥ ጥቅም ላይ የሚውለው, የጭነት ሚዛን ውቅረትን ማከማቸትን ጨምሮ. መረጃን ወደ etcd እንጽፋለን እና ለአዲስ መረጃ confd monitors etcd የተባለ ትንሽ መሳሪያ።

በመነሻ ውቅር ላይ ማናቸውንም ለውጦች ካወቀ አዲስ የቅንብሮች ፋይል ያመነጫል እና ወደ ha-proxy ያስተላልፋል። በዚህ አጋጣሚ ha-proxy ምንም አይነት ግንኙነት ሳይጠፋ ዳግም ይነሳል እና ጭነቱን አዲሱን የመተግበሪያዎቻችን ስሪት እንዲሰራ ወደሚያስችሉ አዳዲስ አገልግሎቶች ያቀርባል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

እንደምታየው, የተትረፈረፈ ክፍሎች ቢኖሩም, እዚህ ምንም የተወሳሰበ ነገር የለም. ለኤፒአይ እና ወዘተ የበለጠ ትኩረት መስጠት ብቻ ያስፈልግዎታል። እኛ እራሳችን ስለምንጠቀምበት የክፍት ምንጭ አሰማሪ ልነግራችሁ እፈልጋለሁ - አምዳቱ ኩበርነቴስ አከፋፋይ።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

የኩበርኔትስ ማሰማራቶችን ለማቀናጀት መሳሪያ ነው እና የሚከተሉት ባህሪያት አሉት።

  • ሰማያዊ / አረንጓዴ ማሰማራት;
  • የውጭ ጭነት ሚዛን ማዘጋጀት;
  • የማሰማራት ገላጭ አስተዳደር;
  • ትክክለኛውን ማሰማራት ማስተዳደር;
  • በማሰማራት ጊዜ የጤና ምርመራዎችን ተግባራዊነት ማረጋገጥ;
  • የአካባቢ ተለዋዋጮችን ወደ ፖድ ውስጥ መተግበር.

ይህ አሰማሪ በKubernetes ኤፒአይ ላይ የተገነባ እና እጀታዎችን እና ማሰማራቶችን ለማስተዳደር REST ኤፒአይ እንዲሁም በማሰማራት ሂደት ውስጥ የምዝግብ ማስታወሻዎችን ለመልቀቅ የዌብሶኬት ኤፒአይ ይሰጣል።

የሎድ ባላንስ ውቅረት መረጃን ወደ etcd ያደርገዋል፣ ስለዚህ ከሳጥን ውጪ ባለው ድጋፍ ሃ-ፕሮክሲን መጠቀም አያስፈልግዎትም፣ ነገር ግን በቀላሉ የእራስዎን የሎድ ሚዛን ማዋቀሪያ ፋይል ይጠቀሙ። Amdatu Deployer ልክ እንደ ኩበርኔትስ እራሱ በ Go ውስጥ ተጽፏል እና በአፓቼ ፍቃድ ተሰጥቶታል።

ይህን የአስፋፊውን ስሪት መጠቀም ከመጀመሬ በፊት፣ የምፈልጋቸውን መለኪያዎች የሚገልጽ የሚከተለውን የማሰማራት ገላጭ ተጠቀምኩ።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

የዚህ ኮድ አስፈላጊ ከሆኑት መለኪያዎች አንዱ የ"useHealthCheck" ባንዲራ ማንቃት ነው። በማሰማራት ሂደት ውስጥ የንፅህና ቁጥጥር መደረግ እንዳለበት መግለፅ አለብን። ማሰማራቱ ማረጋገጥ የማያስፈልጋቸው የሶስተኛ ወገን መያዣዎችን ሲጠቀም ይህ ቅንብር ሊሰናከል ይችላል። ይህ ገላጭ እንዲሁም ሃ-ተኪ የሚፈልገውን የቅጂዎች ብዛት እና የፊት ለፊት ዩአርኤልን ይጠቁማል። መጨረሻ ላይ የፖድ ስፔሲፊኬሽን ባንዲራ "podspec" አለ፣ እሱም ወደብ ውቅረት፣ ምስል፣ ወዘተ መረጃ ለማግኘት Kubernetes ይጠራል። ይህ በትክክል ቀላል JSON ገላጭ ነው።

የክፍት ምንጭ የአምዳቱ ፕሮጀክት አካል የሆነው ሌላው መሳሪያ Deploymentctl ነው። ማሰማራቶችን ለማዋቀር ዩአይ አለው፣ የስምሪት ታሪክን ያከማቻል እና ከሶስተኛ ወገን ተጠቃሚዎች እና ገንቢዎች ለሚመጡ ጥሪዎች የድር መንጠቆዎችን ይዟል። Amdatu Deployer እራሱ REST ኤፒአይ ስለሆነ UI ን መጠቀም አትችል ይሆናል ነገርግን ይህ በይነገጽ ምንም አይነት ኤፒአይ ሳያካትት ማሰማራቱን በጣም ቀላል ሊያደርግልዎ ይችላል። Deploymentctl Angular 2ን በመጠቀም በOSGi/Vertx ተጽፏል።

መጠበቅ እንዳትጠብቅ ቀድሞ የተቀዳ ቀረጻ ተጠቅሜ ከላይ ያለውን አሳይሻለሁ። ቀላል Go መተግበሪያን እናሰማራለን። ከዚህ በፊት ሂድን ካልሞከርክ አትጨነቅ በጣም ቀላል አፕሊኬሽን ነው ስለዚህ ማወቅ መቻል አለብህ።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

እዚህ ለጤና/ጤና ብቻ ምላሽ የሚሰጥ የኤችቲቲፒ አገልጋይ እየፈጠርን ነው፣ስለዚህ ይህ አፕሊኬሽን የሚመረምረው የጤና ፍተሻውን ብቻ እንጂ ሌላ አይደለም። ቼኩ ካለፈ፣ ከታች የሚታየው የJSON መዋቅር ስራ ላይ ይውላል። በውስጡ በአሰማሪው የሚዘረጋውን የመተግበሪያውን ስሪት፣ በፋይሉ አናት ላይ የምታዩትን መልእክት እና የቦሊያን ዳታ አይነት - መተግበሪያችን እየሰራም ይሁን አይሁን ይዟል።

በመጨረሻው መስመር ትንሽ አጭበርሬያለሁ፣ ምክንያቱም ቋሚ የቦሊያን እሴት በፋይሉ አናት ላይ አስቀምጫለሁ፣ ይህም ወደፊት "ጤናማ ያልሆነ" መተግበሪያን እንኳን ለማሰማራት ይረዳኛል። ይህንን በኋላ እናስተናግዳለን።

ስለዚህ እንጀምር። በመጀመሪያ ደረጃ ~ kubectl get pods የሚለውን ትዕዛዝ በመጠቀም ማንኛውም የሩጫ ፓዶች መኖራቸውን እናረጋግጣለን እና ከግንባር ዩአርኤል ምላሽ ባለመገኘቱ በአሁኑ ጊዜ ምንም አይነት ማሰማራት አለመኖሩን እናረጋግጣለን።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ቀጥሎ በስክሪኑ ላይ እኔ የጠቀስኩትን የDeploymentctl በይነገጽ ታያለህ፣ በዚህ ውስጥ የማሰማራት መለኪያዎች ተቀምጠዋል፡ የስም ቦታ፣ የመተግበሪያ ስም፣ የማሰማራቱ ስሪት፣ የተባዙ ብዛት፣ የፊት-መጨረሻ URL፣ የመያዣ ስም፣ ምስል፣ የሀብት ገደቦች፣ የወደብ ቁጥር ለጤና ማረጋገጫ፣ ወዘተ. ከፍተኛውን የሃርድዌር መጠን ለመጠቀም ስለሚፈቅዱ የመርጃ ገደቦች በጣም አስፈላጊ ናቸው። እዚህ የዲፕሎፕመንት ምዝግብ ማስታወሻን ማየት ይችላሉ.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

አሁን ትዕዛዙን ~ kubectl get pods ን ከደገሙ ስርዓቱ ለ20 ሰከንድ ያህል “እንደቀዘቀዘ” ማየት ይችላሉ፣ በዚህ ጊዜ ha-proxy እንደገና ይዋቀራል። ከዚህ በኋላ, ፖድ ይጀምራል, እና የእኛ ቅጂ በማሰማራት መዝገብ ውስጥ ይታያል.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ከቪዲዮው የ 20 ሰከንድ መጠበቅን ቆርጬያለሁ, እና አሁን በስክሪኑ ላይ የመጀመሪያው የመተግበሪያው ስሪት መጫኑን ማየት ይችላሉ. ይህ ሁሉ የተደረገው UI ብቻ በመጠቀም ነው።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

አሁን ሁለተኛውን ስሪት እንሞክር. ይህንን ለማድረግ የመተግበሪያውን መልእክት ከ "ሄሎ, ኩበርኔትስ!" በ "ሄሎ, አከፋፋይ!", ስርዓቱ ይህንን ምስል ይፈጥራል እና በ Docker መዝገብ ውስጥ ያስቀምጠዋል, ከዚያ በኋላ በቀላሉ በ Deploymentctl መስኮት ውስጥ "Deploy" የሚለውን ቁልፍ እንደገና ጠቅ እናደርጋለን. በዚህ አጋጣሚ የማሰማራት ምዝግብ ማስታወሻው የመጀመሪያውን የመተግበሪያውን ስሪት ሲዘረጋ በተፈጠረው ተመሳሳይ መንገድ በራስ-ሰር ይጀምራል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ትዕዛዙ ~ kubectl get pods እንደሚያሳየው በአሁኑ ጊዜ 2 የመተግበሪያው ስሪቶች እየሰሩ ነው ፣ ግን የፊት ኤንዲው የሚያሳየው አሁንም ስሪት 1 እያሄድን ነው።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

የጭነት ሚዛኑ ትራፊክን ወደ አዲሱ ስሪት ከማዘዋወሩ በፊት የጤና ምርመራው እስኪጠናቀቅ ድረስ ይጠብቃል። ከ 20 ሰከንድ በኋላ ወደ ኩርባ እንለውጣለን እና አሁን የመተግበሪያው ስሪት 2 እንደሰራን እና የመጀመሪያው ተሰርዟል.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ይህ “ጤናማ” መተግበሪያን ማሰማራት ነበር። ለአዲሱ የመተግበሪያው እትም የጤነኛ መለኪያውን ከእውነት ወደ ሐሰት ከቀየርኩ፣ ማለትም፣ የጤና ምርመራውን ያልተሳካለት ጤናማ ያልሆነ መተግበሪያ ለማሰማራት እሞክራለሁ። ይህ በመተግበሪያው ውስጥ በልማት ደረጃ ላይ አንዳንድ የማዋቀር ስህተቶች ከተደረጉ እና በዚህ ቅጽ ወደ ምርት ከተላከ ይህ ሊከሰት ይችላል።

እንደሚመለከቱት, ማሰማራቱ ከላይ ያሉትን ሁሉንም ደረጃዎች ያልፋል እና ~kubectl get pods ሁለቱም ፖዶች እየሰሩ መሆናቸውን ያሳያል. ነገር ግን ከቀዳሚው ማሰማራት በተለየ፣ ምዝግብ ማስታወሻው ጊዜው ያለፈበትን ሁኔታ ያሳያል። ማለትም፣ የጤና ምርመራው ባለመሳካቱ፣ አዲሱ የመተግበሪያው እትም ሊሰራጭ አይችልም። በዚህ ምክንያት ስርዓቱ ወደ አሮጌው የመተግበሪያው ስሪት እንደተመለሰ እና አዲሱ ስሪት በቀላሉ ማራገፍ እንደጀመረ ይመለከታሉ።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

በዚህ ጉዳይ ላይ ጥሩው ነገር ወደ ማመልከቻው የሚመጡ ብዙ በአንድ ጊዜ የሚጠየቁ ጥያቄዎች ቢኖሩትም የማሰማራት ሂደቱን በሚተገበሩበት ጊዜ የእረፍት ጊዜውን እንኳን አያስተውሉም። ይህንን መተግበሪያ በተቻለ መጠን ብዙ ጥያቄዎችን የሚልክውን የ Gatling ማዕቀፍን በመጠቀም ከሞከሩት ከእነዚህ ጥያቄዎች ውስጥ አንዳቸውም አይጣሉም። ይህ ማለት ተጠቃሚዎቻችን የስሪት ዝማኔዎችን በቅጽበት እንኳን አያስተውሉም። ካልተሳካ ስራው በአሮጌው ስሪት ይቀጥላል፤ ከተሳካ ተጠቃሚዎች ወደ አዲሱ ስሪት ይቀየራሉ።

ሊሳካ የሚችለው አንድ ነገር ብቻ ነው - የጤንነት ምርመራው ከተሳካ, ነገር ግን አፕሊኬሽኑ ስራው እንደተጫነበት ወዲያውኑ ሳይሳካለት ሲቀር, ማለትም ውድቀት የሚከሰተው ማሰማራቱ ከተጠናቀቀ በኋላ ነው. በዚህ አጋጣሚ እራስዎ ወደ አሮጌው ስሪት መመለስ ይኖርብዎታል. ስለዚህ, ለእሱ በተዘጋጁት ክፍት ምንጭ መሳሪያዎች Kubernetes እንዴት እንደሚጠቀሙ ተመልክተናል. እነዚህን መሳሪያዎች በግንባታ/መስመር ቧንቧዎች ውስጥ ከገነቡ የማሰማራቱ ሂደት በጣም ቀላል ይሆናል። በተመሳሳይ ጊዜ ማሰማራት ለመጀመር የተጠቃሚውን በይነገጽ መጠቀም ወይም ይህንን ሂደት ሙሉ በሙሉ በራስ-ሰር ማድረግ ይችላሉ ፣ ለምሳሌ ፣ ለማስተር።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

የእኛ የግንባታ አገልጋይ Docker ምስል ይፈጥራል፣ ወደ Docker Hub ወይም የትኛውንም የምትጠቀመው መዝገብ ውስጥ ይገፋዋል። Docker Hub የዌብ መንጠቆን ይደግፋል፣ ስለዚህ እኛ ከላይ በሚታየው መንገድ የርቀት ማሰማራትን በአሳሪ በኩል ማስጀመር እንችላለን። በዚህ መንገድ የእርስዎን መተግበሪያ ወደ እምቅ ምርት ማሰማራትን ሙሉ በሙሉ በራስ-ሰር ማድረግ ይችላሉ።

ወደ ቀጣዩ ርዕስ እንሸጋገር - የኩበርኔትስ ክላስተር ማመጣጠን። የ kubectl ትዕዛዝ የመጠን ትዕዛዝ መሆኑን ልብ ይበሉ. በበለጠ እገዛ፣ አሁን ባለው ክላስተር ውስጥ ያሉትን የተባዙ ብዛት በቀላሉ ማሳደግ እንችላለን። ይሁን እንጂ በተግባር ግን ብዙውን ጊዜ ከፖድ ይልቅ የኖዶችን ቁጥር መጨመር እንፈልጋለን.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

በተመሳሳይ ጊዜ, በስራ ሰዓት ውስጥ መጨመር ሊኖርብዎት ይችላል, እና ምሽት ላይ, የአማዞን አገልግሎቶችን ዋጋ ለመቀነስ, የሩጫ አፕሊኬሽኖችን ቁጥር መቀነስ ያስፈልግዎታል. ይህ ማለት የፖድ ቁጥርን ብቻ ማመጣጠን በቂ ይሆናል ማለት አይደለም፣ ምክንያቱም አንዱ መስቀለኛ መንገድ ስራ ፈት ቢሆንም አሁንም Amazon መክፈል አለቦት። ያም ማለት, ፖድቹን ከማስኬድ ጋር, ጥቅም ላይ የዋሉ ማሽኖችን ቁጥር ማመጣጠን ያስፈልግዎታል.

ይሄ ፈታኝ ሊሆን ይችላል ምክንያቱም አማዞንንም ሆነ ሌላ የደመና አገልግሎትን ብንጠቀም ኩበርኔትስ ስለሚጠቀሙት ማሽኖች ብዛት ምንም አያውቅም። በመስቀለኛ ደረጃ ስርዓቱን ለመለካት የሚያስችል መሳሪያ ይጎድለዋል.

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ስለዚህ ሁለቱንም አንጓዎች እና እንክብሎችን መንከባከብ አለብን። የኩበርኔትስ የሰራተኛ ኖዶችን ቁጥር ለማዋቀር የAWS API እና Scaling group ማሽኖችን በመጠቀም የአዳዲስ ኖዶች ጅምርን በቀላሉ ማመጣጠን እንችላለን። እንዲሁም በ Kubernetes ክላስተር ውስጥ አንጓዎችን ለመመዝገብ Cloud-init ወይም ተመሳሳይ ስክሪፕት መጠቀም ይችላሉ።

አዲሱ ማሽን በ Scaling ቡድን ውስጥ ይጀምራል, እራሱን እንደ መስቀለኛ መንገድ ይጀምራል, በማስተር መዝገብ ውስጥ ይመዘገባል እና መስራት ይጀምራል. ከዚህ በኋላ በተፈጠሩት አንጓዎች ላይ ጥቅም ላይ የሚውሉ የተባዛዎች ብዛት መጨመር ይችላሉ. "አላስፈላጊ" ማሽኖችን ካጠፉ በኋላ እንዲህ ዓይነቱ እርምጃ ቀድሞውኑ የሚሰሩ መተግበሪያዎችን ወደ ጥፋት እንደማይመራው ማረጋገጥ ስለሚያስፈልግ ዝቅ ማድረግ የበለጠ ጥረት ይጠይቃል። እንደዚህ አይነት ሁኔታን ለመከላከል, መስቀለኛ መንገዶችን ወደ "የማይታቀድ" ሁኔታ ማዘጋጀት ያስፈልግዎታል. ይህ ማለት የDaemonSet podsን ሲያቀናጅ ነባሪ መርሐግብር አውጪ እነዚህን አንጓዎች ችላ ይላቸዋል። መርሐግብር አውጪው ከእነዚህ አገልጋዮች ምንም ነገር አይሰርዝም፣ ነገር ግን ምንም አዲስ ኮንቴይነሮችን እዚያ አያስነሳም። ቀጣዩ ደረጃ የፍሳሽ ማስወገጃ መስቀለኛ መንገድን ማስወጣት ነው, ማለትም, የሩጫ ፓዶችን ከእሱ ወደ ሌላ ማሽን, ወይም ለዚህ በቂ አቅም ያላቸውን ሌሎች ኖዶች ማስተላለፍ ነው. አንዴ በእነዚህ አንጓዎች ላይ ምንም መያዣዎች አለመኖራቸውን ካረጋገጡ በኋላ ከ Kubernetes ሊያስወግዷቸው ይችላሉ። ከዚህ በኋላ, ለኩበርኔትስ በቀላሉ መኖራቸውን ያቆማሉ. በመቀጠል፣ አላስፈላጊ ኖዶችን ወይም ማሽኖችን ለማሰናከል የAWS ኤፒአይን መጠቀም አለቦት።
ከAWS ኤፒአይ ጋር የሚመሳሰል ሌላ የክፍት ምንጭ ልኬት መሳሪያ የሆነውን Amdatu Scalerd መጠቀም ይችላሉ። በክላስተር ውስጥ አንጓዎችን ለመጨመር ወይም ለማስወገድ CLI ያቀርባል። የእሱ አስደሳች ባህሪ የሚከተለውን json ፋይል በመጠቀም የጊዜ ሰሌዳውን የማዋቀር ችሎታ ነው።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

የሚታየው ኮድ በምሽት ጊዜ የክላስተር አቅምን በግማሽ ይቀንሳል። የሚገኙትን ቅጂዎች ብዛት እና የሚፈለገውን የአማዞን ክላስተር አቅም ያዋቅራል። ይህንን መርሐግብር መጠቀሙ በምሽት የኖዶችን ቁጥር በመቀነስ በጠዋቱ ይጨምራል ይህም እንደ አማዞን ካሉ የደመና አገልግሎት ኖዶችን የመጠቀም ወጪን ይቆጥባል። ይህ ባህሪ በ Kubernetes ውስጥ አልተገነባም፣ ነገር ግን Scalerd ን በመጠቀም ይህንን መድረክ በፈለጋችሁት መጠን እንድትመዘኑ ያስችልዎታል።

ብዙ ሰዎች እንደሚነግሩኝ ላስገነዝብ እወዳለሁ፣ “ያ ጥሩ እና ጥሩ ነው፣ ግን ስለ የውሂብ ጎታዬስ ምን ለማለት ይቻላል፣ እሱም ዘወትር የማይለዋወጥ?” እንደ ኩበርኔትስ ባሉ ተለዋዋጭ አካባቢ ውስጥ እንደዚህ ያለ ነገር እንዴት ማሄድ ይችላሉ? በእኔ አስተያየት, ይህንን ማድረግ የለብዎትም, በ Kubernetes ውስጥ የውሂብ ማከማቻን ለማስኬድ መሞከር የለብዎትም. ይህ በቴክኒካል ይቻላል, እና በዚህ ጉዳይ ላይ በበይነመረቡ ላይ አጋዥ ስልጠናዎች አሉ, ነገር ግን ህይወትዎን በእጅጉ ያወሳስበዋል.

አዎ፣ በ Kubernetes ውስጥ የማያቋርጥ መደብሮች ጽንሰ-ሀሳብ አለ ፣ እና እንደ ሞንጎ ወይም MySQL ያሉ የውሂብ ማከማቻዎችን ለማሄድ መሞከር ይችላሉ ፣ ግን ይህ በጣም ብዙ ጉልበት የሚጠይቅ ተግባር ነው። ይህ የሆነበት ምክንያት የመረጃ መጋዘኖች ከተለዋዋጭ አካባቢ ጋር መስተጋብርን ሙሉ በሙሉ የማይደግፉ በመሆናቸው ነው። አብዛኛዎቹ የውሂብ ጎታዎች ጉልህ የሆነ ውቅር ያስፈልጋቸዋል፣ የክላስተርን በእጅ ውቅር ጨምሮ፣ አውቶማቲክን እና ሌሎች ተመሳሳይ ነገሮችን አይወዱም።
ስለዚህ, Kubernetes ውስጥ የውሂብ መጋዘን ለማስኬድ በመሞከር ህይወትዎን ውስብስብ ማድረግ የለብዎትም. የተለመዱ አገልግሎቶችን በመጠቀም ስራቸውን በባህላዊ መንገድ ያደራጁ እና በቀላሉ ለ Kubernetes የመጠቀም ችሎታ ያቅርቡ።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

ርዕሱን ለማጠቃለል፣ ቡድኔ እየሠራበት ባለው Kubernetes ላይ ከCloud RTI መድረክ ጋር ላስተዋውቅዎ እፈልጋለሁ። የተማከለ ምዝግብ ማስታወሻ፣ አፕሊኬሽን እና የክላስተር ክትትል እና ሌሎች በርካታ ጠቃሚ ባህሪያትን ያቀርባል። ክትትልን ለማሳየት እንደ ግራፋና ያሉ የተለያዩ ክፍት ምንጭ መሳሪያዎችን ይጠቀማል።

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

DEVOXX UK. Kubernetes በምርት ላይ፡- ሰማያዊ/አረንጓዴ ማሰማራት፣ አውቶማቲክ እና ማሰማራት አውቶማቲክ። ክፍል 2

የ ha-proxy load balancer ከ Kubernetes ጋር ለምን እንደሚጠቀሙበት ጥያቄ ነበር። ጥሩ ጥያቄ ምክንያቱም በአሁኑ ጊዜ 2 የጭነት ማመጣጠን ደረጃዎች አሉ. የኩበርኔትስ አገልግሎቶች በምናባዊ አይፒ አድራሻዎች ላይ ይኖራሉ። በውጫዊ አስተናጋጅ ማሽኖች ላይ ወደቦች ሊጠቀሙባቸው አይችሉም ምክንያቱም Amazon የደመና አስተናጋጁን ከመጠን በላይ ከጫነ, አድራሻው ይለወጣል. ለዚህ ነው ሃ-ፕሮክሲን በአገልግሎቶቹ ፊት የምናስቀምጠው - ለትራፊክ የበለጠ የማይንቀሳቀስ መዋቅር ለመፍጠር ከኩበርኔትስ ጋር ያለችግር እንዲገናኝ።

ሌላው ጥሩ ጥያቄ ሰማያዊ/አረንጓዴ ማሰማራት ሲያደርጉ የውሂብ ጎታ ንድፍ ለውጦችን እንዴት መንከባከብ ይችላሉ? እውነታው ግን የኩበርኔትስ አጠቃቀም ምንም ይሁን ምን የውሂብ ጎታውን ንድፍ መቀየር ከባድ ስራ ነው. አሮጌው እና አዲሱ ንድፍ ተኳሃኝ መሆናቸውን ማረጋገጥ አለብዎት, ከዚያ በኋላ የውሂብ ጎታውን ማዘመን እና ከዚያም አፕሊኬሽኑን እራሳቸው ማዘመን ይችላሉ. የውሂብ ጎታውን በሙቀት መለዋወጥ እና ከዚያ መተግበሪያዎቹን ማዘመን ይችላሉ። ሙሉ በሙሉ አዲስ የመረጃ ቋት ክላስተር በአዲስ ሼማ የጫኑ ሰዎችን አውቃለሁ፣ እንደ ሞንጎ ያለ እቅድ የሌለው ዳታቤዝ ካለዎት ይህ አማራጭ ነው፣ ግን ለማንኛውም ቀላል ስራ አይደለም። ምንም ተጨማሪ ጥያቄዎች ከሌሉዎት ስለ ትኩረትዎ እናመሰግናለን!

አንዳንድ ማስታወቂያዎች 🙂

ከእኛ ጋር ስለቆዩ እናመሰግናለን። ጽሑፎቻችንን ይወዳሉ? የበለጠ አስደሳች ይዘት ማየት ይፈልጋሉ? ትእዛዝ በማዘዝ ወይም ለጓደኞች በመምከር ይደግፉን፣ ደመና ቪፒኤስ ለገንቢዎች ከ$4.99, በእኛ ለእርስዎ የተፈለሰፈው ልዩ የመግቢያ ደረጃ አገልጋዮች አናሎግ፡- ስለ VPS (KVM) ሙሉ እውነት E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ከ$19 ወይንስ እንዴት አገልጋይ መጋራት ይቻላል? (በRAID1 እና RAID10፣ እስከ 24 ኮሮች እና እስከ 40GB DDR4 ድረስ ይገኛል።

በአምስተርዳም ውስጥ በ Equinix Tier IV የመረጃ ማዕከል ውስጥ Dell R730xd 2x ርካሽ? እዚህ ብቻ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ከ$199 በኔዘርላንድስ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ከ$99! ስለ አንብብ የመሠረተ ልማት ኮርፖሬሽን እንዴት እንደሚገነባ ክፍል ጋር Dell R730xd E5-2650 v4 አገልጋዮች ዋጋ 9000 አንድ ሳንቲም ዩሮ?

ምንጭ: hab.com

አስተያየት ያክሉ