ኩበርኔትስ ላያስፈልጋችሁ ይችላል።

ኩበርኔትስ ላያስፈልጋችሁ ይችላል።
ሴት ልጅ በስኩተር ላይ። ምሳሌ ፍሪፒክ, የዘላን ሎጎ ከ HashiCorp

ኩበርኔትስ ባለ 300 ፓውንድ ጎሪላ ኮንቴይነር ኦርኬስትራ ነው። በዓለም ላይ ካሉት ትላልቅ የእቃ መጫኛ ስርዓቶች ውስጥ ይሰራል, ግን ውድ ነው.

በተለይ ለትናንሽ ቡድኖች በጣም ውድ፣ ይህም ብዙ የድጋፍ ጊዜ እና ቁልቁለት የመማሪያ ጥምዝ ያስፈልገዋል። ይህ ለአራት ቡድናችን በጣም ብዙ ነው። ስለዚህ አማራጮችን መፈለግ ጀመርን - እናም በፍቅር ያዝን። በዘላንነት.

ምን ፈለክ

ቡድናችን በርካታ የተለመዱ የአፈጻጸም ክትትል እና ትንተና አገልግሎቶችን ይደግፋል፡ የኤፒአይ የመጨረሻ ነጥቦች በ Go ውስጥ የተፃፉ መለኪያዎች፣ ፕሮሜቲየስ ወደ ውጭ መላክ፣ እንደ Logstash እና ሎግስታሽ ያሉ የምዝግብ ማስታወሻዎች ጎልመ, እንዲሁም እንደ InfluxDB ወይም Elasticsearch ያሉ የውሂብ ጎታዎች. እያንዳንዳቸው እነዚህ አገልግሎቶች በራሳቸው መያዣ ውስጥ ይሰራሉ. ሁሉንም ነገር ለማስኬድ ቀላል ስርዓት ያስፈልገናል.

ለኮንቴይነር ኦርኬስትራ የሚያስፈልጉ መስፈርቶች ዝርዝር ጀምረናል፡-

  • በብዙ ማሽኖች ላይ የአገልግሎቶች ስብስብ በማሄድ ላይ።
  • የአሂድ አገልግሎቶች አጠቃላይ እይታ።
  • በአገልግሎቶች መካከል አገናኞች.
  • አገልግሎቱ ከቀነሰ በራስ-ሰር እንደገና ያስጀምሩ።
  • የመሠረተ ልማት ጥገና በትንሽ ቡድን.

በተጨማሪም ፣ የሚከተሉት ነገሮች ጥሩ ይሆናሉ ፣ ግን ተጨማሪዎች አያስፈልጉም ።

  • ማሽኖችን በችሎታቸው ላይ በመመስረት መለያ መስጠት (ለምሳሌ ፈጣን ዲስክ ያላቸው ማሽኖች ለከባድ የአይ/ኦ አገልግሎት)።
  • ከኦርኬስትራ (ለምሳሌ በእድገት ወቅት) አገልግሎቶችን በነጻ የማካሄድ ችሎታ።
  • ውቅሮችን እና ሚስጥሮችን ለማጋራት የተለመደ ቦታ።
  • የመለኪያዎች እና የምዝግብ ማስታወሻዎች የመጨረሻ ነጥብ።

ለምን Kubernetes ለእኛ ትክክል አይደለም

በኩበርኔትስ ፕሮቶታይፕ ስንሰራ፣ በጣም የምንመካባቸው ከጊዜ ወደ ጊዜ ውስብስብ የአመክንዮ ንብርብሮች እየጨመርን መሆኑን አስተውለናል።

እንደ ምሳሌ ኩበርኔትስ አብሮገነብ የአገልግሎት ውቅሮችን ይደግፋል ConfigMaps. በተለይ ብዙ የውቅረት ፋይሎችን ሲያዋህዱ ወይም ተጨማሪ አገልግሎቶችን ወደ ፖድ ሲጨምሩ በፍጥነት ግራ ሊጋቡ ይችላሉ። ኩበርኔትስ (ወይም ዋልታ በዚህ ጉዳይ ላይ) ስጋቶችን ለመለየት ውጫዊ አወቃቀሮችን በተለዋዋጭ እንዲተገብሩ ይፈቅድልዎታል. ነገር ግን ይህ በፕሮጀክትዎ እና በኩበርኔትስ መካከል ጥብቅ የሆነ ድብቅ ትስስር ይፈጥራል። ሆኖም፣ Helm እና ConfigMaps ተጨማሪ አማራጮች ናቸው፣ ስለዚህ እነሱን መጠቀም የለብዎትም። አወቃቀሩን በቀላሉ ወደ Docker ምስል መቅዳት ይችላሉ። ሆኖም፣ በዚህ መንገድ መሄድ እና በኋላ ላይ ሊጸጸቱ የሚችሉ አላስፈላጊ ማብራሪያዎችን መገንባት ፈታኝ ነው።

