Postgres ማክሰኞ ቁጥር 5፡ “PostgreSQL እና Kubernetes። CI/ሲዲ አውቶማቲክን ሞክር"

Postgres ማክሰኞ ቁጥር 5፡ “PostgreSQL እና Kubernetes። CI/ሲዲ አውቶማቲክን ሞክር"

ባለፈው ዓመት መገባደጃ ላይ ሌላ የሩስያ PostgreSQL ማህበረሰብ የቀጥታ ስርጭት ተካሂዷል #RuPostgresበዚህ ወቅት ተባባሪ መስራች ኒኮላይ ሳሞክቫሎቭ ከፍላንት ቴክኒካል ዳይሬክተር ዲሚትሪ ስቶልያሮቭ ጋር ስለ DBMS በኩበርኔትስ አውድ ውስጥ ተናገሩ።

የዚህን ውይይት ዋና ክፍል ግልባጭ እያተምን ነው እና በ የማህበረሰብ YouTube ቻናል ሙሉ ቪዲዮ ተለጠፈ፡-

የውሂብ ጎታዎች እና Kubernetes

ኤን.ኤስዛሬ ስለ VACUUM እና Checkpoints አንነጋገርም። ስለ ኩበርኔትስ ማውራት እንፈልጋለን. የብዙ አመታት ልምድ እንዳለህ አውቃለሁ። ቪዲዮዎችህን ተመለከትኩ እና አንዳንዶቹን እንኳን በድጋሚ ተመለከትኳቸው... በቀጥታ ወደ ነጥቡ እንሂድ፡ ለምን በK8s ውስጥ Postgres ወይም MySQL?

ዲ.ኤስለዚህ ጥያቄ ትክክለኛ መልስ የለም እና ሊሆን አይችልም። በአጠቃላይ ግን ይህ ቀላልነት እና ምቾት ነው... አቅም ነው። ሁሉም ሰው የሚተዳደሩ አገልግሎቶችን ይፈልጋል።

ኤን.ኤስ: ወደ እንዴት RDSቤት ውስጥ ብቻ?

ዲ.ኤስ: አዎ: ልክ እንደ RDS, ልክ በማንኛውም ቦታ.

ኤን.ኤስ: "በየትኛውም ቦታ" ጥሩ ነጥብ ነው. በትልልቅ ኩባንያዎች ውስጥ ሁሉም ነገር በተለያዩ ቦታዎች ላይ ይገኛል. ለምን ትልቅ ኩባንያ ከሆነ, ዝግጁ የሆነ መፍትሄ አይወስዱም? ለምሳሌ, Nutanix የራሱ እድገቶች አሉት, ሌሎች ኩባንያዎች (VMware ...) ተመሳሳይ "RDS, በቤት ውስጥ ብቻ" አላቸው.

ዲ.ኤስ: ግን እየተነጋገርን ያለነው በተወሰኑ ሁኔታዎች ውስጥ ብቻ ስለሚሠራ የተለየ አተገባበር ነው. እና ስለ ኩበርኔትስ እየተነጋገርን ከሆነ ፣ ከዚያ በጣም ብዙ የተለያዩ መሠረተ ልማቶች አሉ (ይህም በ K8s ውስጥ ሊሆን ይችላል)። በመሰረቱ ይህ ለደመናው የኤፒአይዎች መስፈርት ነው...

ኤን.ኤስ: እንዲሁም ነፃ ነው!

ዲ.ኤስ: በጣም አስፈላጊ አይደለም. ለገቢያ በጣም ትልቅ ክፍል ሳይሆን ነፃነት አስፈላጊ ነው። ሌላ አስፈላጊ ነገር ነው... ምናልባት ሪፖርቱን ታስታውሱ ይሆናል "የውሂብ ጎታዎች እና Kubernetes"?

ኤን.ኤስ: አዎ.

ዲ.ኤስ: በጣም አሻሚ እንደሆነ ተገነዘብኩ. አንዳንድ ሰዎች “ወንዶች፣ ሁሉንም የውሂብ ጎታ ወደ ኩበርኔትስ እናስገባ!” እያልኩ መስሏቸው ነበር፣ ሌሎች ደግሞ እነዚህ ሁሉ አስፈሪ ብስክሌቶች እንደሆኑ ወሰኑ። ነገር ግን ፍጹም የተለየ ነገር ለማለት ፈልጌ ነበር፡- “ምን እየሆነ እንዳለ፣ ምን ችግሮች እንዳሉ እና እንዴት እንደሚፈቱ ተመልከት። አሁን የኩበርኔትስ የውሂብ ጎታዎችን መጠቀም አለብን? ማምረት? ደህና፣ ከፈለግክ ብቻ... አንዳንድ ነገሮችን ማድረግ። ግን ለዴቭ እኔ እመክራለሁ ማለት እችላለሁ። ለዴቭ አካባቢዎችን የመፍጠር/የመሰረዝ ተለዋዋጭነት በጣም አስፈላጊ ነው።

NS፡ በዴቭ፣ ፕሮድ ያልሆኑ ሁሉንም አካባቢዎች ማለትዎ ነውን? ዝግጅት፣ QA…

ዲ.ኤስስለ perf stands እየተነጋገርን ከሆነ ምናልባት ላይሆን ይችላል ፣ ምክንያቱም እዚያ ያሉት መስፈርቶች የተወሰኑ ናቸው። ስለ ልዩ ጉዳዮች እየተነጋገርን ከሆነ በጣም ትልቅ የመረጃ ቋት ለማሰናዳት የሚያስፈልግ ከሆነ ምናልባት ላይሆን ይችላል... ይህ የማይንቀሳቀስ፣ ረጅም ዕድሜ ያለው አካባቢ ከሆነ፣ ታዲያ የመረጃ ቋቱ በK8s ውስጥ መቀመጡ ጥቅሙ ምንድን ነው?

ኤን.ኤስ: የለም. ግን የማይለዋወጡ አካባቢዎችን የት ነው የምናየው? የማይንቀሳቀስ አካባቢ ነገ ጊዜ ያለፈበት ይሆናል።

ዲ.ኤስ: ዝግጅት የማይለዋወጥ ሊሆን ይችላል። ደንበኞች አሉን...

ኤን.ኤስ: አዎ፣ እኔም አለኝ። 10 ቲቢ ዳታቤዝ እና 200 ጂቢ ማስተናገጃ ካለህ ትልቅ ችግር ነው።

ዲ.ኤስ: በጣም ጥሩ መያዣ አለኝ! በማዘጋጀት ላይ ለውጦች የሚደረጉበት የምርት ዳታቤዝ አለ። እና አንድ አዝራር አለ: "ወደ ምርት ይንከባለል". እነዚህ ለውጦች - ዴልታዎች - በምርት ላይ ተጨምረዋል (በቀላሉ በኤፒአይ የተመሳሰሉ ይመስላል)። ይህ በጣም ያልተለመደ አማራጭ ነው.

