DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

Kubernetes د کلستر شوي تولید چاپیریال کې د ډاکر کانټینرونو چلولو لپاره عالي وسیله ده. په هرصورت، داسې ستونزې شتون لري چې کوبرنیټس نشي حل کولی. د پرله پسې تولید ګمارلو لپاره، موږ په بشپړ ډول اتوماتیک نیلي / شنه ګمارنې ته اړتیا لرو ترڅو په پروسه کې د ځنډ وخت څخه مخنیوی وشي، کوم چې د بهرني HTTP غوښتنې اداره کولو او د SSL آفلوډونو ترسره کولو ته هم اړتیا لري. دا د بار بیلنسر سره ادغام ته اړتیا لري لکه ها-پراکسي. بله ننګونه د Kubernetes کلستر نیمه اتوماتیک اندازه کول دي کله چې په بادل چاپیریال کې روان وي، د بیلګې په توګه د شپې په وخت کې د کلستر یو څه اندازه کول.

پداسې حال کې چې Kubernetes دا ځانګړتیاوې د بکس څخه بهر نلري، دا یو API چمتو کوي چې تاسو یې د ورته ستونزو حل کولو لپاره کارولی شئ. د اتوماتیک نیلي / شین ځای په ځای کولو او د کبرنیټس کلستر اندازه کولو وسیلې د کلاوډ RTI پروژې برخې په توګه رامینځته شوي ، کوم چې د خلاصې سرچینې پراساس رامینځته شوی.

دا مقاله ، د ویډیو لیږد ، تاسو ته ښیې چې د نورو خلاصې سرچینې اجزاو سره د کبرنیټس تنظیم کولو څرنګوالی د تولید لپاره چمتو چاپیریال رامینځته کولو لپاره چې په تولید کې د ځنډیدو پرته د ګیټ کمیټ څخه کوډ مني.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 1 برخه

نو ، یوځل چې تاسو له بهرنۍ نړۍ څخه خپلو غوښتنلیکونو ته لاسرسی ومومئ ، تاسو کولی شئ په بشپړ ډول اتومات تنظیم کول پیل کړئ ، دا هغه مرحلې ته راوړئ چیرې چې تاسو کولی شئ د git ژمنې ترسره کړئ او ډاډ ترلاسه کړئ چې دا git ژمنتیا په تولید کې پای ته رسیږي. په طبيعي توګه، کله چې د دې ګامونو پلي کول، کله چې د ګمارنې پلي کول، موږ نه غواړو چې د وخت سره مخ شو. نو، په Kubernetes کې هر ډول اتومات د API سره پیل کیږي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

Kubernetes داسې وسیله نه ده چې د بکس څخه بهر په تولیدي توګه کارول کیدی شي. البته، تاسو کولی شئ دا کار وکړئ، kubectl او داسې نور وکاروئ، مګر بیا هم API د دې پلیټ فارم په اړه ترټولو زړه پورې او ګټور شی دی. د دندو د یوې سیټ په توګه د API په کارولو سره، تاسو کولی شئ نږدې هر هغه څه ته لاسرسی ومومئ چې تاسو یې غواړئ په Kubernetes کې ترسره کړئ. kubectl پخپله REST API هم کاروي.

دا REST دی، نو تاسو کولی شئ د دې API سره کار کولو لپاره کومه ژبه یا وسیله وکاروئ، مګر ستاسو ژوند به د دودیز کتابتونونو لخوا خورا اسانه شي. زما ټیم 2 ورته کتابتونونه لیکلي: یو د جاوا/OSGi لپاره او یو د Go لپاره. دوهم اکثرا نه کارول کیږي، مګر په هر حالت کې تاسو دا ګټور شیان ستاسو په اختیار کې لرئ. دوی د یوې برخې جواز لرونکي خلاصې سرچینې پروژه دي. د مختلفو ژبو لپاره ډیری داسې کتابتونونه شتون لري، نو تاسو کولی شئ هغه غوره کړئ چې ستاسو لپاره مناسب وي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

