Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

ኤፕሪል 8 በጉባኤው ቅዱስ ሃይሎድ++ 2019, እንደ "ዴቭኦፕስ እና ኦፕሬሽኖች" ክፍል, "Kubernetes ን ማስፋት እና ማሟያ" ሪፖርት ተሰጥቷል, በዚህ ውስጥ ሶስት የፍላንት ኩባንያ ሰራተኞች ተሳትፈዋል. በእሱ ውስጥ የኩበርኔትስ አቅምን ለማስፋት እና ለማሟላት ስለምንፈልግባቸው ብዙ ሁኔታዎች እንነጋገራለን ፣ ግን ለዚህ ዝግጁ እና ቀላል መፍትሄ አላገኘንም ። በክፍት ምንጭ ፕሮጄክቶች ውስጥ አስፈላጊ መፍትሄዎች አሉን, እና ይህ ንግግርም ለእነሱ የተሰጠ ነው.

በወጉ, በማቅረብ ደስ ይለናል ቪዲዮ ከሪፖርቱ ጋር (50 ደቂቃዎች፣ ከጽሑፉ የበለጠ መረጃ ሰጭ) እና ዋናው ማጠቃለያ በጽሁፍ መልክ። ሂድ!

ኮር እና ተጨማሪዎች በK8s

ኩበርኔትስ ለረጅም ጊዜ የተቋቋመውን ኢንዱስትሪ እና የአስተዳደር አካሄዶችን እየለወጠ ነው።

  • ለእሱ ምስጋና ይግባው ማጠቃለያዎችእኛ ከአሁን በኋላ እንደ ውቅረት ማዋቀር ወይም ትዕዛዝ ማስኬድ በመሳሰሉ ፅንሰ-ሀሳቦች አንሰራም (ሼፍ፣ ሊቻል...)፣ ነገር ግን የእቃ መያዢያዎችን፣ አገልግሎቶችን ወዘተ መቧደን እንጠቀማለን።
  • ሾለ ምስጢራዊነት ሳናስብ መተግበሪያዎችን ማዘጋጀት እንችላለን የተወሰነ ጣቢያ, የሚጀመርበት: ባዶ ብረት, የአንዱ አቅራቢዎች ደመና, ወዘተ.
  • በK8s የበለጠ ተደራሽ ሆነው አያውቁም ምርጥ ልምዶች የመሠረተ ልማት አውታሮችን በማደራጀት ላይ: የመጠን ዘዴዎች, ራስን መፈወስ, ስህተትን መቻቻል, ወዘተ.

ሆኖም ፣ በእርግጥ ፣ ሁሉም ነገር በጣም ለስላሳ አይደለም-ኩበርኔትስ የራሱን አዳዲስ ፈተናዎች አምጥቷል።

ኩባንያቶች አይደለም የሁሉንም ተጠቃሚዎች ሁሉንም ችግሮች የሚፈታ ድብልቅ ነው። ዋናው ነገር ኩበርኔትስ ተጠያቂው በ ውስጥ ላሉት አነስተኛ አስፈላጊ ተግባራት ስብስብ ብቻ ነው። እያንዳንዳቸው ክላስተር፡

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

የኩበርኔትስ ኮር ኮንቴይነሮችን ለመቧደን፣ ትራፊክን ለመቆጣጠር እና የመሳሰሉትን መሰረታዊ የጥንታዊ ስብስቦችን ይገልፃል። ስለ እነርሱ የበለጠ በዝርዝር ተነጋገርን ከ 2 ዓመታት በፊት ሪፖርት ያድርጉ.

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

በሌላ በኩል K8s ሌሎችን ለመዝጋት የሚረዱትን ያሉትን ተግባራት ለማስፋት ታላቅ እድሎችን ይሰጣል - የተወሰነ - የተጠቃሚ ፍላጎቶች. ወደ ኩበርኔትስ መጨመር የክላስተር አስተዳዳሪዎች ኃላፊነት ነው፣ እነሱም ክላስተራቸውን “በትክክለኛው ቅርፅ” ለማግኘት አስፈላጊ የሆኑትን ነገሮች ሁሉ መጫን እና ማዋቀር አለባቸው (ችግሮቻቸውን ለመፍታት)። እነዚህ ምን ዓይነት ተጨማሪዎች ናቸው? እስቲ አንዳንድ ምሳሌዎችን እንመልከት።