ኤን.ኤስ: በሸለቆው ውስጥ በ RDS ውስጥ ተቀምጠው ወይም በሄሮኩ ውስጥ ያሉ ጀማሪዎችን አይቻለሁ - እነዚህ ከ2-3 ዓመታት በፊት የነበሩ ታሪኮች ናቸው - እና ቆሻሻውን ወደ ላፕቶፕ ያወርዳሉ። ምክንያቱም የውሂብ ጎታው አሁንም 80 ጂቢ ብቻ ነው, እና በላፕቶፑ ላይ ቦታ አለ. ከዚያም የተለያዩ እድገቶችን ለማከናወን 3 የውሂብ ጎታዎች እንዲኖራቸው ለሁሉም ሰው ተጨማሪ ዲስኮች ይገዛሉ. ይህ እንዲሁ ነው የሚሆነው። በተጨማሪም ፕሮድን ወደ መድረክ ለመቅዳት እንደማይፈሩ አየሁ - በኩባንያው ላይ በጣም የተመካ ነው። ግን ደግሞ በጣም እንደሚፈሩ እና ብዙ ጊዜ በቂ ጊዜ እና እጅ እንደሌላቸው አይቻለሁ። ወደዚህ ርዕስ ከመሄዳችን በፊት ግን ስለ ኩበርኔትስ መስማት እፈልጋለሁ። እስካሁን ማንም በምርጫ ውስጥ እንደሌለ በትክክል ተረድቻለሁ?

ዲ.ኤስ: በምርት ውስጥ አነስተኛ የውሂብ ጎታዎች አሉን. እየተነጋገርን ያለነው ስለ አስር ​​ጊጋባይት ጥራዞች እና ግልባጭ ለመስራት በጣም ሰነፍ ስለሆንን ወሳኝ ያልሆኑ አገልግሎቶች ነው (እና እንደዚህ አይነት ፍላጎት የለም)። እና በ Kubernetes ስር መደበኛ ማከማቻ ካለ። ይህ ዳታቤዝ በምናባዊ ማሽን ውስጥ ሰርቷል - ሁኔታዊ በሆነ ሁኔታ በ VMware ፣ በማከማቻ ስርዓቱ ላይ። አስገባነው PV እና አሁን ከማሽን ወደ ማሽን ማስተላለፍ እንችላለን.

ኤን.ኤስ: እስከ 100 ጂቢ የሚደርሱ የዚህ መጠን ዳታቤዝ በጥቂት ደቂቃዎች ውስጥ በጥሩ ዲስኮች እና በጥሩ አውታረመረብ ውስጥ ሊሰራጭ ይችላል ፣ አይደል? በሰከንድ 1 ጂቢ ፍጥነት አሁን እንግዳ አይደለም።

ዲ.ኤስአዎ፣ ለመስመር ስራ ይህ ችግር አይደለም።

ኤን.ኤስእሺ፣ ስለ ፕሮድ ብቻ ማሰብ አለብን። እና ኩበርኔትስ ፕሮድ ላልሆኑ አካባቢዎች እያሰብን ከሆነ ምን ማድረግ አለብን? በዛላንዶ አይቻለሁ ኦፕሬተር ያድርጉ, በ Crunchy ውስጥ መጋዝ, አንዳንድ ሌሎች አማራጮች አሉ. እና አለ ኦንግሬስ - ይህ የስፔን ጥሩ ጓደኛችን አልቫሮ ነው፡ የሚያደርጉት ነገር በመሠረቱ ብቻ አይደለም። ኦፕሬተርእና አጠቃላይ ስርጭት (StackGres) በዚህ ውስጥ፣ ከፖስትግሬስ እራሱ በተጨማሪ፣ እንዲሁም የመጠባበቂያ ቅጂ ለመሙላት ወሰኑ፣ የመልእክተኛው ተኪ...

ዲ.ኤስ: መልእክተኛ ለምን? በተለይ የ Postgres ትራፊክ ማመጣጠን?

ኤን.ኤስ: አዎ. ማለትም ፣ እንደ እነሱ ያዩታል-የሊኑክስ ስርጭት እና ከርነል ከወሰዱ ፣ ከዚያ መደበኛ PostgreSQL ከርነል ነው ፣ እና ለደመና ተስማሚ እና በ Kubernetes ላይ የሚሰራ ስርጭት ይፈልጋሉ። አካላትን (ምትኬዎችን, ወዘተ) አንድ ላይ ሰብስበው በደንብ እንዲሰሩ ያርሟቸዋል.

ዲ.ኤስ: በጣም አሪፍ! በመሠረቱ ይህ የራስዎን የሚተዳደር Postgres ለመፍጠር ሶፍትዌር ነው።

ኤን.ኤስየሊኑክስ ስርጭቶች ዘላለማዊ ችግሮች አሉባቸው፡ ሁሉም ሃርድዌር እንዲደገፍ ሾፌሮችን እንዴት እንደሚሰራ። እና በኩበርኔትስ ውስጥ እንደሚሰሩ ሀሳብ አላቸው. በዛላንዶ ኦፕሬተር ውስጥ በቅርቡ ከAWS ጋር ግንኙነት እንዳየን እና ይህ በጣም ጥሩ እንዳልሆነ አውቃለሁ። ከአንድ የተወሰነ መሠረተ ልማት ጋር መያያዝ የለበትም - ፋይዳው ምንድነው?

ዲ.ኤስዛላንዶ ምን ዓይነት ሁኔታ ውስጥ እንደገባ በትክክል አላውቅም, ነገር ግን በኩበርኔትስ ማከማቻ ውስጥ አሁን የተሰራው በአጠቃላይ ዘዴ በመጠቀም የዲስክ ምትኬን ለመውሰድ በማይቻል መንገድ ነው. በቅርብ ጊዜ በመደበኛ - በቅርብ ጊዜ ስሪት የ CSI ዝርዝሮች - ቅጽበተ-ፎቶዎችን አዘጋጅተናል፣ ግን የት ነው የሚተገበረው? እንደ እውነቱ ከሆነ, ሁሉም ነገር አሁንም ጥሬ ነው ... CSI በ AWS, GCE, Azure, vSphere ላይ እየሞከርን ነው, ነገር ግን ወዲያውኑ መጠቀም እንደጀመሩ, ገና ዝግጁ አለመሆኑን ማየት ይችላሉ.

ኤን.ኤስለዚህ ነው አንዳንድ ጊዜ በመሠረተ ልማት ላይ መታመን ያለብን. እኔ እንደማስበው ይህ ገና የመጀመሪያ ደረጃ ነው - የሚያድጉ ህመሞች። ጥያቄ፡ PgSQLን በK8s መሞከር ለሚፈልጉ አዲስ ጀማሪዎች ምን ምክር ይሰጣሉ? ምን ኦፕሬተር ሊሆን ይችላል?