نو ، مخکې لدې چې تاسو د خپل ګمارنې اتومات کول پیل کړئ ، تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې پروسه به د کوم ځنډ سره مخ نه وي. د مثال په توګه، زموږ ټیم د ورځې په مینځ کې د تولید ګمارنې ترسره کوي کله چې خلک د دوی ډیری غوښتنلیکونه کاروي، نو دا مهمه ده چې پدې پروسه کې د ځنډ څخه مخنیوی وشي. د ځنډیدو څخه مخنیوي لپاره ، دوه میتودونه کارول کیږي: نیلي / شنه ځای په ځای کول یا د رولینګ تازه کول. په وروستي حالت کې، که تاسو د غوښتنلیک چلولو 2 نقلونه لرئ، دوی په ترتیب سره یو له بل وروسته تازه کیږي. دا میتود عالي کار کوي ، مګر دا مناسب ندي که تاسو د پلي کولو پروسې په جریان کې د غوښتنلیک مختلف نسخې په ورته وخت کې پرمخ وړئ. پدې حالت کې ، تاسو کولی شئ د کارونکي انٹرفیس تازه کړئ پداسې حال کې چې بیکینډ زاړه نسخه پرمخ وړي ، او غوښتنلیک به کار ودروي. له همدې امله، د پروګرام کولو له نظره، په داسې شرایطو کې کار کول خورا ستونزمن دي.

دا یو له هغه دلیلونو څخه دی چې ولې موږ غوره کوو چې زموږ د غوښتنلیکونو ځای په ځای کولو اتومات کولو لپاره نیلي / شین ګمارنه وکاروو. د دې میتود سره، تاسو باید ډاډ ترلاسه کړئ چې د غوښتنلیک یوازې یوه نسخه په یو وخت کې فعاله ده.

د نیلي / شنه پلي کولو میکانیزم داسې ښکاري. موږ د ها-پراکسي له لارې زموږ غوښتنلیکونو لپاره ترافیک ترلاسه کوو ، کوم چې دا د ورته نسخې غوښتنلیک چلولو نقلونو ته لیږدوي.

کله چې یو نوی ګمارل کیږي، موږ Deployer کاروو، کوم چې نوې برخې ورکول کیږي او نوې نسخه ځای پرځای کوي. د اپلیکیشن نوې نسخه ځای په ځای کول پدې معنی دي چې د عکسونو نوې سیټ "اوچت شوی" دی ، وروسته له دې چې د نوې نسخې دا نقلونه په جلا ، نوي پوډ کې پیل شوي. په هرصورت، ها-پراکسي د دوی په اړه هیڅ نه پوهیږي او تر اوسه دوی ته د کار بار نه رسوي.

له همدې امله، له هرڅه دمخه، دا اړینه ده چې د روغتیا معاینې نوې نسخې د فعالیت چک ترسره کړئ ترڅو ډاډ ترلاسه شي چې نقلونه د بار خدمت کولو لپاره چمتو دي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

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

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

وروسته له دې چې سیسټم تایید کړي چې ټول تازه شوي نقلونه کار کوي، ډیپلویر به ترتیب تازه کړي او سم کنفډ انتقال کړي، کوم چې د ها-پراکسي بیا تنظیموي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

یوازې له دې وروسته به ترافیک د نوي نسخې نقلونو سره پوډ ته واستول شي ، او زوړ پوډ به ورک شي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

دا میکانیزم د Kubernetes ځانګړتیا نه ده. د نیلي / شین ګمارنې مفهوم د اوږدې مودې راهیسې شتون لري او دا تل د بار بیلنسر کارولی. لومړی، تاسو ټول ټرافیک د غوښتنلیک زاړه نسخه ته لارښوونه کوئ، او د تازه کولو وروسته، تاسو دا په بشپړه توګه نوي نسخه ته لیږدئ. دا اصل نه یوازې په کبرنیټس کې کارول کیږي.

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