የተጨማሪዎች ምሳሌዎች

Kubernetes ን ከጫንን በኋላ በመስቀለኛ መንገድ እና በመስቀለኛ መንገድ መካከል ለፖዳዎች መስተጋብር በጣም አስፈላጊ የሆነው አውታረመረብ በራሱ የማይሰራ መሆኑ ሊያስገርመን ይችላል። የኩበርኔትስ ከርነል አስፈላጊ የሆኑትን ግንኙነቶች ዋስትና አይሰጥም, ይልቁንም አውታረ መረቡን ይወስናል በይነገጽ (CNI) ለሶስተኛ ወገን ተጨማሪዎች። ከእነዚህ ማከያዎች ውስጥ አንዱን መጫን አለብን፣ እሱም ለአውታረ መረብ ውቅር ተጠያቂ ይሆናል።

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

የቅርብ ምሳሌ የመረጃ ማከማቻ መፍትሄዎች (አካባቢያዊ ዲስክ ፣ የአውታረ መረብ ማገጃ መሳሪያ ፣ ሴፍ ...) ነው። መጀመሪያ ላይ እነሱ በዋና ውስጥ ነበሩ ፣ ግን ከመምጣቱ ጋር በ CSI ሁኔታው ቀደም ሲል ከተገለጸው ጋር ተመሳሳይ ወደሆነ ነገር ይለወጣል: በይነገጹ በኩበርኔትስ ውስጥ ነው, እና አተገባበሩ በሶስተኛ ወገን ሞጁሎች ውስጥ ነው.

ሌሎች ምሳሌዎች የሚከተሉትን ያካትታሉ:

  • Ingress- ተቆጣጣሪዎች (ግምገማቸውን ይመልከቱ የእኛ የቅርብ ጊዜ መጣጥፍ).
  • የባለሙያ አስተዳዳሪ:

    Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

  • ከዋኞች ጠቅላላ የማከያዎች ክፍል ነው (ይህም የተጠቀሰውን ሰርተፍኬት-አቀናባሪን ያካትታል)፣ እነሱ ጥንታዊ(ዎች) እና ተቆጣጣሪ(ዎች)ን ይገልፃሉ። የሥራቸው አመክንዮ በአዕምሯችን ብቻ የተገደበ እና ዝግጁ የሆኑ የመሠረተ ልማት ክፍሎችን (ለምሳሌ ዲቢኤምኤስ) ወደ ፕሪሚቲቭነት እንድንለውጥ ያስችለናል ፣ እነሱም ለመሥራት በጣም ቀላል ናቸው (ከኮንቴይነሮች ስብስብ እና ቅንጅቶቻቸው)። እጅግ በጣም ብዙ ኦፕሬተሮች ተጽፈዋል - ምንም እንኳን ብዙዎቹ ለማምረት ገና ዝግጁ ባይሆኑም ፣ የጊዜ ጉዳይ ብቻ ነው-

    Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

  • መለኪያዎች - ኩበርኔትስ በይነገጹን (ሜትሪክስ ኤፒአይ) ከትግበራው እንዴት እንደለየ የሚያሳይ ሌላ ምሳሌ (የሶስተኛ ወገን ተጨማሪዎች እንደ ፕሮሜቲየስ አስማሚ፣ ዳታዶግ ክላስተር ወኪል...)።
  • ለ ክትትል እና ስታቲስቲክስ, በተግባር እኛ ብቻ ሳይሆን የሚያስፈልገን ፕሮሜቴየስ እና ግራፋና, ግን ደግሞ ኩቤ-ግዛት-ሜትሪክስ, መስቀለኛ-ላኪ, ወዘተ.