ዲ.ኤስችግሩ ፖስትግሬስ ለእኛ 3% ነው። በተጨማሪም በኩበርኔትስ ውስጥ በጣም ትልቅ የሆነ የተለያዩ ሶፍትዌሮች አሉን, ሁሉንም ነገር እንኳን አልዘረዝርም. ለምሳሌ፣ Elasticsearch። ብዙ ኦፕሬተሮች አሉ-አንዳንዶቹ በንቃት እያደጉ ናቸው, ሌሎች ግን አይደሉም. እኛ ለራሳችን መስፈርቶችን አዘጋጅተናል ፣ በቁም ነገር እንድንወስድ በኦፕሬተሩ ውስጥ ምን መሆን እንዳለበት ። በአንድ ኦፕሬተር ውስጥ በተለይ ለኩበርኔትስ - “በአማዞን ሁኔታዎች ውስጥ አንድ ነገር ለማድረግ ኦፕሬተር” ውስጥ አይደለም… በእውነቱ እኛ በሰፊው (= ሁሉም ደንበኞች ማለት ይቻላል) አንድ ኦፕሬተር እንጠቀማለን - ለሬዲስ (ስለ እሱ በቅርቡ አንድ ጽሑፍ እናወጣለን).

ኤን.ኤስለ MySQL ደግሞ አይደለም? ፐርኮና... አሁን በ MySQL፣ MongoDB እና Postgres ላይ እየሰሩ ስለሆኑ አንድ አይነት ሁለንተናዊ መፍትሄ መፍጠር አለባቸው፡ ለሁሉም የውሂብ ጎታዎች፣ ለሁሉም የደመና አቅራቢዎች።

ዲ.ኤስለ MySQL ኦፕሬተሮችን ለመመልከት ጊዜ አልነበረንም. አሁን ዋናው ትኩረታችን ይህ አይደለም። MySQL በተናጥል በደንብ ይሰራል። ዳታቤዝ መክፈት ከቻሉ ለምን ኦፕሬተርን ተጠቀሙ... ዶከር ኮንቴይነር በፖስትጅስ ማስጀመር ይችላሉ ወይም በቀላል መንገድ ማስጀመር ይችላሉ።

ኤን.ኤስ: በዚህ ላይም ጥያቄ ነበር። ምንም ኦፕሬተር የለም?

ዲ.ኤስ: አዎ፣ 100% ከእኛ መካከል PostgreSQL ያለ ኦፕሬተር እየሰራን ነው። እስካሁን ድረስ. ኦፕሬተሩን ለፕሮሜቲየስ እና ሬዲስ በንቃት እንጠቀማለን። ለ Elasticsearch ኦፕሬተርን ለማግኘት እቅድ አለን - እሱ በጣም “በእሳት ላይ” ነው ፣ ምክንያቱም በ 100% ጉዳዮች Kubernetes ውስጥ መጫን እንፈልጋለን። MongoDB ሁልጊዜም በኩበርኔትስ መጫኑን ማረጋገጥ እንደምንፈልግ ሁሉ። እዚህ አንዳንድ ምኞቶች ይታያሉ - በእነዚህ አጋጣሚዎች አንድ ነገር ማድረግ እንደሚቻል ስሜት አለ. እና ፖስትግሬስን እንኳን አልተመለከትንም. እርግጥ ነው, የተለያዩ አማራጮች እንዳሉ እናውቃለን, ግን በእውነቱ እኛ ብቻውን አለን.

DB ለሙከራ Kubernetes

ኤን.ኤስወደ ፈተና ርዕስ እንሂድ። በመረጃ ቋቱ ላይ ለውጦችን እንዴት መልቀቅ እንደሚቻል - ከDevOps እይታ። ማይክሮ ሰርቪስ፣ ብዙ የውሂብ ጎታዎች አሉ፣ የሆነ ነገር በየጊዜው እየተለወጠ ነው። ከዲቢኤምኤስ እይታ ሁሉም ነገር በሥርዓት እንዲሆን መደበኛ ሲአይ/ሲዲ እንዴት ማረጋገጥ እንደሚቻል። የእርስዎ አቀራረብ ምንድን ነው?

ዲ.ኤስ: አንድ መልስ ሊኖር አይችልም. በርካታ አማራጮች አሉ። የመጀመሪያው የምንጠቀልለው የመሠረቱ መጠን ነው። እርስዎ እራስዎ ኩባንያዎች በዴቭ እና መድረክ ላይ የፕሮድ ዳታቤዝ ቅጂ እንዲኖራቸው የተለያየ አመለካከት እንዳላቸው ጠቅሰዋል።

ኤን.ኤስ: እና በ GDPR ሁኔታዎች ውስጥ, የበለጠ እና የበለጠ ጥንቃቄ የሚያደርጉ ይመስለኛል ... በአውሮፓ ውስጥ የገንዘብ ቅጣት መጣል እንደጀመሩ መናገር እችላለሁ.

ዲ.ኤስነገር ግን ብዙ ጊዜ ከምርት ላይ ቆሻሻ የሚወስድ እና የሚያደበዝዝ ሶፍትዌር መጻፍ ትችላለህ። የምርት መረጃ ተገኝቷል (ቅጽበተ ፎቶ፣ መጣል፣ ሁለትዮሽ ቅጂ...)፣ ግን ማንነቱ አልተገለጸም። በምትኩ፣ የትውልድ ስክሪፕቶች ሊኖሩ ይችላሉ፡ እነዚህ ቋሚዎች ወይም ትልቅ ዳታቤዝ የሚያመነጭ ስክሪፕት ብቻ ሊሆኑ ይችላሉ። ችግሩ: የመሠረት ምስል ለመፍጠር ምን ያህል ጊዜ ይወስዳል? እና በተፈለገው አካባቢ ውስጥ ለማሰማራት ምን ያህል ጊዜ ይወስዳል?

ወደ አንድ እቅድ ደርሰናል-ደንበኛው ቋሚ የውሂብ ስብስብ (አነስተኛ የውሂብ ጎታ ስሪት) ካለው, በነባሪነት እንጠቀማለን. ስለ ግምገማ አከባቢዎች እየተነጋገርን ከሆነ ፣ ቅርንጫፍ ስንፈጥር ፣ የመተግበሪያውን ምሳሌ አሰማርተናል - እዚያ ትንሽ የውሂብ ጎታ እንዘረጋለን። ግን ጥሩ ሆኖ ተገኘ አማራጭበቀን አንድ ጊዜ (በሌሊት) ከምርት ላይ ቆሻሻ ወስደን የዶከር ኮንቴይነር ከ PostgreSQL እና MySQL ጋር በዚህ የተጫነ መረጃ መሰረት ስንገነባ። የውሂብ ጎታውን ከዚህ ምስል 50 ጊዜ ማስፋት ከፈለጉ ይህ በጣም ቀላል እና በፍጥነት ይከናወናል.

ኤን.ኤስበቀላል ቅጂ?

ዲ.ኤስመረጃ በ Docker ምስል ውስጥ በቀጥታ ተከማችቷል. እነዚያ። 100 ጂቢ ቢሆንም ዝግጁ የሆነ ምስል አለን። በ Docker ውስጥ ላሉት ንብርብሮች ምስጋና ይግባውና ይህን ምስል የምንፈልገውን ያህል ጊዜ በፍጥነት ማሰማራት እንችላለን። ዘዴው ደደብ ነው, ግን በደንብ ይሰራል.