በተጨማሪም የኩበርኔትስ ሥነ-ምህዳር በፍጥነት እያደገ ነው። በምርጥ ልምዶች እና የቅርብ ጊዜ መሳሪያዎች ወቅታዊ ሆኖ ለመቆየት ብዙ ጊዜ እና ጉልበት ይጠይቃል። Kubectl, minikube, kubeadm, helm, tiller, kops, oc - ዝርዝሩ ይቀጥላል እና ይቀጥላል. ሲጀምሩ እነዚህ ሁሉ መሳሪያዎች አስፈላጊ አይደሉም, ነገር ግን ምን እንደሚፈልጉ አያውቁም, ስለዚህ ሁሉንም ነገር ማወቅ አለብዎት. በዚህ ምክንያት, የመማሪያው ጥምዝ በጣም ቁልቁል ነው.

Kubernetes መቼ እንደሚጠቀሙ

በእኛ ኩባንያ ውስጥ ብዙ ሰዎች Kubernetes ን ይጠቀማሉ እና በእሱ በጣም ደስተኞች ናቸው። እነዚህ አጋጣሚዎች የሚተዳደረው በGoogle ወይም Amazon ነው፣እነሱን ለመደገፍ ሃብቶች ባላቸው።

ኩበርኔትስ አብሮ ይመጣል አስደናቂ ባህሪያትየኮንቴይነር ኦርኬስትራውን በመጠን የበለጠ ለማስተዳደር የሚያደርገው፡

  • ዝርዝር መብቶች አስተዳደር.
  • ብጁ መቆጣጠሪያዎች ወደ ክላስተር አመክንዮ ይጨምሩ። እነዚህ በቀላሉ ከ Kubernetes API ጋር የሚነጋገሩ ፕሮግራሞች ናቸው።
  • አውቶማቲካሊንግ! Kubernetes የአገልግሎት መለኪያዎችን በመጠቀም እና በእጅ ጣልቃ ገብነት ሳያስፈልገው አገልግሎቶችን በፍላጎት ሊያሳድጉ ይችላሉ።

ጥያቄው እነዚህን ሁሉ ባህሪያት በእርግጥ ያስፈልጎት እንደሆነ ነው. አንተ ብቻ abstractions ላይ መተማመን አይችሉም; በመከለያው ስር ምን እየተከናወነ እንዳለ ማወቅ ያስፈልግዎታል.

ቡድናችን በርቀት ብዙ አገልግሎቶችን ይሰጣል (ከዋናው መሠረተ ልማት ጋር ባለው ቅርበት ምክንያት) የራሳችንን የኩበርኔትስ ክላስተር ማሳደግ አልፈለግንም። አገልግሎት መስጠት ብቻ ነበር የፈለግነው።

ባትሪዎች አልተካተቱም።

ዘላኖች ከሚያስፈልገው ውስጥ 20% የሚያቀርበው ኦርኬስትራ 80% ነው። የሚሰራው ማሰማራትን ማስተዳደር ብቻ ነው። ዘላኖች ማሰማራትን ይንከባከባል፣ ስህተቶች ካሉ ኮንቴይነሮችን እንደገና ያስጀምራቸዋል... እና ያ ነው።

የኖማድ አጠቃላይ ነጥብ የሚያደርገው ነው። ዝቅተኛ: ምንም granular መብቶች አስተዳደር ወይም የተራዘመ የአውታረ መረብ ፖሊሲዎችይህ በልዩ ሁኔታ የተነደፈ ነው። እነዚህ ክፍሎች በውጫዊ መልኩ ይቀርባሉ ወይም ሙሉ በሙሉ አይደሉም.

እኔ እንደማስበው Nomad በአጠቃቀም ቀላልነት እና በፍጆታ መካከል ፍጹም ስምምነትን አግኝቷል። ለአነስተኛ ገለልተኛ አገልግሎቶች ጥሩ ነው። ተጨማሪ ቁጥጥር ከፈለጉ፣ እራስዎ ማሳደግ ወይም ሌላ ዘዴ መጠቀም ይኖርብዎታል። ዘላን ነው። እሺ ኦርኬስትራ.

ስለ ዘላን ምርጡ ነገር ቀላል መሆኑ ነው። ተካ. ተግባራቶቹ በቀላሉ አገልግሎቶችን ከሚያስተዳድሩ ሌሎች ስርዓቶች ጋር ስለሚዋሃዱ ከአቅራቢው ጋር ምንም ግንኙነት የለም ማለት ይቻላል። በክላስተር ውስጥ ባለ እያንዳንዱ ማሽን ላይ እንደ መደበኛ ሁለትዮሽ ይሰራል፣ ያ ብቻ ነው!

ልቅ የተጣመሩ አካላት ዘላኖች ሥነ-ምህዳር

የዘላኖች እውነተኛ ጥንካሬ ሥነ-ምህዳሩ ነው። ከሌሎች ጋር በደንብ ይዋሃዳል - ሙሉ በሙሉ አማራጭ - እንደ ምርቶች ቆንጆ (ቁልፍ-ዋጋ መደብር) ወይም Vault (የማስኬጃ ሚስጥሮች)። በኖማድ ፋይል ውስጥ ከእነዚህ አገልግሎቶች ውሂብ ለማውጣት ክፍሎች አሉ፡