እና ይህ የተሟላ የመደመር ዝርዝር አይደለም... ለምሳሌ በአሁኑ ጊዜ በጫንነው ፍላንት ኩባንያ 29 ተጨማሪዎች (ሁሉም በአጠቃላይ 249 የኩበርኔትስ እቃዎች ይፈጥራሉ). በቀላል አነጋገር፣ ያለ ጭማሪዎች የክላስተርን ሕይወት ማየት አንችልም።

አውቶማቲክ

ኦፕሬተሮች በየቀኑ የሚያጋጥሙንን መደበኛ ስራዎችን በራስ ሰር ለመስራት የተነደፉ ናቸው። ኦፕሬተርን መፃፍ ጥሩ መፍትሄ የሚሆንባቸው የእውነተኛ ህይወት ምሳሌዎች እዚህ አሉ።

  1. ለመተግበሪያው ምስሎች ያለው የግል (ማለትም መግባት የሚያስፈልገው) መዝገብ አለ። እያንዳንዱ ፖድ በመመዝገቢያ ውስጥ ማረጋገጥን የሚፈቅድ ልዩ ሚስጥር እንደተመደበ ይገመታል. የእኛ ተግባር ይህ ምስጢር በስም ቦታ ውስጥ መገኘቱን ማረጋገጥ ነው ስለዚህ ፖዶች ምስሎችን ማውረድ ይችላሉ። ብዙ አፕሊኬሽኖች ሊኖሩ ይችላሉ (እያንዳንዳቸው ሚስጥር ያስፈልገዋል), እና ሚስጥሮችን እራሳቸው አዘውትረው ማዘመን ጠቃሚ ነው, ስለዚህ ምስጢሮችን በእጅ የመዘርጋት አማራጭ ይወገዳል. ኦፕሬተሩ ለማዳን የሚመጣው እዚህ ነው: የስም ቦታው እስኪመጣ ድረስ የሚጠብቅ መቆጣጠሪያ እንፈጥራለን እና በዚህ ክስተት ላይ በመመስረት የስም ቦታን ሚስጥር ይጨምራል.
  2. በነባሪነት ከፖድ ወደ በይነመረብ መድረስ የተከለከለ ነው። ግን አንዳንድ ጊዜ ሊያስፈልግ ይችላል-የመዳረሻ ፈቃዱ ዘዴ በቀላሉ እንዲሠራ ፣ ልዩ ችሎታዎችን ሳያስፈልግ ፣ ለምሳሌ ፣ በስም ቦታ ውስጥ የተወሰነ መለያ በመኖሩ ምክንያታዊ ነው። ኦፕሬተሩ እዚህ እንዴት ሊረዳን ይችላል? መለያው በስም ቦታ ላይ እስኪታይ ድረስ የሚጠብቅ እና ተገቢውን የበይነመረብ መዳረሻ ፖሊሲ የሚያክል መቆጣጠሪያ ተፈጥሯል።
  3. ተመሳሳይ ሁኔታ፡ የተወሰነ ማከል ያስፈልገናል እንበል ርኩስ, ተመሳሳይ መለያ ካለው (ከአንድ ዓይነት ቅድመ ቅጥያ ጋር)። ከኦፕሬተሩ ጋር ያሉ ድርጊቶች ግልጽ ናቸው ...

በማንኛውም ዘለላ ውስጥ, የተለመዱ ተግባራት መፈታት አለባቸው, እና ቀኝ ይህ ኦፕሬተሮችን በመጠቀም ሊከናወን ይችላል።

የተገለጹትን ታሪኮች ሁሉ በማጠቃለል ወደ መደምደሚያው ደርሰናል በ Kubernetes ውስጥ ለሚመች ሥራ ያስፈልግዎታል: ሀ) ተጨማሪዎችን ጫንለ) ኦፕሬተሮችን ማዳበር (የዕለት ተዕለት የአስተዳደር ስራዎችን ለመፍታት).

ለ Kubernetes መግለጫ እንዴት እንደሚፃፍ?

በአጠቃላይ እቅዱ ቀላል ነው-

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