ኤን.ኤስ: ከዚያ፣ ሲሞክሩ፣ ልክ በዶከር ውስጥ ይቀየራል፣ አይደል? በዶከር ውስጥ ይቅዱ - ይጣሉት እና እንደገና ይሂዱ ፣ ሁሉም ነገር ደህና ነው። ክፍል! እና ቀድሞውኑ ሙሉ በሙሉ እየተጠቀሙበት ነው?

ዲ.ኤስ: ለረጅም ግዜ.

ኤን.ኤስ: በጣም ተመሳሳይ ነገሮችን እናደርጋለን. እኛ ብቻ የዶከርን ቅጂ-በመፃፍ አንጠቀምም ፣ ግን ሌላ።

ዲ.ኤስ: አጠቃላይ አይደለም. እና ዶከር በሁሉም ቦታ ይሰራል።

ኤን.ኤስ: በንድፈ ሀሳብ, አዎ. ግን እዚያም ሞጁሎች አሉን, የተለያዩ ሞጁሎችን መስራት እና ከተለያዩ የፋይል ስርዓቶች ጋር መስራት ይችላሉ. እዚህ ምን ያህል ጊዜ ነው. ከፖስትግሬስ ጎን, ይህንን ሁሉ በተለየ መንገድ እንመለከታለን. አሁን ከዶከር ጎን ተመለከትኩ እና ሁሉም ነገር ለእርስዎ እንደሚሰራ አየሁ። ነገር ግን የመረጃ ቋቱ በጣም ትልቅ ከሆነ ለምሳሌ 1 ቲቢ, ይህ ሁሉ ረጅም ጊዜ ይወስዳል: በምሽት ስራዎች እና ሁሉንም ነገር ወደ ዶከር መሙላት ... እና 5 ቲቢ በዶከር ውስጥ ከተሞላ ... ወይም ሁሉም ነገር ደህና ነው?

ዲ.ኤስልዩነቱ ምንድን ነው፡ እነዚህ ብሎብስ፣ ቢት እና ባይት ብቻ ናቸው።

ኤን.ኤስልዩነቱ ይህ ነው፡ በመጣል እና በመልሶ ማቋቋም ነው የሚሰሩት?

ዲ.ኤስ: በፍጹም አያስፈልግም. ይህንን ምስል የማመንጨት ዘዴዎች የተለያዩ ሊሆኑ ይችላሉ.

ኤን.ኤስለአንዳንድ ደንበኞች በመደበኛነት የመሠረት ምስል ከማመንጨት ይልቅ በየጊዜው ወቅታዊ እንዲሆን አድርገነዋል። እሱ በመሠረቱ ቅጂ ነው ፣ ግን መረጃን የሚቀበለው በቀጥታ ከመምህሩ አይደለም ፣ ግን በማህደር በኩል። WAL ዎች በየቀኑ የሚወርዱበት፣ ምትኬ የሚወሰድበት የሁለትዮሽ ማህደር... እነዚህ WALዎች በትንሽ መዘግየት (በትክክል ከ1-2 ሰከንድ) ወደ መሰረታዊ ምስል ይደርሳሉ። በማንኛውም መንገድ ከእሱ እንዘጋለን - አሁን በነባሪ ZFS አለን።

ዲ.ኤስነገር ግን ከ ZFS ጋር በአንድ መስቀለኛ መንገድ ተወስነዋል።

ኤን.ኤስ: አዎ. ነገር ግን ZFS አስማታዊም አለው። ላክበእሱ አማካኝነት ቅጽበታዊ ገጽ እይታ መላክ ይችላሉ እና (ይህንን እስካሁን አልሞከርኩትም ፣ ግን ...) በሁለት መካከል ዴልታ መላክ ይችላሉ ። PGDATA. እንደ እውነቱ ከሆነ, ለእንደዚህ አይነት ስራዎች በትክክል ያላሰብነው ሌላ መሳሪያ አለን. PostgreSQL አለው። ፒጂ_መመለስ, ልክ እንደ "ስማርት" rsync ይሰራል, ብዙ ማየት የሌለብዎትን ነገር በመዝለል, ምክንያቱም እዚያ ምንም አልተለወጠም. በሁለቱ አገልጋዮች መካከል ፈጣን ማመሳሰል እና በተመሳሳይ መንገድ ወደ ኋላ መመለስ እንችላለን።

ስለዚህ ፣ ከዚህ ፣ የበለጠ የ DBA ጎን ፣ እርስዎ የተናገሩትን ተመሳሳይ ነገር ለማድረግ የሚያስችል መሳሪያ ለመፍጠር እየሞከርን ነው-አንድ የውሂብ ጎታ አለን ፣ ግን የሆነ ነገር 50 ጊዜ መሞከር እንፈልጋለን ፣ በተመሳሳይ ጊዜ ማለት ይቻላል ።

ዲ.ኤስ: 50 ጊዜ ማለት 50 ስፖት አጋጣሚዎችን ማዘዝ ያስፈልግዎታል ማለት ነው.

ኤን.ኤስ: አይ, ሁሉንም ነገር በአንድ ማሽን ላይ እናደርጋለን.

ዲ.ኤስነገር ግን ይህ አንድ የውሂብ ጎታ ቴራባይት ከሆነ እንዴት 50 ጊዜ ታሰፋለህ? ምናልባት እሷ ሁኔታዊ 256 ጊባ ራም ያስፈልጋታል?

ኤን.ኤስ: አዎ, አንዳንድ ጊዜ ብዙ ማህደረ ትውስታ ያስፈልግዎታል - ይህ የተለመደ ነው. ግን ይህ የህይወት ምሳሌ ነው። የማምረቻ ማሽኑ 96 ኮር እና 600 ጂቢ አለው. በተመሳሳይ ጊዜ 32 ኮሮች (አሁን 16 ኮሮች እንኳን አንዳንድ ጊዜ) እና 100-120 ጂቢ ማህደረ ትውስታ ለዳታቤዝ ጥቅም ላይ ይውላሉ።

ዲ.ኤስ: እና 50 ቅጂዎች እዚያ ውስጥ ይገባሉ?

ኤን.ኤስ: ስለዚህ አንድ ቅጂ ብቻ አለ, ከዚያም ኮፒ-ላይ-ጻፍ (ZFS) ይሰራል ... የበለጠ በዝርዝር እነግርዎታለሁ.

ለምሳሌ 10 ቲቢ ዳታቤዝ አለን። ለእሱ ዲስክ ሠርተዋል ፣ ZFS እንዲሁ መጠኑን በ 30-40 በመቶ ጨመቀ። የጭነት ሙከራን ስለማንሠራ ትክክለኛው የምላሽ ጊዜ ለእኛ አስፈላጊ አይደለም: እስከ 2 ጊዜ ያህል ቀርፋፋ ይሁን - ምንም አይደለም.

