የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

ማስታወሻ. ትርጉም፡- ከWeaveworks የተወሰደው ይህ የእግር ጉዞ በጣም ተወዳጅ የሆኑትን የመተግበሪያ ልቀት ስልቶችን እና በጣም የላቁ እንዴት በፍላገር ኩበርኔትስ ኦፕሬተር እንዴት መተግበር እንደሚችሉ ያስተዋውቃል። በቀላል ቋንቋ የተፃፈ ሲሆን ጀማሪ መሐንዲሶችም ጉዳዩን እንዲረዱ የሚያስችል የእይታ ሥዕላዊ መግለጫዎችን ይዟል።

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)
የተወሰደ ሥዕላዊ መግለጫ ሌላ ግምገማ በኮንቴይነር መፍትሄዎች ውስጥ የተሰሩ የመልቀቂያ ስልቶች

ዛሬ የደመና ቤተኛ አፕሊኬሽኖችን በማዘጋጀት ላይ ካሉት ትልቁ ፈተናዎች አንዱ የማሰማራት ፍጥነት ነው። በማይክሮ ሰርቪስ አቀራረብ፣ ገንቢዎች ቀድሞውኑ ሙሉ ለሙሉ ሞጁል አፕሊኬሽኖችን እየነደፉ ሲሆን ይህም የተለያዩ ቡድኖች ኮድ እንዲጽፉ እና በተመሳሳይ ጊዜ በመተግበሪያው ላይ ለውጦችን እንዲያደርጉ ያስችላቸዋል።

አጭር እና ብዙ ተደጋጋሚ ማሰማራት የሚከተሉት ጥቅሞች አሉት።

  • ለገበያ የሚሆን ጊዜ ቀንሷል።
  • አዲስ ባህሪያት ለተጠቃሚዎች በፍጥነት ያገኛሉ.
  • የተጠቃሚ ግብረመልስ ወደ ልማት ቡድኑ በፍጥነት ይደርሳል። ይህ ማለት ቡድኑ ባህሪያትን ማከል እና ችግሮችን በበለጠ ፍጥነት ማስተካከል ይችላል ማለት ነው።
  • የገንቢ ሞራል ከፍ ይላል፡ በልማት ውስጥ ያሉ ተጨማሪ ባህሪያት አብሮ መስራት የበለጠ አስደሳች ነው።


ነገር ግን የመልቀቂያ ድግግሞሽ እየጨመረ በሄደ ቁጥር የመተግበሪያ አስተማማኝነት ወይም የተጠቃሚ ተሞክሮ ላይ አሉታዊ ተጽእኖ የመፍጠር እድላቸው ይጨምራል። ለዚህም ነው ለኦፕሬሽኖች እና ለዴቭኦፕስ ቡድኖች ሂደቶችን መገንባት እና የምርት እና የተጠቃሚዎችን ስጋት በሚቀንስ መልኩ የማሰማራት ስልቶችን ማስተዳደር አስፈላጊ የሆነው። (የሲአይ/ሲዲ ቧንቧ መስመርን ስለማስተካከያ የበለጠ ለማወቅ፣ ይመልከቱ እዚህ.)

በዚህ ልኡክ ጽሁፍ ላይ የተለያዩ የኩበርኔትስ የማሰማራት ስልቶችን፣ የመንከባለል ማሰማራትን እና የበለጠ የላቁ ዘዴዎችን እንደ ካናሪ መልቀቅ እና ልዩነቶቻቸውን እንነጋገራለን።

የማሰማራት ስልቶች

እንደ ዓላማው ጥቅም ላይ ሊውሉ የሚችሉ በርካታ የተለያዩ የማሰማራት ስልቶች አሉ። ለምሳሌ፣ ለተጨማሪ ሙከራ በአንዳንድ አካባቢ ላይ ለውጦችን ማድረግ ወይም የተጠቃሚዎች/ደንበኞች ንዑስ ስብስብ ወይም ባህሪ ከማድረግዎ በፊት በተጠቃሚዎች ላይ የተገደበ ሙከራ ማድረግ ሊኖርብዎ ይችላል። የህዝብ.

ማሽከርከር (ቀስ በቀስ፣ የሚንከባለል ማሰማራት)

ይህ የኩበርኔትስ መደበኛ የማሰማራት ስልት ነው። ቀስ በቀስ, አንድ በአንድ, ፖድቹን በአሮጌው የመተግበሪያው ስሪት በፖዳዎች በአዲስ ስሪት ይተካዋል - ክላስተር ያለማቋረጥ.

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

ኩበርኔትስ አዲስ ፖድ ለመዘጋጀት ይጠብቃል (በመፈተሽ ዝግጁነት ሙከራዎች) አሮጌዎቹን ለመጠቅለል ከመቀጠልዎ በፊት. ችግር ከተፈጠረ፣ እንደዚህ ያለ የማሽከርከር ዝማኔ ሙሉውን ዘለላ ሳያስቆም ሊቋረጥ ይችላል። በማሰማራት አይነት YAML ፋይል ውስጥ አዲሱ ምስል የድሮውን ምስል ይተካዋል፡-

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: awesomeapp
    spec:
      containers:
        - name: awesomeapp
          image: imagerepo-user/awesomeapp:new
          ports:
            - containerPort: 8080