... ግን ከዚያ በኋላ እንዲህ ይሆናል:

  • የኩበርኔትስ ኤፒአይ ብዙ ጊዜ የሚወስድ ቀላል ያልሆነ ነገር ነው።
  • ፕሮግራሚንግ ለሁሉም ሰው የሚሆን አይደለም (የጎ ቋንቋ እንደ ተመራጭ ቋንቋ ተመርጧል ምክንያቱም ለእሱ ልዩ ማዕቀፍ ስላለው - ኦፕሬተር ኤስዲኬ);
  • ሁኔታው ከማዕቀፉ ልሹ ጋር ተመሳሳይ ነው.

ዋናው ነጥብ: መቆጣጠሪያ ለመጻፍ (ኦፕሬተር) አለበት። ጉልህ ሀብቶችን ማውጣት ቁሳቁስ ለማጥናት. ይህ ለ“ትልቅ” ኦፕሬተሮች ይጸድቃል - ይበሉ፣ ለ MySQL ዲቢኤምኤስ። ነገር ግን ከላይ የተገለጹትን ምሳሌዎች ካስታወስን (ምስጢሮችን መግለጽ ፣ ፖድ ወደ በይነመረብ መድረስ…) ፣ እኛ በትክክል ማድረግ የምንፈልገውን ፣ ያኔ ያደረግነው ጥረት አሁን ከምንፈልገው ውጤት እንደሚበልጥ እንረዳለን።

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

በአጠቃላይ አንድ ችግር ይፈጠራል-ብዙ ሀብቶችን ማውጣት እና መግለጫዎችን ለመፃፍ ትክክለኛውን መሳሪያ ያግኙ ወይም በአሮጌው መንገድ (ግን በፍጥነት) ያድርጉት። እሱን ለመፍታት - በእነዚህ ጽንፎች መካከል ስምምነትን ለማግኘት - የራሳችንን ፕሮጀክት ፈጠርን- ሼል-ኦፕሬተር (በተጨማሪ የእሱን ይመልከቱ የቅርብ ጊዜ ማስታወቂያ በማዕከሉ ላይ).

ሼል-ኦፕሬተር

እንዴት ነው የሚሰራው? ክላስተር ከሼል-ኦፕሬተር ጋር Go binary የያዘ ፖድ አለው። ከእሱ ቀጥሎ ያለው ስብስብ ነው መንጠቆዎች (ስለእነሱ ተጨማሪ ዝርዝሮች - ከታች ይመልከቱ). ሼል-ኦፕሬተሩ ራሱ ለተወሰኑት ይመዘገባል ክስተቶች በ Kubernetes ኤፒአይ ውስጥ ተጓዳኝ መንጠቆቹን በሚያስጀምርበት ክስተት ላይ።

ሼል-ኦፕሬተሩ በየትኞቹ ክስተቶች ላይ የትኞቹን መንጠቆዎች እንደሚጠራው እንዴት ያውቃል? ይህ መረጃ በእራሳቸው መንጠቆዎች ወደ ሼል-ኦፕሬተር ይተላለፋል, እና በጣም ቀላል በሆነ መልኩ ያደርጉታል.

መንጠቆ የባሽ ስክሪፕት ወይም ሌላ ነጠላ ነጋሪ እሴት የሚቀበል ማንኛውም ሌላ ሊተገበር የሚችል ፋይል ነው። --config እና ከJSON ጋር ምላሽ ይሰጣል። የኋለኛው የትኞቹ ነገሮች ለእሱ ፍላጎት እንደሆኑ እና የትኞቹ ክስተቶች (ለእነዚህ ነገሮች) ምላሽ መስጠት እንዳለባቸው ይወስናል-

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

የኛን ምሳሌ በሼል-ኦፕሬተር ላይ ያለውን አተገባበር እገልጻለሁ - የግል መዝገብን በመተግበሪያ ምስሎች የመግባት ሚስጥሮችን መበስበስ። ሁለት ደረጃዎችን ያካትታል.

ልምምድ፡ 1. መንጠቆ ይፃፉ

