የጎግል 7 ኮንቴይነር ምርጥ ልምዶች

ማስታወሻ. ትርጉምየዋናው መጣጥፍ ደራሲ Théo Chamley ነው ጎግል ክላውድ ሶሉሽንስ አርክቴክት። በዚህ ለጉግል ክላውድ ብሎግ ልኡክ ጽሁፍ የኩባንያውን የበለጠ ዝርዝር መመሪያ ማጠቃለያ አቅርቧል፣"መያዣዎችን ለማስኬድ ምርጥ ልምዶች" በውስጡ፣ የGoogle ባለሙያዎች ጎግል ኩበርኔትስ ሞተሩን ከመጠቀም አንፃር ኮንቴይነሮችን ለመስራት እና ሌሎችንም በጣም ጥሩ ልምዶችን ሰብስበዋል፡ ከደህንነት እስከ ክትትል እና መግባት። ስለዚህ በ Google መሠረት በጣም አስፈላጊዎቹ የመያዣ ልምምዶች ምንድን ናቸው?

የጎግል 7 ኮንቴይነር ምርጥ ልምዶች

Kubernetes ሞተር (በኩበርኔትስ ላይ የተመሰረተ አገልግሎት በጉግል ክላውድ ላይ በመያዣ የተያዙ መተግበሪያዎችን ለማስኬድ - በግምት ትርጉም) መመዘን የሚያስፈልጋቸው የሥራ ጫናዎችን ለማስኬድ በጣም ጥሩ ከሆኑ መንገዶች አንዱ ነው። ኩባንያቶች አብዛኛዎቹ አፕሊኬሽኖች በኮንቴይነር ከተያዙ ለስላሳ ስራቸውን ያረጋግጣል። ነገር ግን ማመልከቻዎ ለማስተዳደር ቀላል እንዲሆን እና የኩበርኔትስን ሙሉ በሙሉ ለመጠቀም ከፈለጉ ምርጥ ልምዶችን መከተል አለብዎት። የመተግበሪያውን አሠራር, ክትትል እና ማረም ቀላል ያደርጉታል, እንዲሁም ደህንነትን ይጨምራሉ.

በዚህ ጽሑፍ ውስጥ ኮንቴይነሮችን በኩበርኔትስ ላይ ውጤታማ በሆነ መንገድ ለማስኬድ ማወቅ ያለብዎትን እና ማድረግ ያለብዎትን ዝርዝር ውስጥ እናልፋለን። ወደ ዝርዝር ጉዳዮች በጥልቀት መሄድ የሚፈልጉ ሰዎች ጽሑፉን ማንበብ አለባቸው መያዣዎችን ለማስኬድ ምርጥ ልምዶች, እና ደግሞ ለኛ ትኩረት ይስጡ ቀደም ልጥፍ መያዣዎችን ስለመገጣጠም.

1. አገር በቀል የመያዣ ምዝግብ ዘዴዎችን ተጠቀም

አፕሊኬሽኑ በ Kubernetes ክላስተር ላይ እየሰራ ከሆነ ለሎግ ብዙ አያስፈልግም። እርስዎ እየተጠቀሙበት ባለው ክላስተር ውስጥ የተማከለ የምዝግብ ማስታወሻ ስርዓት አስቀድሞ ተገንብቷል። የኩበርኔትስ ሞተርን በሚጠቀሙበት ጊዜ ይህ ተጠያቂ ነው። Stackdriver Logging. (ማስታወሻ. ትርጉም: እና የራስዎን የ Kubernetes ጭነት የሚጠቀሙ ከሆነ, የእኛን ክፍት ምንጭ መፍትሄ በቅርበት እንዲመለከቱ እንመክራለን - ሎግ ቤት.) ሕይወትዎን ቀላል ያድርጉት እና ቤተኛ የመያዣ ምዝግብ ማስታወሻዎችን ይጠቀሙ። ምዝግብ ማስታወሻዎችን ወደ stdout እና stderr ይፃፉ - በራስ-ሰር ይቀበላሉ ፣ ይቀመጣሉ እና ይጠቁማሉ።