የመንከባለል ዝማኔ ግቤቶች በአንጸባራቂ ፋይል ውስጥ ሊገለጹ ይችላሉ፡-

spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
       maxSurge: 25%
       maxUnavailable: 25%  
  template:
  ...

እንደገና ፍጠር (እንደገና መፈጠር)

በዚህ በጣም ቀላል የማሰማራት አይነት፣ አሮጌ ፖድዎች በአንድ ጊዜ ይገደላሉ እና በአዲስ ይተካሉ፡

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

ተጓዳኝ አንጸባራቂው ይህን ይመስላል።

spec:
  replicas: 3
  strategy:
    type: Recreate
  template:
  ...

ሰማያዊ/አረንጓዴ (ሰማያዊ-አረንጓዴ ማሰማራት)

ሰማያዊ-አረንጓዴ የማሰማራት ስትራቴጂ (አንዳንድ ጊዜ ቀይ/ጥቁር ተብሎም ይጠራል፣ ማለትም ቀይ-ጥቁር) የመተግበሪያውን አሮጌ (አረንጓዴ) እና አዲስ (ሰማያዊ) ስሪቶችን በአንድ ጊዜ ማሰማራትን ያካትታል። ሁለቱም ስሪቶች አንዴ ከተስተናገዱ አረንጓዴው ለአጠቃላይ ተጠቃሚ ሲሆን ሰማያዊው ደግሞ ለ QA ቡድን በተለየ አገልግሎት ወይም በቀጥታ ወደብ በማስተላለፍ ሙከራዎችን በራስ ሰር ለማካሄድ ይገኛል።

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp-02
spec:
  template:
    metadata:
      labels:
        app: awesomeapp
        version: "02"

ሰማያዊው (አዲሱ) ስሪት ተፈትኖ ለመልቀቅ ከተፈቀደ በኋላ አገልግሎቱ ወደ እሱ ይቀየራል እና አረንጓዴው (አሮጌው) ይቀንሳል፡

apiVersion: v1
kind: Service
metadata:
  name: awesomeapp
spec:
  selector:
    app: awesomeapp
    version: "02"
...

ካናሪ (የካናሪ ማሰማራት)

የካናሪ ልቀቶች ከሰማያዊ-አረንጓዴ ጋር ተመሳሳይ ናቸው፣ ግን በተሻለ ቁጥጥር እና ጥቅም ላይ ይውላሉ ተራማጅ ደረጃ በደረጃ አቀራረብ. የተለያዩ ስልቶች በዚህ ምድብ ውስጥ ይወድቃሉ፣ በድብቅ ማስጀመር እና የA/B ሙከራን ጨምሮ።

ይህ ስልት ጥቅም ላይ የሚውለው አንዳንድ አዲስ ተግባራት መፈተሽ ሲያስፈልግ ነው፣ አብዛኛውን ጊዜ በመተግበሪያው ጀርባ። የአቀራረብ ዋናው ነገር ሁለት ተመሳሳይ አገልጋዮችን መፍጠር ነው-አንደኛው ሁሉንም ማለት ይቻላል ሁሉንም ተጠቃሚዎችን ያገለግላል ፣ ሌላኛው ደግሞ ከአዳዲስ ባህሪዎች ጋር ፣ አነስተኛ የተጠቃሚዎች ቡድን ብቻ ​​ያገለግላል ፣ ከዚያ በኋላ የሥራቸው ውጤት ይነፃፀራል። ሁሉም ነገር ያለ ስሕተት ከሄደ አዲሱ ስሪት ቀስ በቀስ ወደ መላው መሠረተ ልማት ተዘርግቷል።

ምንም እንኳን ይህ ስልት Kubernetes ን በመጠቀም የቆዩ ፖድዎችን በአዲስ መተካት ቢቻልም እንደ ኢስቲዮ ያለ የአገልግሎት መረብ መጠቀም የበለጠ ምቹ እና ቀላል ነው።

ለምሳሌ፣ ሁለት የተለያዩ የጂት መገለጫዎች ሊኖሩዎት ይችላሉ፡ መደበኛው 0.1.0 መለያ እና ካናሪ አንድ 0.2.0 መለያ ያለው። በ Istio Virtual Gateway መግለጫ ውስጥ ያሉትን ክብደቶች በመቀየር በእነዚህ ሁለት ማሰማራቶች መካከል ያለውን የትራፊክ ስርጭት መቆጣጠር ይችላሉ፡

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

ከኢስቲዮ ጋር የካናሪ ማሰማራትን ለመተግበር የደረጃ በደረጃ መመሪያ በ ውስጥ ይገኛል። GitOps የስራ ፍሰቶች ከኢስቲዮ ጋር. (ማስታወሻ. ትርጉምስለ ካናሪ ጥቅልሎች በኢስቲዮ ውስጥ ተርጉመናል። እዚህ.)

የካናሪ ማሰማራቶች በWeaveworks Flagger