በመጀመሪያ ደረጃ, በመንጠቆው ውስጥ እንሰራለን --configየስም ቦታዎችን እና በተለይም በተፈጠሩበት ቅጽበት ላይ ፍላጎት እንዳለን ያሳያል።

[[ $1 == "--config" ]] ; then
  cat << EOF
{
  "onKubernetesEvent": [
    {
      "kind": "namespace",
      "event": ["add"]
    }
  ]
}
EOF
…

አመክንዮው ምን ይመስላል? እንዲሁም በጣም ቀላል:

…
else
  createdNamespace=$(jq -r '.[0].resourceName' $BINDING_CONTEXT_PATH)
  kubectl create -n ${createdNamespace} -f - << EOF
Kind: Secret
...
EOF
fi

የመጀመሪያው እርምጃ የትኛው የስም ቦታ እንደተፈጠረ ማወቅ ነው, ሁለተኛው ደግሞ በመጠቀም መፍጠር ነው kubectl ለዚህ የስም ቦታ ሚስጥር.

ልምምድ: 2. ምስሉን ማገጣጠም

የቀረው ሁሉ የተፈጠረውን መንጠቆ ወደ ሼል-ኦፕሬተር ማለፍ ብቻ ነው - ይህን እንዴት ማድረግ እንደሚቻል? ሼል-ኦፕሬተሩ ራሱ እንደ ዶከር ምስል ይመጣል፣ ስለዚህ የእኛ ተግባር መንጠቆውን በዚህ ምስል ውስጥ ወዳለ ልዩ ማውጫ ማከል ነው፡-

FROM flant/shell-operator:v1.0.0-beta.1
ADD my-handler.sh /hooks

የቀረው እሱን መሰብሰብ እና መግፋት ብቻ ነው፡-

$ docker build -t registry.example.com/my-operator:v1 .
$ docker push registry.example.com/my-operator:v1

የመጨረሻው ንክኪ ምስሉን ወደ ክላስተር ማሰማራት ነው። ይህንን ለማድረግ, እንፃፍ ማሰማራት:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: my-operator
spec:
  template:
    spec:
      containers:
      - name: my-operator
        image: registry.example.com/my-operator:v1 # 1
      serviceAccountName: my-operator              # 2

ትኩረት መስጠት ያለብዎት ሁለት ነጥቦች አሉ-

  1. አዲስ የተፈጠረ ምስል ምልክት;
  2. ይህ (ቢያንስ) በኩበርኔትስ ውስጥ ላሉ ክንውኖች ለመመዝገብ እና ምስጢሮችን ለስም ቦታዎች የመመደብ መብቶች የሚያስፈልገው (ቢያንስ) የስርዓት አካል ነው፣ ስለዚህ ለመንጠቆው የአገልግሎት መለያ (እና ደንቦች ስብስብ) እንፈጥራለን።

ውጤት - ችግራችንን ፈታን ዘመዶች ሚስጥሮችን ለመበስበስ ኦፕሬተርን በሚፈጥር መንገድ ለ Kubernetes.

ሌሎች የሼል-ኦፕሬተር ባህሪያት

መንጠቆው የሚሠራውን የመረጡት ዓይነት ዕቃዎችን ለመገደብ ፣ ሊጣሩ ይችላሉ፣ በተወሰኑ መለያዎች መሠረት መምረጥ (ወይም በመጠቀም matchExpressions):

"onKubernetesEvent": [
  {
    "selector": {
      "matchLabels": {
        "foo": "bar",
       },
       "matchExpressions": [
         {
           "key": "allow",
           "operation": "In",
           "values": ["wan", "warehouse"],
         },
       ],
     }
     …
  }
]

የቀረበ የመቀነስ ዘዴ, ይህም - የ jq ማጣሪያን በመጠቀም - ትላልቅ የ JSON ነገሮችን ወደ ትናንሽ ነገሮች እንዲቀይሩ ያስችልዎታል, ለውጦችን ለመከታተል የምንፈልጋቸው መለኪያዎች ብቻ ይቀራሉ.

መንጠቆ ሲጠራ, ሼል-ኦፕሬተር ያልፋል የነገር ውሂብለማንኛውም ፍላጎት ጥቅም ላይ ሊውል የሚችል.