نو، لومړی شی چې ګمارونکی یې کوي د Kubernetes API په کارولو سره د RC نقل کولو کنټرولر رامینځته کوي. دا API د نورو ګمارلو لپاره پوډونه او خدمات رامینځته کوي ، دا زموږ د غوښتنلیکونو لپاره په بشپړ ډول نوی کلستر رامینځته کوي. هرڅومره ژر چې RC قانع شي چې نقلونه پیل شوي ، دا به د دوی فعالیت روغتیایی معاینه ترسره کړي. د دې کولو لپاره، ګمارونکی د GET/health کمانډ کاروي. دا د سکین مناسب برخې پرمخ وړي او ټول عناصر چیک کوي چې د کلستر عملیات ملاتړ کوي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

وروسته له دې چې ټول پوډونه د دوی روغتیا راپور کړي، ډیپلویر یو نوی ترتیب عنصر رامینځته کوي - etcd توزیع شوی ذخیره، کوم چې د کوبرنیټس لخوا په داخلي توګه کارول کیږي، په شمول د بار بیلانس ترتیب ذخیره کول. موږ etcd ته ډاټا لیکو، او د نوي ډیټا لپاره د confd Moniters etcd په نوم یو کوچنی وسیله.

که دا په لومړني ترتیب کې کوم بدلون ومومي، دا د نوي ترتیباتو فایل رامینځته کوي او ها-پراکسي ته لیږدوي. په دې حالت کې، ha-proxy پرته له دې چې کومې اړیکې له لاسه ورکړي ریبوټ کوي او نوي خدماتو ته بار په ګوته کوي چې زموږ د غوښتنلیک نوې نسخه کار کولو توان ورکوي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

لکه څنګه چې تاسو لیدلی شئ، د اجزاو د زیاتوالي سره سره، دلته هیڅ پیچلي ندي. تاسو اړتیا لرئ چې API او etcd ته ډیر پام وکړئ. زه غواړم تاسو ته د خلاصې سرچینې ګمارونکي په اړه ووایم چې موږ پخپله کاروو - امداتو کوبرنیټس ډیپلویر.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

دا د Kubernetes ګمارنې د تنظیم کولو وسیله ده او لاندې ځانګړتیاوې لري:

  • نیلي / شین ځای پرځای کول؛
  • د بهرني بار بیلانس تنظیم کول؛
  • د ځای پرځای کولو تشریح کونکي مدیریت؛
  • د حقیقي ګمارنې اداره کول؛
  • د ګمارنې پرمهال د روغتیا چکونو فعالیت چیک کول؛
  • په پوډونو کې د چاپیریال متغیرونو پلي کول.

دا ګمارونکی د Kubernetes API په سر کې جوړ شوی او د لاسوندونو او ګمارنې اداره کولو لپاره REST API چمتو کوي ، په بیله بیا د ګمارنې پروسې په جریان کې د سټرینګ لاګونو لپاره د ویب ساکټ API.

دا د لوډ بیلانس ترتیب کولو ډیټا په etcd کې اچوي، نو تاسو اړتیا نلرئ د بکس څخه بهر مالتړ سره ha-proxy وکاروئ، مګر په اسانۍ سره خپل د بار بیلانس ترتیب کولو فایل وکاروئ. د امداتو ګمارونکی په ګو کې لیکل شوی ، لکه پخپله کوبرنیټس ، او د اپاچي لخوا جواز لري.

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

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

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

بله وسیله چې د خلاصې سرچینې امداتو پروژې برخه ده د ډیپلیمینټ سیټل دی. دا د ځای پرځای کولو تنظیم کولو لپاره یو UI لري ، د ځای پرځای کولو تاریخ ذخیره کوي ، او د دریمې ډلې کاروونکو او پراختیا کونکو څخه د کال بیکونو لپاره ویب هکس لري. تاسو ممکن UI ونه کاروئ ځکه چې د Amdatu Deployer پخپله REST API دی، مګر دا انٹرفیس کولی شي ستاسو لپاره پرته له کوم API شاملولو څخه ګمارل خورا اسانه کړي. Deploymentctl د Angular 2 په کارولو سره په OSGi/Vertx کې لیکل شوی.

