د ګوګل په وینا د کانټینرونو کارولو لپاره 7 غوره تمرینونه

نوټ. ژباړه: د اصلي مقالې لیکوال تیو چملي دی، د ګوګل کلاوډ حلونو معمار. د ګوګل کلاوډ بلاګ لپاره پدې پوسټ کې ، هغه د خپل شرکت نور مفصل لارښود لنډیز وړاندې کوي ، چې نومیږي "د عملیاتي کانتینرونو لپاره غوره تمرینونه" په دې کې، د ګوګل کارپوهانو د ګوګل کوبرنیټس انجن او نور کارولو په شرایطو کې د کانټینرونو عملیات کولو لپاره غوره تمرینونه راټول کړل، په پراخه کچه موضوعاتو ته تمویل: له امنیت څخه نظارت او ننوتلو پورې. نو د ګوګل په وینا ترټولو مهم کانټینر تمرینونه کوم دي؟

د ګوګل په وینا د کانټینرونو کارولو لپاره 7 غوره تمرینونه

Kubernetes انجن (په ګوګل کلاوډ کې د کانټینر شوي غوښتنلیکونو چلولو لپاره د کوبرنیټس پراساس خدمت - نږدې ژباړه) د کاري بارونو چلولو لپاره یو له غوره لارو څخه دی چې اندازه کولو ته اړتیا لري. کوبنیټس د ډیری غوښتنلیکونو اسانه فعالیت به تضمین کړي که چیرې دوی کانټینر شوي وي. مګر که تاسو غواړئ ستاسو غوښتنلیک اداره کول اسانه وي او غواړئ د کوبرنیټس څخه پوره ګټه واخلئ ، تاسو اړتیا لرئ غوره عملونه تعقیب کړئ. دوی به د غوښتنلیک عملیات ساده کړي، د هغې څارنه او ډیبګ کول، او امنیت هم زیات کړي.

پدې مقاله کې ، موږ به د هغه شیانو لیست ته لاړ شو چې تاسو باید پوه شئ او په کوبرنیټس کې د کانټینرونو په مؤثره توګه چلولو لپاره وکړئ. هغه څوک چې غواړي په تفصیل کې ژور شي باید مواد ولولي د عملیاتي کانتینرونو لپاره غوره تمرینونه، او زموږ ته هم پاملرنه وکړئ مخکینی پوسټ د کانتینرونو د راټولولو په اړه.

1. د اصلي کانټینر د ننوتلو میکانیزمونو څخه کار واخلئ

که چیرې غوښتنلیک د کوبرنیټس کلستر کې روان وي ، نو د لاګونو لپاره ډیر څه ته اړتیا نشته. د مرکزي ننوتلو سیسټم احتمالا دمخه په هغه کلستر کې جوړ شوی چې تاسو یې کاروئ. د Kubernetes انجن کارولو په حالت کې، دا مسؤل دی Stackdriver Logging. (نوټ. ژباړه: او که تاسو خپل د کوبرنیټس انسټالشن کاروئ، موږ وړاندیز کوو چې زموږ د خلاصې سرچینې حل ته نږدې کتنه وکړئ - د ننوتو کور.) خپل ژوند ساده وساتئ او د اصلي کانټینر د ننوتلو میکانیزمونه وکاروئ. stdout او stderr ته لاګونه ولیکئ - دوی به په اوتومات ډول ترلاسه شي ، خوندي شوي او لیست شوي.

که وغواړئ، تاسو کولی شئ لاګونه هم ولیکئ د JSON بڼه. دا طریقه به دوی ته د میټاډاټا اضافه کول اسانه کړي. او د دوی سره، Stackdriver Logging به د دې میټاډاټا په کارولو سره د لاګونو له لارې لټون کولو وړتیا ولري.

2. ډاډ ترلاسه کړئ چې کانټینرونه بې حالته او د بدلون وړ نه دي

د دې لپاره چې کانټینرونه د کبرنیټس په کلستر کې په سمه توګه کار وکړي، دوی باید بې حالته او د تغیر وړ وي. یوځل چې دا شرایط پوره شي ، کوبرنیټس کولی شي خپله دنده ترسره کړي ، کله چې او چیرې اړتیا وي د غوښتنلیک ادارې رامینځته کول او له مینځه وړل.