ለፕሮግራም አውጪዎች፣ QA፣ DBA፣ ወዘተ ዕድሉን እንሰጣለን። በ1-2 ክሮች ውስጥ ሙከራን ያከናውኑ. ለምሳሌ፣ አንድ ዓይነት ፍልሰትን ሊያካሂዱ ይችላሉ። በአንድ ጊዜ 10 ኮርሶች አያስፈልግም - 1 Postgres backend, 1 ኮር ያስፈልገዋል. ስደት ይጀምራል - ምናልባት አውቶቫክዩም አሁንም ይጀምራል, ከዚያም ሁለተኛው ኮር ጥቅም ላይ ይውላል. እኛ 16-32 ኮሮች ተመድበናል, ስለዚህ 10 ሰዎች በተመሳሳይ ጊዜ ሊሠሩ ይችላሉ, ምንም ችግር የለም.

ምክንያቱም በአካል PGDATA ልክ እንደ እኛ ፖስትግሬስን እያታለልን ነው። ዘዴው ይሄ ነው፡ ለምሳሌ፡ 10 Postgres በአንድ ጊዜ ተጀምረዋል። ብዙውን ጊዜ ችግሩ ምንድን ነው? አስቀምጠዋል የተጋሩ_ማቋቋሚያዎች25% እንበል። በዚህ መሠረት ይህ 200 ጂቢ ነው. ከእነዚህ ውስጥ ከሶስት በላይ ማስጀመር አይችሉም, ምክንያቱም ማህደረ ትውስታው ያበቃል.

ግን በሆነ ወቅት ይህ አስፈላጊ እንዳልሆነ ተገነዘብን፡ የተጋሩ_ማቋቋሚያዎችን ወደ 2 ጂቢ አዘጋጅተናል። PostgreSQL አለው። ውጤታማ_መሸጎጫ_መጠን, እና በእውነቱ ላይ ተጽዕኖ የሚያሳድረው እሱ ብቻ ነው ዕቅዶች. ወደ 0,5 ቴባ አዘጋጅተናል. እና እነሱ በትክክል አለመኖራቸው እንኳን ምንም አይደለም: እሱ እንዳሉ እቅዶችን ያዘጋጃል.

በዚህ መሠረት አንድ ዓይነት ፍልሰትን ስንፈትሽ ሁሉንም እቅዶች መሰብሰብ እንችላለን - በምርት ውስጥ እንዴት እንደሚከሰት እንመለከታለን. እዚያ ያሉት ሴኮንዶች የተለያዩ (ቀስ ያሉ) ይሆናሉ፣ ነገር ግን በትክክል የምናነበው ውሂብ እና እቅዶቹ እራሳቸው (ምን JOINs አሉ ፣ ወዘተ) በምርት ውስጥ ካለው ጋር ተመሳሳይ ይሆናሉ። እና ብዙ እንደዚህ ያሉ ቼኮችን በአንድ ማሽን ላይ በትይዩ ማካሄድ ይችላሉ።

ዲ.ኤስእዚህ ጥቂት ችግሮች ያሉ አይመስላችሁም? የመጀመሪያው በ PostgreSQL ላይ ብቻ የሚሰራ መፍትሄ ነው. ይህ አቀራረብ በጣም ግላዊ ነው, አጠቃላይ አይደለም. ሁለተኛው ኩበርኔትስ (እና የደመና ቴክኖሎጂዎች አሁን የሚሄዱት ሁሉም ነገር) ብዙ አንጓዎችን ያካትታል, እና እነዚህ አንጓዎች ጊዜያዊ ናቸው. እና በእርስዎ ጉዳይ ላይ እሱ የግዛት ፣ የማያቋርጥ መስቀለኛ መንገድ ነው። እነዚህ ነገሮች እንድጋጭ ያደርጉኛል።

ኤን.ኤስበመጀመሪያ ፣ እስማማለሁ ፣ ይህ የፖስትግሬስ ታሪክ ብቻ ነው። እኔ እንደማስበው አንድ ዓይነት ቀጥተኛ አይኦ እና ለሁሉም ማህደረ ትውስታ ማጠራቀሚያ ገንዳ ካለን ይህ አካሄድ አይሰራም - እቅዶቹ የተለየ ይሆናሉ። ግን አሁን የምንሰራው ከፖስትግሬስ ጋር ብቻ ነው, ስለሌሎች አናስብም.

ስለ ኩበርኔትስ። እርስዎ እራስዎ ቋሚ የውሂብ ጎታ እንዳለን በሁሉም ቦታ ይነግሩናል። ምሳሌው ካልተሳካ, ዋናው ነገር ዲስኩን ማስቀመጥ ነው. እዚህ በተጨማሪ በኩበርኔትስ ውስጥ ሙሉውን መድረክ አለን, እና ከ Postgres ጋር ያለው አካል የተለየ ነው (ምንም እንኳን አንድ ቀን እዚያ ይኖራል). ስለዚህ ፣ ሁሉም ነገር እንደዚህ ነው-ምሳሌው ወድቋል ፣ ግን ፒቪውን አድነን እና ምንም ነገር እንዳልተከሰተ በቀላሉ ከሌላ (አዲስ) ምሳሌ ጋር አገናኘነው።

ዲ.ኤስ: በእኔ እይታ በኩበርኔትስ ውስጥ ፖድዎችን እንፈጥራለን. K8s - ላስቲክ፡ እንደ አስፈላጊነቱ ቋጠሮዎች ይታዘዛሉ። ስራው በቀላሉ ፖድ መፍጠር እና የ X መጠን ሀብት ያስፈልገዋል ማለት ነው, እና ከዚያ K8s በራሱ ይገነዘባል. ነገር ግን በኩበርኔትስ ውስጥ ያለው የማከማቻ ድጋፍ አሁንም ያልተረጋጋ ነው፡- 1.16, በ ውስጥ 1.17 (ይህ መለቀቅ ተለቋል ኔቸር በፊት) እነዚህ ባህሪያት ቤታ ብቻ ይሆናሉ።

ከስድስት ወር እስከ አንድ አመት ያልፋል - ብዙ ወይም ያነሰ የተረጋጋ ይሆናል, ወይም ቢያንስ እንደዚያ ይገለጻል. ከዚያ ቅጽበተ-ፎቶዎችን እና መጠኑን የመቀየር እድሉ ችግርዎን ሙሉ በሙሉ ይፈታል። መሰረት ስላለህ። አዎ, በጣም ፈጣን ላይሆን ይችላል, ነገር ግን ፍጥነቱ "በመከለያው ስር" ላይ ባለው ላይ የተመሰረተ ነው, ምክንያቱም አንዳንድ አተገባበር በዲስክ ንዑስ ስርዓት ደረጃ መገልበጥ እና መፃፍ ይችላሉ.

ኤን.ኤስይህንን ስሪት መደገፍ ለመጀመር ለሁሉም ሞተሮች (አማዞን ፣ ጎግል ...) አስፈላጊ ነው - ይህ እንዲሁ የተወሰነ ጊዜ ይወስዳል።