زه به اوس د مخکینۍ ثبت شوي ریکارډ په کارولو سره پورته په سکرین کې وښیم نو تاسو انتظار ته اړتیا نلرئ. موږ به د ساده Go غوښتنلیک ځای په ځای کړو. اندیښنه مه کوئ که تاسو دمخه د Go هڅه نه وي کړې ، دا خورا ساده غوښتنلیک دی نو تاسو باید د دې وړتیا ولرئ.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

دلته موږ یو HTTP سرور رامینځته کوو چې یوازې / روغتیا ته ځواب ووایی ، نو دا غوښتنلیک یوازې د روغتیا معاینه کوي او نور څه ندي. که چیرې چک تیریږي، د JSON جوړښت لاندې ښودل شوی کارول کیږي. دا د غوښتنلیک نسخه لري چې د پلي کونکي لخوا به ځای په ځای شي ، هغه پیغام چې تاسو یې د فایل په سر کې ګورئ ، او د بولین ډیټا ډول - ایا زموږ غوښتنلیک کار کوي یا نه.

ما د وروستۍ کرښې سره یو څه درغلي وکړه ، ځکه چې ما د فایل په سر کې یو ثابت بولین ارزښت ځای په ځای کړ ، کوم چې په راتلونکي کې به ما سره حتی د "غیر صحي" غوښتنلیک پلي کولو کې مرسته وکړي. موږ به وروسته له دې سره معامله وکړو.

نو راځئ چې پیل وکړو. لومړی، موږ د کمانډ ~ kubectl get pods په کارولو سره د هر ډول چلولو پوډونو شتون چیک کوو او د فرنټ اینډ URL څخه د ځواب نشتوالي پراساس، موږ ډاډ ترلاسه کوو چې اوس مهال هیڅ ګمارنه نه کیږي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

بل په سکرین کې تاسو د Deploymentctl انٹرفیس وګورئ چې ما یې یادونه کړې ، په کوم کې چې د ګمارنې پیرامیټونه تنظیم شوي دي: نوم ځای ، د غوښتنلیک نوم ، د ځای پرځای کولو نسخه ، د عکسونو شمیر ، د مخکښې پای URL ، د کانټینر نوم ، عکس ، د سرچینې محدودیت ، د روغتیا معاینې لپاره د پورټ شمیره ، وغيره د سرچینو محدودیتونه خورا مهم دي، ځکه چې دوی تاسو ته اجازه درکوي د هارډویر اعظمي حد څخه کار واخلئ. دلته تاسو کولی شئ د ځای پرځای کولو لاګ هم وګورئ.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

که تاسو اوس کمانډ تکرار کړئ ~ kubectl get pods، تاسو لیدلی شئ چې سیسټم د 20 ثانیو لپاره "یخیږي"، په کوم کې چې ها-پراکسي بیا تنظیم شوی. له دې وروسته، پوډ پیل کیږي، او زموږ نقل د ځای پرځای کولو لاګ کې لیدل کیدی شي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

ما د ویډیو څخه 20 ثانیې انتظار لرې کړ، او اوس تاسو کولی شئ په سکرین کې وګورئ چې د غوښتنلیک لومړۍ نسخه ځای پرځای شوې. دا ټول یوازې د UI په کارولو سره ترسره شوي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

اوس راځئ چې دویمه نسخه هڅه وکړو. د دې کولو لپاره، زه د غوښتنلیک پیغام له "هیلو، کبرنیټس!" څخه بدلوم. په "Hello, Deployer!" کې، سیسټم دا عکس رامینځته کوي او دا د ډاکر راجسټری کې ځای په ځای کوي، له هغې وروسته موږ په ساده ډول د Deploymentctl کړکۍ کې د "ګمارلو" تڼۍ کلیک کوو. پدې حالت کې ، د ګمارنې لاګ په اوتومات ډول په ورته ډول پیل کیږي لکه څنګه چې پیښ شوي کله چې د غوښتنلیک لومړۍ نسخه ځای په ځای کول.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

کمانډ ~ kubectl get pods ښیي چې اوس مهال د غوښتنلیک 2 نسخې روانې دي، مګر مخکینۍ برخه ښیي چې موږ لاهم 1 نسخه پرمخ وړو.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