بې دولتي پدې معنی چې هر حالت (د هر ډول دوامداره ډاټا) د کانټینر څخه بهر ساتل کیږي. د دې لپاره، د اړتیاوو پر بنسټ، د بهرني ذخیره کولو مختلف ډولونه کارول کیدی شي: د کلاز ذخیره, دوامداره ډیسکونه, Redis, کلاوډ SQL یا نور اداره شوي ډیټابیسونه. (نوټ. ژباړه: په دې اړه نور زموږ په مقاله کې ولولئ "د کوبرنیټس لپاره چلونکي: د دولتي غوښتنلیکونو چلولو څرنګوالی".)

نه بدلیدونکی پدې معنی چې کانټینر به د خپل ژوند په جریان کې تعدیل نشي: هیڅ تازه معلومات ، پیچونه ، تشکیلات بدلونونه ندي. که تاسو د خپل غوښتنلیک کوډ تازه کولو یا پیچ پلي کولو ته اړتیا لرئ، یو نوی عکس جوړ کړئ او ځای په ځای کړئ. دا سپارښتنه کیږي چې د کانټینر ترتیب (د اوریدلو پورټ، د چلولو چاپیریال اختیارونه، او نور) بهر ته انتقال کړئ - ته رازونه и ConfigMaps. دوی د نوي کانټینر عکس جوړولو پرته تازه کیدی شي. د عکس اسمبلۍ سره په اسانۍ سره پایپ لاینونو رامینځته کولو لپاره ، تاسو کولی شئ وکاروئ کلاوډ جوړ. (نوټ. ژباړه: موږ د دې موخو لپاره د خلاصې سرچینې وسیله کاروو ډپ.)

د ګوګل په وینا د کانټینرونو کارولو لپاره 7 غوره تمرینونه
د کنفیګ میپ په کارولو سره په پوډونو کې د ترتیب په توګه نصب شوي په کوبرنیټس کې د ځای پرځای کولو ترتیب تازه کولو مثال

3. د امتیاز لرونکي کانتینرونو څخه ډډه وکړئ

تاسو په خپلو سرورونو کې د روټ په توګه غوښتنلیکونه نه چلوئ، سمه ده؟ که چیرې برید کونکی غوښتنلیک ته ننوځي ، نو هغه به ریښې ته لاسرسی ومومي. ورته نظرونه د امتیاز لرونکي کانټینرونو نه چلولو باندې پلي کیږي. که تاسو په کوربه کې ترتیبات بدلولو ته اړتیا لرئ، تاسو کولی شئ کانټینر مشخص کړئ وړتیاوې د اختیار په کارولو سره securityContext په Kubernetes کې. که تاسو بدلون ته اړتیا لرئ sysctls, Kubernetes لري جلا لنډیز د دى لپاره. په عموم کې، هڅه وکړئ چې ډیره ګټه پورته کړئ init- او د سایډ کار کانټینرونه د ورته امتیازي عملیاتو ترسره کولو لپاره. دوی اړتیا نلري داخلي یا بهرني ترافیک ته د لاسرسي وړ وي.

که تاسو کلستر اداره کوئ، تاسو کولی شئ کار واخلئ د پوډ امنیت پالیسي د امتیاز لرونکي کانټینرونو کارولو محدودیتونو لپاره.

4. د ريښي په توګه د چلولو څخه ډډه وکړئ

د امتیاز لرونکي کانټینرونو په اړه لا دمخه بحث شوی ، مګر دا به خورا ښه وي که د دې سربیره ، تاسو د کانټینر دننه غوښتنلیکونه د ریښې په توګه نه چلوئ. که چیرې یو برید کونکی د ریښو حقونو سره په غوښتنلیک کې لیرې زیان منونکي ومومي کوم چې د کوډ اجرا کولو ته اجازه ورکوي ، وروسته له هغه چې هغه وکولی شي کانټینر د نامعلوم زیان له لارې پریږدي ، نو هغه به په کوربه کې ریښه ترلاسه کړي.

د دې څخه د مخنیوي غوره لاره دا ده چې په لومړي ځای کې د ریښې په توګه هیڅ شی مه چلوئ. د دې کولو لپاره، تاسو کولی شئ لارښوونې وکاروئ USER в Dockerfile او یا runAsUser په Kubernetes کې. د کلستر مدیر هم کولی شي د پلي کولو چلند په کارولو سره تنظیم کړي د پوډ امنیت پالیسي.

5. غوښتنلیک د څارنې لپاره اسانه کړئ