ዲ.ኤስእስካሁን አንጠቀምባቸውም። የኛን እንጠቀማለን።

የአካባቢ ልማት ለ Kubernetes

ኤን.ኤስበአንድ ማሽን ላይ ሁሉንም ፖድ መጫን እና ትንሽ ሙከራ ማድረግ ሲያስፈልግ እንደዚህ አይነት ምኞት አጋጥሞህ ያውቃል? የፅንሰ-ሀሳብ ማረጋገጫን በፍጥነት ለማግኘት፣ ብዙ ማሽኖችን ሳይወስኑ መተግበሪያው በኩበርኔትስ ውስጥ እንደሚሰራ ይመልከቱ። ሚኒኩቤ አለ አይደል?

ዲ.ኤስ: ለእኔ ይህ ጉዳይ - በአንድ መስቀለኛ መንገድ ላይ የተዘረጋው - ስለ አካባቢያዊ ልማት ብቻ ይመስላል. ወይም የእንደዚህ አይነት ጥለት አንዳንድ መገለጫዎች። ብላ ሚኒኩቤ, አለ k3 ሴ, KIND. እኛ Kubernetes IN Dockerን ለመጠቀም እየተንቀሳቀስን ነው። አሁን ከእሱ ጋር ለሙከራዎች መስራት ጀመርን.

ኤን.ኤስ: ይህ ሁሉንም ፖድ በአንድ ዶከር ምስል ለመጠቅለል የተደረገ ሙከራ ነው ብዬ አስብ ነበር። ነገር ግን ይህ ስለ ሙሉ ለሙሉ የተለየ ነገር መሆኑ ተገለጠ። ለማንኛውም, የተለየ ኮንቴይነሮች አሉ, የተለየ ፖድ - ልክ በዶከር ውስጥ.

ዲ.ኤስ: አዎ. እና በጣም አስቂኝ አስመስሎ የተሰራ ነው ፣ ግን ትርጉሙ ይህ ነው… ለማሰማራት መገልገያ አለን - werf. ሁኔታዊ ሁነታ ልናደርገው እንፈልጋለን werf up"የአካባቢው ኩበርኔትስ አምጡልኝ።" እና ከዚያ ሁኔታውን እዚያ ያሂዱ werf follow. ከዚያ ገንቢው IDE ን ማስተካከል ይችላል, እና በስርዓቱ ውስጥ ለውጦቹን የሚያይ እና ምስሎቹን የሚገነባ ሂደት ይጀመራል, ወደ አካባቢያዊ K8s እንደገና ይሰራጫል. የአካባቢ ልማትን ችግር ለመፍታት መሞከር የምንፈልገው በዚህ መንገድ ነው።

ቅጽበተ-ፎቶዎች እና የውሂብ ጎታ ክሎኒንግ በK8s እውነታ

ኤን.ኤስወደ ኮፒ-ላይ-ጻፍ ከተመለስን. ደመናዎቹም ቅጽበተ-ፎቶዎች እንዳላቸው አስተዋልኩ። በተለየ መንገድ ይሠራሉ. ለምሳሌ በጂሲፒ ውስጥ፡ በዩናይትድ ስቴትስ ምስራቃዊ የባህር ዳርቻ ላይ ባለ ብዙ ቴራባይት ምሳሌ አለዎት። ቅጽበተ-ፎቶዎችን በየጊዜው ያነሳሉ። በምእራብ የባህር ዳርቻ ላይ ያለውን የዲስክ ቅጂ ከቅጽበታዊ ገጽ እይታ አንስተሃል - በጥቂት ደቂቃዎች ውስጥ ሁሉም ነገር ዝግጁ ነው ፣ በጣም በፍጥነት ይሰራል ፣ መሸጎጫውን ብቻ በማህደረ ትውስታ መሙላት አለበት። ግን እነዚህ ክሎኖች (ቅጽበተ-ፎቶዎች) አዲስ ጥራዝ ለማቅረብ ናቸው። ብዙ ምሳሌዎችን መፍጠር ሲፈልጉ ይህ ጥሩ ነው።

ነገር ግን ለሙከራ ያህል፣ እርስዎ በዶከር ውስጥ የሚያወሩት ወይም እኔ በ ZFS፣ btrfs እና LVM ውስጥ የምናወራው ቅጽበተ-ፎቶዎች ይመስሉኛል... - በአንድ ማሽን ላይ በእውነት አዲስ መረጃ እንዳይፈጥሩ ያስችሉዎታል። በደመናው ውስጥ, አሁንም ለእነሱ በእያንዳንዱ ጊዜ ይከፍላሉ እና ሰከንዶች ሳይሆን ደቂቃዎችን ይጠብቃሉ (እና በጉዳዩ ውስጥ ሰነፍ ጭነት፣ ምናልባት ሰዓት)።

በምትኩ፣ ይህን ውሂብ በአንድ ወይም በሁለት ሰከንድ ውስጥ ማግኘት፣ ፈተናውን አሂድ እና መጣል ትችላለህ። እነዚህ ቅጽበተ-ፎቶዎች የተለያዩ ችግሮችን ይፈታሉ. በመጀመሪያው ሁኔታ - ከፍ ለማድረግ እና አዲስ ቅጂዎችን ለማግኘት, እና በሁለተኛው - ለሙከራዎች.

ዲ.ኤስ: አልስማማም። የድምፅ ክሎኒንግ በትክክል እንዲሠራ ማድረግ የደመናው ተግባር ነው። የእነሱን አተገባበር አልተመለከትኩም, ነገር ግን በሃርድዌር ላይ እንዴት እንደምናደርገው አውቃለሁ. ሴፍ አለን ፣ ማንኛውንም የአካል መጠን ይፈቅዳል (RBD) ይበሉ ፊደል እና በአስር ሚሊሰከንዶች ውስጥ ተመሳሳይ ባህሪ ያለው ሁለተኛ ድምጽ ያግኙ ፣ IOPSአሚ ወዘተ. ከውስጥ ተንኮለኛ ኮፒ-ላይ መፃፍ እንዳለ መረዳት አለቦት። ደመናው ለምን ተመሳሳይ ነገር ማድረግ የለበትም? እርግጠኛ ነኝ ይህንን በአንድ ወይም በሌላ መንገድ ለማድረግ እየሞከሩ ነው።

ኤን.ኤስነገር ግን ምሳሌን ለማንሳት፣ ዶከርን እዚያ ለማምጣት ወዘተ ሰከንዶች፣ አስር ሰኮንዶች ይፈጅባቸዋል።

ዲ.ኤስአጠቃላይ ምሳሌን ማንሳት ለምን አስፈለገ? አንድ ምሳሌ አለን 32 ኮሮች ፣ 16 ... እና በውስጡ ሊገባ ይችላል - ለምሳሌ ፣ አራት። አምስተኛውን ስናዘዝ, ምሳሌው ቀድሞውኑ ይነሳል, ከዚያም ይሰረዛል.