template {
  data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH

  destination = "secrets/file.env"
  env         = true
}

እዚህ ቁልፉን እናነባለን service/geo-api/log-verbosity ከኮንሱል እና በሚሠራበት ጊዜ ለአካባቢ ተለዋዋጭ ያጋልጡ LOG_LEVEL. ቁልፉንም እናቀርባለን secret/geo-api-key ከቮልት እንደ API_KEY. ቀላል ግን ኃይለኛ!

በቀላልነቱ ምክንያት፣ Nomad ከሌሎች አገልግሎቶች በኤፒአይ በኩል በቀላሉ ሊገለበጥ ይችላል። ለምሳሌ, ለተግባሮች መለያዎች ይደገፋሉ. ሁሉንም አገልግሎቶች በመለኪያዎች መለያ እንሰጣለን። trv-metrics. በዚህ መንገድ ፕሮሜቴየስ እነዚህን አገልግሎቶች በቆንስላ በኩል በቀላሉ ማግኘት እና ከጊዜ ወደ ጊዜ የመጨረሻውን ነጥብ ማረጋገጥ ይችላል። /metrics ለአዲስ መረጃ. ተመሳሳይ ነገር ማድረግ ይቻላል, ለምሳሌ, ሎግ, በመጠቀም Loki.

ሌሎች ብዙ የማስፋፊያ ምሳሌዎች አሉ፡-

  • መንጠቆን በመጠቀም የጄንኪንስ ስራን ያካሂዱ፣ እና ቆንስል የአገልግሎቱ ውቅረት ሲቀየር የኖማድ ስራውን እንደገና ማሰማራትን ይከታተላል።
  • Ceph የተከፋፈለ የፋይል ስርዓት ወደ ዘላን ያክላል።
  • ማቻያ ለጭነት ማመጣጠን.

ይህ ሁሉ ይፈቅዳል ኦርጋኒክ መሠረተ ልማት ማዳበር ከአቅራቢው ጋር ምንም ልዩ ግንኙነት ሳይኖር.

ትክክለኛ ማስጠንቀቂያ

ፍጹም የሆነ ሥርዓት የለም። ወዲያውኑ አዳዲስ ባህሪያትን ወደ ምርት ማስተዋወቅ አልመክርም። በእርግጥ ስህተቶች እና የጎደሉ ባህሪያት አሉ, ግን ለ Kubernetes ተመሳሳይ ነው.

ከኩበርኔትስ ጋር ሲነጻጸር፣ የዘላን ማህበረሰብ ያን ያህል ትልቅ አይደለም። ኩበርኔትስ ቀድሞውንም ወደ 75 የሚያህሉ ስራዎች እና 000 አስተዋጽዖ አበርካቾች ያሉት ሲሆን ዘላን ወደ 2000 ስራዎች እና 14 አስተዋጽዖ አበርካቾች አሉት። ዘላኖች የኩበርኔትስ ፍጥነትን ለመከታተል ይቸገራሉ፣ ግን ምናልባት አያስፈልግም! እሱ የበለጠ ልዩ ስርዓት ነው ፣ እና ትንሹ ማህበረሰብ ማለት ደግሞ የመሳብ ጥያቄዎ ከኩበርኔትስ ጋር ሲወዳደር የበለጠ ትኩረት ሊሰጠው እና ተቀባይነት ሊኖረው ይችላል ማለት ነው።

ማጠቃለያ

ቁም ነገር፡- ሁሉም ሰው ስላደረገው ብቻ Kubernetes አይጠቀሙ። መስፈርቶችዎን በጥንቃቄ ይገምግሙ እና የትኛው መሳሪያ የበለጠ ጠቃሚ እንደሆነ ያረጋግጡ።

በትልቅ መሠረተ ልማት ላይ አንድ ቶን ተመሳሳይ አገልግሎቶችን ለማሰማራት ካቀዱ ኩበርኔትስ ጥሩ አማራጭ ነው። ተጨማሪ ውስብስብነት እና የስራ ማስኬጃ ወጪዎችን ብቻ ይገንዘቡ. እንደ የሚተዳደር Kubernetes አካባቢን በመጠቀም አንዳንድ ወጪዎችን ማስቀረት ይቻላል። ጉግል ኩቤኔትስ ሞተር ወይም Amazon EX.

ለመንከባከብ ቀላል እና ሊሰፋ የሚችል አስተማማኝ ኦርኬስትራ እየፈለጉ ከሆነ ለምን Nomad አይሞክሩም? ይህ ምን ያህል እንደሚወስድህ ትገረም ይሆናል።

ኩበርኔትስ ከመኪና ጋር ቢወዳደር፣ ዘላን ስኩተር ይሆናል። አንዳንድ ጊዜ አንድ ነገር እና አንዳንድ ጊዜ ሌላ ያስፈልግዎታል. ሁለቱም የመኖር መብት አላቸው።

ምንጭ: hab.com

አስተያየት ያክሉ