د بار بیلانسر نوي نسخې ته د ترافیک لیږلو دمخه د روغتیا چیک بشپړیدو ته انتظار باسي. د 20 ثانیو وروسته، موږ curl ته واړوو او وګورو چې موږ اوس د غوښتنلیک 2 نسخه ځای پرځای کړې، او لومړی یې حذف شوی.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

دا د "صحي" غوښتنلیک ګمارل و. راځئ وګورو چې څه پیښیږي که چیرې د غوښتنلیک نوي نسخه لپاره زه صحي پیرامیټر له ریښتیني څخه غلط ته بدل کړم ، دا دی ، زه هڅه کوم یو غیر صحي غوښتنلیک ځای په ځای کړم چې د روغتیا معاینه ناکامه شوې. دا پیښ کیدی شي که چیرې د پراختیا په مرحله کې غوښتنلیک کې د ترتیب کولو ځینې غلطۍ رامینځته شوې وي ، او دا په دې فارم کې تولید ته لیږل شوی و.

لکه څنګه چې تاسو لیدلی شئ، ګمارنه د پورته ټولو مرحلو څخه تیریږي او ~ kubectl get pods ښیې چې دواړه پوډونه روان دي. مګر د پخوانۍ ګمارنې برعکس، لاګ د وخت پای حالت ښیي. دا د دې حقیقت له امله چې د روغتیا معاینه ناکامه شوې، د غوښتنلیک نوې نسخه نشي ګمارل کیدی. د پایلې په توګه، تاسو ګورئ چې سیسټم د غوښتنلیک پخوانۍ نسخه کارولو ته بیرته راستانه شوی، او نوې نسخه په ساده ډول غیر نصب شوی.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

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

یوازې یو شی شتون لري چې ناکام کیدی شي - که چیرې روغتیایی معاینه بریالۍ شي ، مګر غوښتنلیک د کار بار پلي کیدو سره سم ناکام کیږي ، دا دی ، سقوط به یوازې د ګمارنې بشپړیدو وروسته پیښ شي. په دې حالت کې، تاسو باید په لاسي ډول زاړه نسخه ته لاړ شئ. نو ، موږ د دې لپاره ډیزاین شوي د خلاصې سرچینې وسیلو سره د کبرنیټس کارولو څرنګوالی وګورو. د ګمارنې پروسه به خورا اسانه وي که تاسو دا وسیلې په خپل جوړ / ځای پرځای کولو پایپ لاینونو کې رامینځته کړئ. په ورته وخت کې ، د ګمارلو پیل کولو لپاره ، تاسو کولی شئ یا د کارونکي انٹرفیس وکاروئ یا دا پروسه په بشپړ ډول د کارولو له لارې اتومات کړئ ، د مثال په توګه ، ماسټر ته ژمن.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

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

راځئ چې بلې موضوع ته لاړ شو - د Kubernetes کلستر اندازه کول. په یاد ولرئ چې د kubectl کمانډ د اندازه کولو کمانډ دی. د لا زیاتو مرستو سره، موږ کولی شو په اسانۍ سره زموږ په موجوده کلستر کې د نقلونو شمیر زیات کړو. په هرصورت، په عمل کې، موږ معمولا غواړو د پوډونو پر ځای د نوډونو شمیر زیات کړو.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

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

دا ننګونه کیدی شي ځکه چې ایا موږ د ایمیزون یا بل کلاوډ خدمت کاروو ، کوبرنیټس د کارول شوي ماشینونو شمیر په اړه هیڅ نه پوهیږي. دا یوه وسیله نلري چې تاسو ته اجازه درکوي د نوډ په کچه سیسټم اندازه کړئ.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

نو موږ باید د دواړو نوډونو او پوډونو پاملرنه وکړو. موږ کولی شو په اسانۍ سره د AWS API او سکیلینګ ګروپ ماشینونو په کارولو سره د نوي نوډونو لانچ اندازه کړو ترڅو د Kubernetes کارمندانو نوډونو شمیر تنظیم کړو. تاسو کولی شئ د کلاوډ انټ یا ورته سکریپټ هم وکاروئ ترڅو د کوبرنیټس کلستر کې نوډونه ثبت کړئ.