ኤን.ኤስ: አዎ ፣ አስደሳች ፣ ኩበርኔትስ የተለየ ታሪክ ሆኖ ተገኘ። የመረጃ ቋታችን በK8s ውስጥ የለም፣ እና አንድ ምሳሌ አለን። ነገር ግን የባለብዙ ቴራባይት ዳታቤዝ መዝጋት ከሁለት ሰከንድ ያልበለጠ ጊዜ ይወስዳል።

ዲ.ኤስ: ይህ ታላቅ ነው. ነገር ግን የመነሻ ነጥቤ ይህ አጠቃላይ መፍትሔ አይደለም. አዎ, አሪፍ ነው, ግን ለፖስትግሬስ ብቻ ተስማሚ እና በአንድ መስቀለኛ መንገድ ላይ ብቻ ነው.

ኤን.ኤስ: ለ Postgres ብቻ ተስማሚ አይደለም: እነዚህ እቅዶች, እንደገለጽኩት, በእሱ ውስጥ ብቻ ይሰራሉ. ግን ስለ እቅዶች ካልተጨነቅን እና ሁሉንም ውሂብ ለተግባራዊ ሙከራ ብቻ እንፈልጋለን ፣ ከዚያ ይህ ለማንኛውም DBMS ተስማሚ ነው።

ዲ.ኤስከብዙ አመታት በፊት በ LVM ቅጽበተ-ፎቶዎች ላይ ተመሳሳይ ነገር አድርገናል። ይህ ክላሲክ ነው። ይህ አቀራረብ በጣም በንቃት ጥቅም ላይ ውሏል. የስቴት አንጓዎች ህመም ብቻ ናቸው. ምክንያቱም እነሱን መጣል የለብህም, ሁልጊዜ ማስታወስ አለብህ ...

ኤን.ኤስ፦ እዚህ ድቅል የመፈጠር እድል ታያለህ? ግዛት የሆነ አንድ ዓይነት ፖድ ነው እንበል፣ ለብዙ ሰዎች (ብዙ ሞካሪዎች) ይሰራል። አንድ ጥራዝ አለን, ነገር ግን ለፋይል ስርዓቱ ምስጋና ይግባውና ክሎኖቹ አካባቢያዊ ናቸው. ፖድው ከወደቀ ፣ ግን ዲስኩ ከቀረ ፣ ፖዱ ይነሳል ፣ ስለ ሁሉም ክሎኖች መረጃ ይቆጥራል ፣ ሁሉንም ነገር እንደገና ይውሰዱ እና “እነሆ የእርስዎ ክሎኖች በእነዚህ ወደቦች ላይ እየሰሩ ናቸው ፣ ከእነሱ ጋር መስራቱን ይቀጥሉ” ይበሉ።

ዲ.ኤስበቴክኒክ ይህ ማለት በኩበርኔትስ ውስጥ ብዙ ፖስትግሬስን የምናስኬድበት አንድ ፖድ ነው።

ኤን.ኤስ: አዎ. እሱ ገደብ አለው: ከ 10 በላይ ሰዎች በተመሳሳይ ጊዜ አብረው አይሰሩም እንበል. 20 ከፈለጉ, እንደዚህ አይነት ፖድ ሁለተኛ ጊዜ እናስጀምራለን. ሙሉ በሙሉ እንዘጋዋለን, ሁለተኛውን ሙሉ መጠን ከተቀበልን, ተመሳሳይ 10 "ቀጭን" ክሎኖች ይኖሩታል. ይህን እድል አታይም?

ዲ.ኤስእዚህ የደህንነት ጉዳዮችን ማከል አለብን። የዚህ ዓይነቱ ድርጅት የሚያመለክተው ይህ ፖድ ከፍተኛ መብቶችን (ችሎታዎች) እንዳለው ነው, ምክንያቱም በፋይል ስርዓቱ ላይ መደበኛ ያልሆኑ ስራዎችን ሊያከናውን ይችላል ... ግን እደግማለሁ: በመካከለኛ ጊዜ ውስጥ በ Kubernetes ውስጥ ማከማቻን እንደሚያስተካክሉ አምናለሁ, እና በ ውስጥ. ደመናው ሙሉውን ታሪክ በጥራዞች ያስተካክላሉ - ሁሉም ነገር "ልክ ይሰራል"። መጠኑ ይኖራል ፣ ክሎኒንግ… አንድ ጥራዝ አለ - “በዚያ ላይ በመመስረት አዲስ ፍጠር” እንላለን እና ከአንድ ሰከንድ ተኩል በኋላ የምንፈልገውን እናገኛለን።

ኤን.ኤስለብዙ ቴራባይት በአንድ ተኩል ሰከንድ አላምንም። በሴፍ ላይ እራስዎ ያደርጉታል, ነገር ግን ስለ ደመናዎች ይናገራሉ. ወደ ደመናው ይሂዱ፣ በEC2 ላይ ባለ ብዙ ቴራባይት ኢቢኤስ መጠን ክሎሎን ያዘጋጁ እና አፈፃፀሙ ምን እንደሚሆን ይመልከቱ። ጥቂት ሰከንዶች አይፈጅም. እዚህ ደረጃ ላይ መቼ እንደሚደርሱ በጣም ፍላጎት አለኝ። የምትናገረው ተረድቻለሁ፣ ግን እንድለያይ እማፀናለሁ።

ዲ.ኤስ: እሺ፣ ግን በመካከለኛ ጊዜ ነው ያልኩት፣ አጭር ጊዜ አይደለም። ለበርካታ አመታት.

ስለ PostgreSQL ኦፕሬተር ከዛላንዶ

በዚህ ስብሰባ መሀል የዛላንዶ የቀድሞ ገንቢ የሆነው አሌክሲ ክሉኪን ተቀላቀለ እና ስለ PostgreSQL ኦፕሬተር ታሪክ ተናግሯል፡-

ይህ ርዕስ በአጠቃላይ መነካቱ በጣም ጥሩ ነው-ፖስትግሬስ እና ኩበርኔትስ። እ.ኤ.አ. በ 2017 በዛላንዶ ማድረግ ስንጀምር ፣ ሁሉም ሰው ሊያደርገው የፈለገው ርዕስ ነበር ፣ ግን ማንም አላደረገም። ሁሉም ሰው አስቀድሞ Kubernetes ነበረው, ነገር ግን በመረጃ ቋቶች ምን እንደሚደረግ ሲጠይቁ, ሰዎች እንኳን ይወዳሉ Kelsey HightowerK8sን የሰበከ እንዲህ ሲል ተናግሯል።

"ወደ የሚተዳደሩ አገልግሎቶች ይሂዱ እና ይጠቀሙባቸው, በ Kubernetes ውስጥ የውሂብ ጎታውን አያሂዱ. ያለበለዚያ፣ የእርስዎ K8s፣ ለምሳሌ ማሻሻያ ለማድረግ፣ ሁሉንም አንጓዎች ለማጥፋት ይወስናሉ፣ እና የእርስዎ ውሂብ ከሩቅ ይበርራል።