መንጠቆዎችን የሚቀሰቅሱ ክስተቶች በ Kubernetes ክስተቶች ብቻ የተገደቡ አይደሉም፡ ሼል-ኦፕሬተር ድጋፍን ይሰጣል መንጠቆዎችን በጊዜ መጥራት (በተለምዷዊ መርሐግብር ውስጥ ከ crontab ጋር ተመሳሳይ ነው), እንዲሁም ልዩ ክስተት በጅምር ላይ. እነዚህ ሁሉ ክስተቶች ሊጣመሩ እና ለተመሳሳይ መንጠቆ ሊመደቡ ይችላሉ.

እና ሁለት ተጨማሪ የሼል-ኦፕሬተር ባህሪያት:

  1. ይሰራል አልተመሳሰልም።. የኩበርኔትስ ክስተት (እንደ እየተፈጠረ ያለ ነገር) ስለደረሰ፣ ሌሎች ክስተቶች (እንደ አንድ አይነት ነገር እየተሰረዘ ያሉ) በክላስተር ውስጥ ሊከሰቱ ይችሉ ነበር፣ እና መንጠቆዎች ለዚህ ጉዳይ መለያ ያስፈልጋቸዋል። መንጠቆው የተከናወነው በስህተት ከሆነ በነባሪነት ይሆናል። ድጋሚ ይደውሉ በተሳካ ሁኔታ እስኪጠናቀቅ ድረስ (ይህ ባህሪ ሊለወጥ ይችላል).
  2. ኤክስፖርት ያደርጋል መለኪያዎች ሼል-ኦፕሬተር እየሰራ መሆኑን ለመረዳት ለፕሮሜቲየስ ፣ ለእያንዳንዱ መንጠቆ እና አሁን ያለውን የወረፋ መጠን ይወቁ።

ይህንን የሪፖርቱን ክፍል ለማጠቃለል፡-

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

ተጨማሪዎችን በመጫን ላይ

ከኩበርኔትስ ጋር ለሚመች ስራ፣ add-ons የመጫን አስፈላጊነትም ተጠቅሷል። አሁን እንዴት እንደምናደርግ የኩባንያችን መንገድ ምሳሌ በመጠቀም ስለ እሱ እነግርዎታለሁ።

ከኩበርኔትስ ጋር ከበርካታ ዘለላዎች ጋር መስራት ጀመርን ፣ ብቸኛው ተጨማሪው Ingress ነው። በእያንዳንዱ ክላስተር ውስጥ በተለየ መንገድ መጫን ነበረበት፣ እና ለተለያዩ አካባቢዎች በርካታ የ YAML ውቅሮችን ሰርተናል፡- ባዶ ብረት፣ AWS...

ብዙ ዘለላዎች እንደነበሩ፣ ብዙ ውቅሮች ነበሩ። በተጨማሪም ፣ እነዚህን አወቃቀሮች እራሳችንን አሻሽለናል ፣ በዚህም ምክንያት በጣም የተለያዩ ሆኑ

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