Weaveworks ባንዲራ የካናሪ ሮሌቶችን ቀላል እና ቀልጣፋ ቁጥጥር ይፈቅዳል።

ባንዲራ ከነሱ ጋር አብሮ ይሰራል። ትራፊክን ለመምራት እና ለመቀየር Istio ወይም AWS App Meshን እና የፕሮሜቲየስ መለኪያዎችን ይጠቀማል። በተጨማሪም የካናሪ ማሰማራት ትንተና የመቀበያ ፈተናዎችን፣ የጭነት ሙከራዎችን እና ሌሎች የቼኮችን አይነቶችን ለማካሄድ በዌብ መንጠቆዎች ሊሟላ ይችላል።

የኩበርኔትስ ማሰማራትን መሰረት በማድረግ እና አስፈላጊ ከሆነም ስኬል-ውጭ ፖድስ (HPA) Flagger የነገሮችን ስብስቦችን ይፈጥራል (Kubernetes deployments፣ClusterIP services እና Istio or App Mesh ምናባዊ አገልግሎቶች) የካናሪ ማሰማራቶችን ለመተንተን፡-

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

የመቆጣጠሪያ ዑደትን በመተግበር ላይ (የቁጥጥር ዑደት)እንደ HTTP ጥያቄ ስኬት መጠን፣ አማካይ የጥያቄ ቆይታ እና የፖድ ጤና ያሉ ቁልፍ የአፈጻጸም መለኪያዎችን እየለካ ባንዲራ ቀስ በቀስ ትራፊክ ወደ ካናሪ አገልጋይ ይቀይራል። በ KPIs (የቁልፍ አፈጻጸም አመልካቾች) ትንተና ላይ በመመርኮዝ የካናሪው ክፍል ያድጋል ወይም ይቀንሳል, እና የትንታኔው ውጤት ለ Slack ታትሟል. የዚህን ሂደት መግለጫ እና ማሳያ በማቴሪያል ውስጥ ማግኘት ይቻላል ፕሮግረሲቭ መላኪያ ለመተግበሪያ ሜሽ.

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

ጨለማ (የተደበቀ) ወይም A/B ማሰማራት

ስውር ማሰማራት ሌላው የካናሪ ስትራቴጂ ልዩነት ነው (በነገራችን ላይ ፍላገር አብሮ መስራት ይችላል)። በድብቅ እና በካናሪ ማሰማራቶች መካከል ያለው ልዩነት ስውር ማሰማራቶች የፊት ለፊት ክፍልን እንጂ እንደ የካናሪ ማሰማራቶች የኋላ ኋላ አለመሆኑ ነው።

የእነዚህ ማሰማራቶች ሌላ ስም የኤ/ቢ ሙከራ ነው። ለሁሉም ተጠቃሚዎች አዲስ ባህሪ መዳረሻን ከመክፈት ይልቅ የሚቀርበው ለተወሰነ ክፍል ብቻ ነው። በተለምዶ እነዚህ ተጠቃሚዎች ፈር ቀዳጅ ሞካሪዎች መሆናቸውን አያውቁም (ስለዚህ "ዝምታ ማሰማራት" የሚለው ቃል)።

ከተግባር መቀየሪያዎች ጋር (የባህሪ መቀየሪያዎች) እና ሌሎች መሳሪያዎች፣ ተጠቃሚዎች ከአዲስ ባህሪ ጋር እንዴት እንደሚገናኙ፣ ለሱ ሱስ እንደያዙ ወይም አዲሱ የተጠቃሚ በይነገጽ ግራ የሚያጋባ ሆኖ ሲያገኙት እና ሌሎች የመለኪያ ዓይነቶችን መከታተል ይችላሉ።

የኩበርኔትስ የማሰማራት ስልቶች፡- ማንከባለል፣ እንደገና መፍጠር፣ ሰማያዊ/አረንጓዴ፣ ካናሪ፣ ጨለማ (A/B ሙከራ)

ባንዲራ እና ኤ/ቢ ማሰማራቶች

ከተመዘነ መስመር በተጨማሪ ባንዲራ በኤችቲቲፒ መለኪያዎች ላይ በመመስረት ትራፊክን ወደ ካናሪ አገልጋይ ማምራት ይችላል። የA/B ሙከራ የተወሰኑ የተጠቃሚዎችን ክፍል ለማዞር HTTP ራስጌዎችን ወይም ኩኪዎችን መጠቀም ይችላል። ይህ በተለይ ክፍለ ጊዜው ከአገልጋዩ ጋር እንዲታሰር በሚፈልጉ የፊት ለፊት አፕሊኬሽኖች ጉዳይ ላይ ውጤታማ ነው። (የክፍለ ጊዜ ዝምድና). ተጨማሪ መረጃ በሰንደቅ ዓላማ ሰነድ ውስጥ ይገኛል።

ደራሲው አመስጋኝ ነው። Stefan Prodanየ Weaveworks መሐንዲስ (እና የፍላገር ፈጣሪ)፣ ለእነዚህ ሁሉ አስደናቂ የማሰማራት እቅዶች።

PS ከተርጓሚ

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

ምንጭ: hab.com

አስተያየት ያክሉ