ከዚህ ምክር በተቃራኒ የፖስትግሬስ ዳታቤዝ በኩበርኔትስ የሚጀምር ኦፕሬተር ለመሥራት ወስነናል። እና ጥሩ ምክንያት ነበረን - ፓትሮኒ. ይህ ለ PostgreSQL አውቶማቲክ ውድቀት ነው፣ በትክክል ተከናውኗል፣ ማለትም። ስለ ክላስተር መረጃ ማከማቻ ወዘተd፣ ቆንስል ወይም ZooKeeper በመጠቀም። ምንም እንኳን የተከፋፈለ አንጎል እንዳይኖር የሚጠይቁትን ሁሉ ለምሳሌ የአሁኑ መሪ ምን እንደሆነ ፣ ተመሳሳይ መረጃ የሚሰጥ እንደዚህ ያለ ማከማቻ። በተጨማሪም ነበረን Docker ምስል ለእሱ.

በአጠቃላይ የኩባንያው ፍላጎት ከውስጥ የሃርድዌር መረጃ ማእከል ወደ ደመና ከተሸጋገረ በኋላ በራስ-ሰር አለመሳካት ታየ። ደመናው በባለቤትነት በ PaaS (Platform-as-a-አገልግሎት) መፍትሄ ላይ የተመሰረተ ነበር። ክፍት ምንጭ ነው, ነገር ግን ለመጀመር እና ለማስኬድ ብዙ ስራ ፈጅቷል. ተብሎ ይጠራ ነበር። STUPS.

መጀመሪያ ላይ ኩበርኔትስ አልነበረም። ይበልጥ በትክክል ፣ የራሳችን መፍትሄ ሲዘረጋ K8s ቀድሞውኑ ነበር ፣ ግን በጣም ጥሬ ስለነበረ ለምርት ተስማሚ አልነበረም። በእኔ አስተያየት 2015 ወይም 2016 ነበር። እ.ኤ.አ. በ 2017 ኩበርኔትስ ብዙ ወይም ያነሰ ብስለት ሆኗል - ወደዚያ መሰደድ አስፈላጊ ነበር።

እና አስቀድመን Docker መያዣ ነበረን. Dockerን የተጠቀመ ፓኤኤስ ነበር። ለምን K8s አትሞክርም? ለምን የራስዎን ኦፕሬተር አይጽፉም? ከአቪቶ ወደ እኛ የመጣው ሙራት ካቢሎቭ ይህንን በራሱ ተነሳሽነት እንደ ፕሮጀክት የጀመረው - “ለመጫወት” - እና ፕሮጀክቱ “ተጀመረ።

ግን በአጠቃላይ ስለ AWS ማውራት ፈልጌ ነበር። ለምን ታሪካዊ AWS ተዛማጅ ኮድ ነበር...

በ Kubernetes ውስጥ የሆነ ነገር ሲያሄዱ K8s በሂደት ላይ ያለ ስራ መሆኑን መረዳት አለቦት። በየጊዜው እያደገ, እየተሻሻለ እና አልፎ ተርፎም ከጊዜ ወደ ጊዜ እየፈራረሰ ነው. በ Kubernetes ውስጥ ያሉትን ሁሉንም ለውጦች በቅርበት መከታተል ያስፈልግዎታል ፣ የሆነ ነገር ከተፈጠረ ወደ ውስጡ ለመግባት ዝግጁ መሆን እና እንዴት እንደሚሰራ በዝርዝር መማር ያስፈልግዎታል - ምናልባት ከሚፈልጉት በላይ። ይህ በመርህ ደረጃ የውሂብ ጎታዎን በሚያስኬዱበት ማንኛውም መድረክ ላይ ተፈጻሚ ይሆናል...

ስለዚህ, መግለጫውን ስናደርግ, Postgres በውጫዊ ድምጽ (በዚህ ጉዳይ ላይ EBS, በ AWS ላይ እየሰራን ስለነበረ) እንዲሰራ አድርገናል. ዳታቤዙ አድጓል፣ በአንድ ወቅት መጠኑን ማስተካከል አስፈላጊ ነበር፡ ለምሳሌ የኢቢኤስ የመጀመሪያ መጠን 100 ቲቢ ነበር፣ ዳታቤዙም አድጓል፣ አሁን ኢቢኤስ 200 ቲቢ መስራት እንፈልጋለን። እንዴት? በአዲስ ምሳሌ ላይ ቆሻሻ ማፍሰሻ/ወደነበረበት መመለስ ትችላለህ እንበል፣ነገር ግን ይህ ረጅም ጊዜ የሚወስድ እና የእረፍት ጊዜን ያካትታል።

ስለዚህ፣ የኢቢኤስ ክፍልፍልን የሚጨምር እና የፋይል ስርዓቱ አዲሱን ቦታ እንዲጠቀም የሚነግረው መጠን እንዲቀየር ፈልጌ ነበር። እና አደረግነው፣ ነገር ግን በዚያን ጊዜ ኩበርኔትስ ለመጠኑ ስራ ምንም አይነት ኤፒአይ አልነበረውም። በAWS ላይ ስለሰራን፣ ለኤፒአይው ኮድ ጻፍን።

ለሌሎች መድረኮች ተመሳሳይ ነገር ከማድረግ ማንም አይከለክልዎትም። በመግለጫው ውስጥ በ AWS ላይ ብቻ ሊሰራ የሚችል ምንም ፍንጭ የለም, እና በሁሉም ነገር ላይ አይሰራም. በአጠቃላይ ይህ ክፍት ምንጭ ፕሮጀክት ነው፡ ማንም ሰው የአዲሱን ኤፒአይ አጠቃቀም መከሰት ማፋጠን ከፈለገ እንኳን ደህና መጣችሁ። ብላ የፊልሙ፣ ጥያቄዎችን ይጎትቱ - የዛላንዶ ቡድን ለእነሱ በፍጥነት ምላሽ ለመስጠት እና ኦፕሬተሩን ለማስተዋወቅ ይሞክራል። እኔ እስከማውቀው ድረስ ፕሮጀክቱ ተሳትፏል በ Google Summer of Code እና አንዳንድ ተመሳሳይ ተነሳሽነት። ዛላንዶ በእሱ ላይ በንቃት እየሰራ ነው።

ፒ.ኤስ. ጉርሻ!

በ PostgreSQL እና Kubernetes ርዕስ ላይ ፍላጎት ካሎት እባክዎን በሚቀጥለው ሳምንት ማክሰኞ ከኒኮላይ ጋር የተነጋገርኩበት የሚቀጥለው ፖስትግሬስ ማክሰኞ የተካሄደ መሆኑን ልብ ይበሉ አሌክሳንደር ኩኩሽኪን ከዛላንዶ. ቪዲዮው ከእሱ ይገኛል። እዚህ.

ፒፒኤስ

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

ምንጭ: hab.com

አስተያየት ያክሉ