د ننوتلو په څیر، څارنه د غوښتنلیک مدیریت یوه لازمي برخه ده. د Kubernetes ټولنه کې د څارنې یو مشهور حل دی Prometheus - یو سیسټم چې په اتوماتيک ډول پوډونه او خدمات کشف کوي چې څارنې ته اړتیا لري. (نوټ. ژباړه: زموږ هم وګورئ تفصيلي راپور د Prometheus او Kubernetes په کارولو سره د څارنې په موضوع کې.) Stackdriver د Kubernetes کلسترونو نظارت کولو توان لري او د غوښتنلیک نظارت لپاره د پرومیټیوس خپله نسخه پکې شامله ده.

د ګوګل په وینا د کانټینرونو کارولو لپاره 7 غوره تمرینونه
په Stackdriver کې د Kubernetes ډشبورډ

پرومیټیوس تمه لري چې غوښتنلیک د HTTP پای نقطې ته میټریک وړاندې کړي. د دې لپاره شتون لري د Prometheus مراجعینو کتابتونونه. ورته بڼه د نورو وسیلو لخوا کارول کیږي لکه OpenCensus и اسټیټو.

6. د اپلیکیشن روغتیایی حالت چمتو کړئ

په تولید کې د غوښتنلیک مدیریت د دې وړتیا سره مرسته کوي چې خپل حالت ټول سیسټم ته ورسوي. ایا غوښتنلیک روان دی؟ آیا دا سمه ده؟ ایا تاسو د ترافیک ترلاسه کولو لپاره چمتو یاست؟ هغه څنګه چلند کوي؟ د دې ستونزې د حل لپاره ترټولو عام لاره د روغتیا معاینې پلي کول دي (روغتیا معاینات). Kubernetes دوه ډوله لري: ژوندیتوب او چمتووالی تحقیقات.

د ژوندانه تحقیقاتو لپاره (د ژوندانه معاینات) غوښتنلیک باید د HTTP پای ټکی ولري چې د "200 OK" ځواب بیرته راګرځوي که چیرې دا فعال وي او د دې بنسټیز انحصارونه راضي وي. د چمتووالي تحقیقاتو لپاره (د خدماتو چمتووالی معاینه کول) غوښتنلیک باید یو بل HTTP پای ټکی ولري چې د "200 OK" ځواب بیرته راګرځوي که چیرې غوښتنلیک په صحي حالت کې وي، د پیل کولو مرحلې بشپړې شوي او کومه معتبره غوښتنه د غلطۍ پایله نه کوي. Kubernetes به یوازې کانټینر ته ترافیک لیږدوي که چیرې غوښتنلیک د دې چکونو سره سم چمتو وي. دوه پای ټکي یوځای کیدی شي که چیرې د ژوند او چمتووالي حالتونو ترمنځ توپیر شتون ونلري.

تاسو کولی شئ پدې اړه نور معلومات په اړونده مقاله کې د سندیپ دنیش څخه ولولئ ، د ګوګل څخه پراختیا کونکي وکیل: "د کوبرنیټس غوره کړنې: د چمتووالي او ژوندانه تحقیقاتو سره د روغتیا معاینات تنظیم کول".

7. د خپل عکس نسخه په دقت سره غوره کړئ

ډیری عامه او شخصي عکسونه د ټیګ کولو سیسټم کاروي لکه څنګه چې تشریح شوي د کانټینرونو جوړولو لپاره غوره کړنې. که عکس نږدې سیسټم کاروي سیمانټیک نسخه، دا اړینه ده چې د ټګ کولو ځانګړتیاوې په پام کې ونیول شي. د مثال په توګه، ټګ latest کولی شي په مکرر ډول له عکس څخه عکس ته حرکت وکړي - په دې تکیه نشئ کولی که تاسو د وړاندوینې وړ او تکرار وړ ودانیو او تاسیساتو ته اړتیا لرئ.

تاسو کولی شئ ټګ وکاروئ X.Y.Z (دوی تقریبا تل بدل شوي نه وي)، مګر پدې حالت کې، ټول پیچونه تعقیب کړئ او عکس ته تازه معلومات ورکړئ. که هغه عکس چې تاسو یې کاروئ یو ټاګ لري X.Y، دا د طلایی معنی لپاره یو ښه اختیار دی. د دې غوره کولو سره ، تاسو په اوتومات ډول پیچونه ترلاسه کوئ او په ورته وخت کې د غوښتنلیک مستحکم نسخه تکیه کوئ.

PS د ژباړونکي څخه

زموږ په بلاګ کې هم ولولئ:

سرچینه: www.habr.com

Add a comment