نوی ماشین د سکیلینګ ګروپ کې پیل کیږي، ځان د نوډ په توګه پیل کوي، د ماسټر راجستر کې راجستر کیږي او کار پیل کوي. له دې وروسته ، تاسو کولی شئ په پایله شوي نوډونو کې د کارولو لپاره د عکسونو شمیر زیات کړئ. اندازه کول ډیرې هڅې ته اړتیا لري، ځکه چې تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې دا ډول ګام د "غیر ضروري" ماشینونو بندولو وروسته د مخکینۍ چلولو غوښتنلیکونو ویجاړولو المل نه کوي. د داسې سناریو د مخنیوي لپاره، تاسو اړتیا لرئ چې نوډونه "غیر منظم" حالت ته تنظیم کړئ. دا پدې مانا ده چې ډیفالټ مهالویش کونکی به دا نوډونه له پامه غورځوي کله چې د ډیمون سیټ پوډونه مهالویش کوي. مهالویش کونکی به د دې سرورونو څخه هیڅ شی حذف نکړي ، مګر هلته به نوي کانټینرونه هم نه پیل کړي. بل ګام د ډرین نوډ ایستل دی ، دا دی چې له دې څخه بل ماشین ته روان پوډونه لیږدول ، یا نور نوډونه چې د دې لپاره کافي ظرفیت لري. یوځل چې تاسو ډاډ ترلاسه کړئ چې په دې نوډونو کې نور کانټینرونه شتون نلري ، تاسو کولی شئ دوی له کوبرنیټس څخه لرې کړئ. له دې وروسته، دوی به په ساده ډول د Kubernetes لپاره شتون پای ته ورسوي. بیا ، تاسو اړتیا لرئ د غیر ضروري نوډونو یا ماشینونو غیر فعالولو لپاره د AWS API وکاروئ.
تاسو کولی شئ Amdatu Scalerd وکاروئ، د AWS API ته ورته د خلاصې سرچینې اندازه کولو وسیله. دا په کلستر کې د نوډونو اضافه کولو یا لرې کولو لپاره CLI چمتو کوي. د دې په زړه پورې ځانګړتیا د لاندې json فایل په کارولو سره د مهالویش تنظیم کولو وړتیا ده.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

ښودل شوی کوډ د شپې وخت په جریان کې د کلستر ظرفیت نیمایي ته کموي. دا د موجود نقلونو شمیر او د ایمیزون کلستر مطلوب ظرفیت دواړه تنظیموي. د دې مهالویش کارول به په اوتومات ډول د شپې د نوډونو شمیر کم کړي او په سهار کې یې زیات کړي ، د ایمیزون په څیر د بادل خدمت څخه د نوډونو کارولو لګښت خوندي کوي. دا فیچر په کوبرنیټس کې نه دی جوړ شوی، مګر د سکالرډ کارول به تاسو ته اجازه درکړي چې دا پلیټ فارم اندازه کړئ که څه هم تاسو غواړئ.

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

هو، په کوبرنیټس کې د دوامداره پلورنځیو مفهوم شتون لري، او تاسو کولی شئ د ډیټا پلورنځیو لکه مونګو یا مای ایس کیو ایل چلولو هڅه وکړئ، مګر دا خورا د کار سخت کار دی. دا د دې حقیقت له امله دی چې د معلوماتو ګودامونه د متحرک چاپیریال سره د تعامل بشپړ ملاتړ نه کوي. ډیری ډیټابیسونه د پام وړ تشکیلاتو ته اړتیا لري ، پشمول د کلستر لارښود ترتیب کول ، د اتوماتیک کولو او ورته ورته شیانو نه خوښوي.
له همدې امله ، تاسو باید په کوبرنیټس کې د ډیټا ګودام چلولو هڅه کولو سره خپل ژوند پیچلی نه کړئ. د پیژندل شوي خدماتو په کارولو سره خپل کار په دودیز ډول تنظیم کړئ او په ساده ډول د دوی کارولو وړتیا سره Kubernetes چمتو کړئ.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