ከተፈለገ መዝገቦችን መጻፍም ይችላሉ። json ቅርጸት. ይህ አካሄድ ለእነሱ ሜታዳታ ማከል ቀላል ያደርገዋል። እና ከነሱ ጋር፣ Stackdriver Logging ይህን ሜታዳታ በመጠቀም በምዝግብ ማስታወሻዎች የመፈለግ ችሎታ ይኖረዋል።

2. መያዣዎች ሀገር አልባ እና የማይለወጡ መሆናቸውን ያረጋግጡ

ኮንቴይነሮች በኩበርኔትስ ክላስተር ውስጥ በትክክል እንዲሰሩ፣ አገር አልባ እና የማይለወጡ መሆን አለባቸው። እነዚህ ሁኔታዎች ከተሟሉ በኋላ ኩበርኔትስ ሥራውን ማከናወን ይችላል, አስፈላጊ ሆኖ ሲገኝ እና የመተግበሪያ አካላትን መፍጠር እና ማጥፋት.

አገር አልባ ማለት ማንኛውም ግዛት (ከየትኛውም ዓይነት ቋሚ መረጃ) ከመያዣው ውጭ ይከማቻል. ለዚህም ፣ እንደ ፍላጎቶች ፣ የተለያዩ የውጭ ማከማቻ ዓይነቶችን መጠቀም ይቻላል- የደመና ማከማቻ, ቋሚ ዲስኮች, Redis, ደመና SQL ወይም ሌሎች የሚተዳደሩ የውሂብ ጎታዎች። (ማስታወሻ. ትርጉምስለዚህ ጉዳይ በእኛ ጽሑፋችን ውስጥ የበለጠ ያንብቡ ።ኦፕሬተሮች ለ Kubernetes: ሁኔታዊ መተግበሪያዎችን እንዴት ማሄድ እንደሚቻል".)

የማይተላለፍ ማለት መያዣው በህይወት ውስጥ አይቀየርም ማለት ነው: ምንም ማሻሻያዎች, ጥገናዎች, የውቅረት ለውጦች የሉም. የማመልከቻ ኮድዎን ማዘመን ወይም ፕላስተር መተግበር ከፈለጉ አዲስ ምስል ይፍጠሩ እና ያሰማሩት። የመያዣውን ውቅረት (የማዳመጥ ወደብ, የአሂድ አከባቢ አማራጮች, ወዘተ) በውጫዊ - ወደ ሚስጥር и ConfigMaps. አዲስ የመያዣ ምስል መገንባት ሳያስፈልጋቸው ማዘመን ይችላሉ። የቧንቧ መስመሮችን በምስል ስብስብ በቀላሉ ለመፍጠር, መጠቀም ይችላሉ የደመና ግንባታ. (ማስታወሻ. ትርጉምለእነዚህ አላማዎች ክፍት ምንጭ መሳሪያን እንጠቀማለን ዳፕ.)

የጎግል 7 ኮንቴይነር ምርጥ ልምዶች
ConfigMapን እንደ ውቅር በፖድ ውስጥ የተጫነን በመጠቀም በኩበርኔትስ ውስጥ የማሰማራት ውቅረትን የማዘመን ምሳሌ

3. ልዩ ልዩ መያዣዎችን ያስወግዱ

አፕሊኬሽኖችን እንደ ስርወ በአገልጋዮችህ ላይ አታሄድም አይደል? አንድ አጥቂ ወደ አፕሊኬሽኑ ከገባ ስርወ መዳረሻ ያገኛል። ልዩ የሆኑ መያዣዎችን ላለማስኬድ ተመሳሳይ ግምትዎች ተፈጻሚ ይሆናሉ። በአስተናጋጁ ላይ ቅንብሮችን መቀየር ከፈለጉ, መያዣውን የተወሰነ መስጠት ይችላሉ ችሎታዎች አማራጩን በመጠቀም securityContext በኩበርኔትስ ውስጥ. መለወጥ ካስፈለገዎት ሲስቲክልስ, Kubernetes አለው የተለየ ረቂቅ ለዚህ. በአጠቃላይ ምርጡን ለመጠቀም ይሞክሩ በ ዉስጥ- እና የጎን መኪና መያዣዎች ተመሳሳይ ልዩ ልዩ ስራዎችን ለማከናወን. ለውስጣዊም ሆነ ውጫዊ ትራፊክ ተደራሽ መሆን አያስፈልጋቸውም።

ዘለላ የሚያስተዳድሩ ከሆነ መጠቀም ይችላሉ። የፖድ ደህንነት ፖሊሲ ልዩ በሆኑ መያዣዎች አጠቃቀም ላይ ለሚደረጉ ገደቦች.

4. እንደ ስር ከመሮጥ ተቆጠብ

የተከበሩ ኮንቴይነሮች ቀደም ብለው ተብራርተዋል, ነገር ግን ከዚህ በተጨማሪ, በመያዣው ውስጥ እንደ ስር ያሉ ማመልከቻዎችን ካላደረጉ የበለጠ የተሻለ ይሆናል. አንድ አጥቂ ኮድ አፈጻጸምን በሚፈቅደው ስር መብቶች ባለው መተግበሪያ ውስጥ የርቀት ተጋላጭነትን ካገኘ፣ከዚያ በኋላ መያዣውን ገና ባልታወቀ ተጋላጭነት መልቀቅ ከቻለ በአስተናጋጁ ላይ ስር ይሰድባል።

ይህንን ለማስወገድ ከሁሉ የተሻለው መንገድ ምንም ነገር እንደ መጀመሪያውኑ እንዳይሰራ ማድረግ ነው. ይህንን ለማድረግ, መመሪያውን መጠቀም ይችላሉ USER в Dockerfile ወይም runAsUser በኩበርኔትስ ውስጥ. የክላስተር አስተዳዳሪው የማስፈጸሚያ ባህሪን በመጠቀም ማዋቀር ይችላል። የፖድ ደህንነት ፖሊሲ.

5. አፕሊኬሽኑን ለመቆጣጠር ቀላል ያድርጉት

ልክ እንደ ምዝግብ ማስታወሻ, ክትትል የመተግበሪያ አስተዳደር ዋና አካል ነው. በኩበርኔትስ ማህበረሰብ ውስጥ ታዋቂ የክትትል መፍትሄ ነው። ፕሮሚትየስ - ፓድ እና ክትትል የሚያስፈልጋቸው አገልግሎቶችን በራስ-ሰር የሚያገኝ ስርዓት። (ማስታወሻ. ትርጉም: ደግሞ የእኛን ይመልከቱ ዝርዝር ዘገባ Prometheus እና Kubernetes በመጠቀም የክትትል ርዕስ ላይ.) Stackdriver የኩበርኔትስ ስብስቦችን የመከታተል ችሎታ ያለው እና ለትግበራ ክትትል የራሱን የፕሮሜቲየስ ስሪት ያካትታል።

የጎግል 7 ኮንቴይነር ምርጥ ልምዶች
በ Stackdriver ላይ የኩበርኔትስ ዳሽቦርድ

Prometheus መተግበሪያው መለኪያዎችን ወደ HTTP የመጨረሻ ነጥብ እንዲያስተላልፍ ይጠብቃል። ለዚህ ይገኛል። የፕሮሜቴየስ ደንበኛ ቤተ-መጻሕፍት. ተመሳሳይ ቅርጸት እንደ ሌሎች መሳሪያዎች ጥቅም ላይ ይውላል ቆጠራ ክፈት и Istio.

6. የመተግበሪያውን የጤና ሁኔታ እንዲገኝ አድርግ

በምርት ውስጥ የመተግበሪያ አስተዳደር ግዛቱን ለጠቅላላው ስርዓት ለማስተላለፍ ባለው ችሎታ ይታገዛል። አፕሊኬሽኑ እየሰራ ነው? ደህና ነው? ትራፊክ ለመቀበል ዝግጁ ነዎት? ባህሪው እንዴት ነው? ይህንን ችግር ለመፍታት በጣም የተለመደው መንገድ የጤና ምርመራዎችን መተግበር ነው (የጤና ምርመራ). ኩበርኔትስ ሁለት ዓይነቶች አሉት ህያውነት እና ዝግጁነት ምርመራዎች.

ለሕያውነት ምርመራ (የህይወት ፍተሻዎች) አፕሊኬሽኑ የሚሰራ እና መሰረታዊ ጥገኞቹ ከተረኩ "200 እሺ" ምላሽ የሚመልስ የኤችቲቲፒ የመጨረሻ ነጥብ ሊኖረው ይገባል። ለዝግጁነት ምርመራ (የአገልግሎት ዝግጁነት ማረጋገጫዎች) አፕሊኬሽኑ ጤናማ በሆነ ሁኔታ ላይ ከሆነ፣ የማስጀመሪያው ሂደት ተጠናቅቋል እና ማንኛውም ትክክለኛ ጥያቄ ስህተት ካላስከተለ “200 እሺ” ምላሽ የሚሰጥ ሌላ የኤችቲቲፒ የመጨረሻ ነጥብ ሊኖረው ይገባል። ኩበርኔትስ ትራፊክ ወደ መያዣው የሚያመራው በእነዚህ ቼኮች መሰረት ማመልከቻው ዝግጁ ከሆነ ብቻ ነው። በህያውነት እና ዝግጁነት ግዛቶች መካከል ምንም ልዩነት ከሌለ ሁለት የመጨረሻ ነጥቦች ሊዋሃዱ ይችላሉ.

ስለዚህ ጉዳይ ከSandeep Dinesh, የገንቢ ተሟጋች ከ Google በተሰኘው ተዛማጅ መጣጥፍ ውስጥ የበለጠ ማንበብ ይችላሉ: "የኩበርኔትስ ምርጥ ልምዶች፡- የጤና ምርመራዎችን ዝግጁነት እና የአኗኗር መመርመሪያዎችን ማዘጋጀት».

7. የምስልዎን ስሪት በጥንቃቄ ይምረጡ

አብዛኛዎቹ ይፋዊ እና የግል ምስሎች በ ውስጥ ከተገለጸው ጋር ተመሳሳይ የሆነ የመለያ ስርዓት ይጠቀማሉ ኮንቴይነሮችን ለመገንባት ምርጥ ልምዶች. ምስሉ ቅርብ የሆነ ስርዓት ከተጠቀመ የትርጉም እትም, ልዩ መለያዎችን ግምት ውስጥ ማስገባት ያስፈልጋል. ለምሳሌ, መለያ latest ከምስል ወደ ምስል በተደጋጋሚ መንቀሳቀስ ይችላል - ሊገመቱ የሚችሉ እና ሊደገሙ የሚችሉ ግንባታዎች እና ጭነቶች ከፈለጉ ሊታመኑ አይችሉም።

መለያውን መጠቀም ይችላሉ። X.Y.Z (እነሱ ሁል ጊዜ አይለወጡም) ፣ ግን በዚህ ሁኔታ ፣ ሁሉንም የምስሉ ማሻሻያዎችን እና ዝመናዎችን ይከታተሉ። እየተጠቀሙበት ያለው ምስል መለያ ካለው X.Y, ይህ ለወርቃማው አማካኝ ጥሩ አማራጭ ነው. እሱን በመምረጥ ፣ በራስ-ሰር ጥገናዎችን ይቀበላሉ እና በተመሳሳይ ጊዜ በተረጋጋው የመተግበሪያው ስሪት ላይ ይተማመናሉ።

PS ከተርጓሚ

በብሎጋችን ላይ ያንብቡ፡-

ምንጭ: hab.com

አስተያየት ያክሉ