ሁሉንም ነገር በቅደም ተከተል ለማስቀመጥ በስክሪፕት ጀመርን (install-ingress.shየምንሰማራበትን የክላስተር አይነት እንደ መከራከሪያ የወሰደው፣ አስፈላጊውን የ YAML ውቅር ፈጥሮ ወደ ኩበርኔትስ ዘረጋው።

ባጭሩ የኛ ቀጣይ መንገዳችን እና ከሱ ጋር የተያያዘው ምክንያት የሚከተለው ነበር።

  • ከ YAML አወቃቀሮች ጋር ለመስራት የአብነት ሞተር ያስፈልጋል (በመጀመሪያዎቹ ደረጃዎች ይህ ቀላል ሴድ ነው);
  • በክላስተር ብዛት መጨመር ፣የራስ-ሰር ማዘመን አስፈላጊነት መጣ (የመጀመሪያው መፍትሄ ስክሪፕቱን በጂት ውስጥ ማስገባት ፣ ክሮን በመጠቀም ማዘመን እና ማስኬድ);
  • ለፕሮሜቴየስ ተመሳሳይ ስክሪፕት ያስፈልጋልinstall-prometheus.shነገር ግን፣ ብዙ ተጨማሪ የግብአት ውሂብ፣ እንዲሁም ማከማቻቸው (በጥሩ መንገድ - የተማከለ እና በክላስተር) ስለሚፈልግ እና አንዳንድ መረጃዎች (የይለፍ ቃል) በራስ ሰር ሊመነጩ ስለሚችሉ ትኩረት የሚስብ ነው።

    Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

  • ቁጥራቸው ከጊዜ ወደ ጊዜ እየጨመረ ላሉ ስብስቦች የተሳሳተ ነገር የማውጣት አደጋ በየጊዜው እያደገ ነበር፣ ስለዚህ ጫኚዎች እንዳሉ ተገነዘብን። (ማለትም ሁለት ስክሪፕቶች፡ ለ Ingress እና Prometheus) ዝግጅት ያስፈልጋል (በርካታ ቅርንጫፎች በጊት ፣ በተዛማጅ ውስጥ እነሱን ለማዘመን ብዙ ክሮኖች: የተረጋጋ ወይም የሙከራ ስብስቦች);
  • с kubectl apply አብሮ መስራት አስቸጋሪ ሆኗል ምክንያቱም ገላጭ አይደለም እና እቃዎችን ብቻ መፍጠር ይችላል, ነገር ግን በሁኔታቸው ላይ ውሳኔ አይወስኑ / አይሰርዟቸው;
  • በዛን ጊዜ ያልተተገበርናቸው አንዳንድ ተግባራት ጠፍተውን ነበር፡-
    • በክላስተር ዝመናዎች ላይ ሙሉ ቁጥጥር ፣
    • ከክላስተር (ግኝት) ሊገኝ በሚችለው መረጃ ላይ በመመርኮዝ የአንዳንድ መለኪያዎች (የመጫኛ ስክሪፕቶች ግቤት) በራስ-ሰር መወሰን ፣
    • የእሱ ምክንያታዊ እድገት ቀጣይነት ባለው ግኝት መልክ.

ይህንን ሁሉ የተከማቸ ልምድ በሌላኛው ፕሮጄክታችን ማዕቀፍ ውስጥ ተግባራዊ አድርገናል - addon-operator.

አዶን-ኦፕሬተር

ቀደም ሲል በተጠቀሰው ሼል-ኦፕሬተር ላይ የተመሰረተ ነው. አጠቃላይ ስርዓቱ ይህንን ይመስላል።

የሚከተለው ወደ ሼል-ኦፕሬተር መንጠቆዎች ተጨምሯል-

  • እሴቶች ማከማቻ,
  • Helm ገበታ,
  • አካል መሆኑን የእሴቶችን ማከማቻ ይቆጣጠራል እና - ማንኛቸውም ለውጦች ካሉ - ቻርቱን እንደገና እንዲያንከባለል ሄልም ይጠይቃል።

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

ስለዚህ, በኩበርኔትስ ውስጥ ላለው ክስተት ምላሽ መስጠት እንችላለን, መንጠቆን እንጀምራለን, እና ከዚህ መንጠቆው በማከማቻው ላይ ለውጦችን ማድረግ እንችላለን, ከዚያ በኋላ ሰንጠረዡ እንደገና ይወርዳል. በውጤቱ ዲያግራም ውስጥ, መንጠቆቹን እና ሰንጠረዡን ወደ አንድ አካል እንለያለን, እኛ የምንጠራው ሞጁል:

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

ብዙ ሞጁሎች ሊኖሩ ይችላሉ, እና ለእነሱ አለምአቀፍ መንጠቆዎችን, ዓለም አቀፋዊ እሴት ማከማቻ እና ይህን ዓለም አቀፍ መደብር የሚቆጣጠር አካል እንጨምራለን.

አሁን፣ በኩበርኔትስ ውስጥ የሆነ ነገር ሲከሰት፣ አለምአቀፍ መንጠቆን ተጠቅመን ምላሽ ልንሰጥበት እና በአለምአቀፍ መደብር ውስጥ የሆነ ነገር መለወጥ እንችላለን። ይህ ለውጥ ይስተዋላል እና በክላስተር ውስጥ ያሉ ሁሉም ሞጁሎች እንዲለቀቁ ያደርጋል፡-

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

ይህ እቅድ ከላይ የተጠቀሱትን ተጨማሪዎች ለመጫን ሁሉንም መስፈርቶች ያሟላል፡-

  • ሄልም ለሞዴልነት እና ለመግለፅ ሀላፊነት አለበት።
  • የራስ-አዘምን ጉዳይ በአለምአቀፍ መንጠቆ ተፈትቷል፣ እሱም በጊዜ መርሐግብር ወደ መዝገቡ የሚሄድ እና፣ እዚያ አዲስ የስርዓት ምስል ካየ፣ ያንከባልልልናል (ማለትም “ራሱ”)።
  • በክላስተር ውስጥ ቅንብሮችን ማከማቸት የሚተገበረው በመጠቀም ነው። ConfigMap, ለማከማቻዎቹ ዋናውን መረጃ የያዘው (በጅማሬ ላይ ወደ ማከማቻዎች ይጫናሉ).
  • በይለፍ ቃል የማመንጨት፣የማግኘት እና ቀጣይነት ያለው የማግኘት ችግሮች መንጠቆዎችን በመጠቀም ተፈትተዋል።
  • Docker ከሳጥኑ ውጭ ለሚደግፉት ለመለያዎች ምስጋና ይግባው ማሳካት ተችሏል።
  • ውጤቱን ሁኔታውን ለመረዳት የምንችልባቸውን መለኪያዎች በመጠቀም ቁጥጥር ይደረግበታል።

ይህ አጠቃላይ ስርዓት በ Go ውስጥ በአንድ ባለ ሁለትዮሽ መልክ የተተገበረ ነው, እሱም አዶን-ኦፕሬተር ተብሎ ይጠራል. ይህ ሥዕላዊ መግለጫው ቀለል ያለ ያደርገዋል።

Kubernetes ማስፋፋት እና ማሟያ (የግምገማ እና የቪዲዮ ዘገባ)

በዚህ ንድፍ ውስጥ ያለው ዋናው አካል የሞጁሎች ስብስብ ነው (ከታች በግራጫ ተብራርቷል). አሁን ለሚያስፈልገው ማከያ ሞጁል በትንሽ ጥረት እንጽፋለን እና በእያንዳንዱ ክላስተር ውስጥ መጫኑን እርግጠኛ ይሁኑ ፣ ይሻሻላል እና በክላስተር ውስጥ ለሚያስፈልጉት ክስተቶች ምላሽ ይሰጣል ።

"Flant" ይጠቀማል addon-operator በ70+ Kubernetes ዘለላዎች ላይ። አሁን ያለበት ሁኔታ - የአልፋ ስሪት. አሁን ቤታውን ለመልቀቅ ሰነዶችን እያዘጋጀን ነው፣ አሁን ግን በማከማቻው ውስጥ ምሳሌዎች ይገኛሉ, በእሱ መሰረት የራስዎን አዶን መፍጠር ይችላሉ.

ለ addon-operator ሞጁሎችን የት ማግኘት እችላለሁ? ቤተ መፃህፍተኞቻችንን ማተም ለእኛ ቀጣዩ ደረጃ ነው፤ ይህንን በበጋ ለማድረግ አቅደናል።

ቪዲዮዎች እና ስላይዶች

ቪዲዮ ከአፈፃፀሙ (~ 50 ደቂቃዎች):

የዝግጅት አቀራረብን ሪፖርት ያድርጉ፡

PS

በእኛ ብሎግ ላይ ያሉ ሌሎች ዘገባዎች፡-

እንዲሁም የሚከተሉትን ህትመቶች ሊፈልጉ ይችላሉ፡

ምንጭ: hab.com

አስተያየት ያክሉ