د موضوع د پای ته رسولو لپاره، زه غواړم تاسو د کلاوډ RTI پلیټ فارم ته د Kubernetes پر بنسټ معرفي کړم، کوم چې زما ټیم کار کوي. دا مرکزي لاګنګ، غوښتنلیک او کلستر څارنه، او ډیری نور ګټور ځانګړتیاوې وړاندې کوي چې په کار کې راځي. دا د څارنې ښودلو لپاره مختلف خلاصې سرچینې وسیلې لکه ګرافانا کاروي.

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

DEVOXX UK. په تولید کې Kubernetes: نیلي / شین ځای پرځای کول، اتوماتیک کول او د ځای پرځای کولو اتومات کول. 2 برخه

د دې په اړه یوه پوښتنه وه چې ولې د کوبرنیټس سره د ها-پراکسي بار بیلانسر وکاروئ. ښه پوښتنه ځکه چې اوس مهال د بار توازن 2 کچې شتون لري. د Kubernetes خدمتونه لاهم په مجازی IP پته کې ژوند کوي. تاسو نشئ کولی دا په بهرني کوربه ماشینونو کې د بندرونو لپاره وکاروئ ځکه چې که ایمیزون خپل کلاوډ کوربه ډیر کړي ، نو پته به بدل شي. له همدې امله موږ د خدماتو په مخ کې ha-proxy ځای په ځای کوو - د ټرافیک لپاره یو ډیر جامد جوړښت رامینځته کولو لپاره چې د Kubernetes سره په بې ساري ډول اړیکه ونیسي.

بله ښه پوښتنه دا ده چې تاسو څنګه کولی شئ د ډیټابیس سکیما بدلونونو ته پاملرنه وکړئ کله چې نیلي / شنه ګمارل کوئ؟ حقیقت دا دی چې د Kubernetes کارولو په پام کې نیولو پرته، د ډیټابیس سکیما بدلول یو ستونزمن کار دی. تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې زوړ او نوې سکیما مطابقت لري، له هغې وروسته تاسو کولی شئ ډیټابیس تازه کړئ او بیا غوښتنلیکونه پخپله تازه کړئ. تاسو کولی شئ ډیټابیس ګرم کړئ او بیا غوښتنلیکونه تازه کړئ. زه د هغو خلکو په اړه پوهیږم چې د نوي سکیما سره په بشپړ ډول نوي ډیټابیس کلستر بوټ کړی ، دا یو اختیار دی که تاسو د مونګو په څیر سکیم بې ډیټابیس ولرئ ، مګر دا په هرصورت اسانه کار ندی. که تاسو نور پوښتنې نلرئ، ستاسو د پاملرنې لپاره مننه!

ځینې ​​اعلانونه 🙂

له موږ سره د پاتې کیدو لپاره مننه. ایا تاسو زموږ مقالې خوښوي؟ غواړئ نور په زړه پورې مینځپانګه وګورئ؟ د امر په ورکولو یا ملګرو ته وړاندیز کولو سره زموږ ملاتړ وکړئ ، کلاوډ VPS د پراختیا کونکو لپاره له $ 4.99 څخه, د ننوتلو کچې سرورونو یو ځانګړی انلاګ ، کوم چې زموږ لخوا ستاسو لپاره اختراع شوی و: د VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps په اړه بشپړ حقیقت له $ 19 څخه یا څنګه سرور شریک کړئ؟ (د RAID1 او RAID10 سره شتون لري، تر 24 کور پورې او تر 40GB DDR4 پورې).

ډیل R730xd په امستردام کې د Equinix Tier IV ډیټا مرکز کې 2 ځله ارزانه؟ یوازې دلته 2x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 تلویزیون له $199 څخه په هالنډ کې! ډیل R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - له $ 99 څخه! په اړه ولولئ د زیربنا شرکت جوړولو څرنګوالی د ډیل R730xd E5-2650 v4 سرورونو کارولو سره ټولګي د یوې پیسي لپاره د 9000 یورو ارزښت لري؟

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

Add a comment