Kubernetes ويب ڏيک جو اعلان (۽ Kubernetes لاءِ ٻين ويب UIs جو مختصر جائزو)
نوٽ. ترجمو: اصل مواد جو مصنف هيننگ جيڪبس از زالينڊو آهي. هن Kubernetes سان ڪم ڪرڻ لاءِ هڪ نئون ويب انٽرفيس ٺاهيو، جيڪو ”ويب لاءِ ڪبيڪٽ“ جي حيثيت رکي ٿو. ڇو هڪ نئون اوپن سورس پروجيڪٽ ظاهر ٿيو ۽ موجوده حلن سان ڪهڙا معيار پورا نه ٿيا - سندس مضمون پڙهو.
هن پوسٽ ۾، آئون مختلف اوپن سورس ڪبرنيٽس ويب انٽرفيس جو جائزو وٺان ٿو، هڪ آفاقي UI لاءِ منهنجون گهرجون بيان ڪريان ٿو، ۽ وضاحت ڪريان ٿو ته مون ڇو ترقي ڪئي Kubernetes ويب ڏسو - ھڪڙو انٽرفيس ٺاھيو ويو آھي ان کي آسان بڻائڻ لاءِ مدد ڪرڻ ۽ ھڪڙي ئي وقت ڪيترن ئي ڪلسٽرن کي حل ڪرڻ.
ڪيس استعمال ڪريو
Zalando تي اسان ڪبرنيٽس استعمال ڪندڙن جي وڏي تعداد جي خدمت ڪندا آهيون (900+) ۽ ڪلستر (100+). ڪجھ عام استعمال جا ڪيس آھن جيڪي ھڪڙي وقف ويب اوزار مان فائدو وٺندا آھن:
سهڪار لاءِ ساٿين سان رابطو؛
واقعن جو جواب ڏيڻ ۽ انهن جي سببن جي تحقيق ڪرڻ.
حمايت
منهنجي تجربي ۾، سپورٽ مواصلات اڪثر هن طرح نظر اچن ٿا:
- مون کي سڃاڻپ سروس سان ڪجهه مسئلو آهي ...
- حڪم ڇا پيدا ڪري ٿو؟ kubectl describe platformcredentialsset ...?
اهڙا ڪميونيڪيشن عام طور تي حڪم جي مختلف تبديلين کي داخل ڪرڻ لاء هيٺ اچي ٿو kubectl مسئلو کي سڃاڻڻ لاء. نتيجي طور، گفتگو لاءِ ٻنهي ڌرين کي مسلسل ٽرمينل ۽ ويب چيٽ جي وچ ۾ سوئچ ڪرڻ تي مجبور ڪيو ويو آهي، ان سان گڏ اهي هڪ مختلف صورتحال جو مشاهدو ڪن ٿا.
استعمال ڪندڙ ڪري سگھن ٿا مٽا سٽا لنڪ ۽ ساڳئي شيء کي ڏسو؛
مدد ڪندو انساني غلطين کان بچڻ سپورٽ ۾: مثال طور، ڪمانڊ لائن تي غلط ڪلستر ۾ لاگ ان ٿيڻ، CLI حڪمن ۾ ٽائپس، وغيره.
اجازت ڏيندو پنهنجا پنهنجا خيال پيدا ڪريو ساٿين کي موڪلڻ لاءِ، يعني ٽيگ جا ڪالم شامل ڪريو، ھڪڙي صفحي تي ڪيترن ئي قسمن جا وسيلا ڏيکاريو؛
مثالي طور، هي ويب اوزار توهان کي سيٽ ڪرڻ جي اجازت ڏيڻ گهرجي YAML جي مخصوص حصن سان "گہرا" لنڪ (مثال طور، هڪ غلط پيٽرولر کي اشارو ڪندي جيڪو ناڪامي جو سبب بڻيل آهي).
حادثي جو جواب ۽ تجزيو
انفراسٹرڪچر جي واقعن جو جواب ڏيڻ جي ضرورت آهي صورتحال جي شعور، اثر جو جائزو وٺڻ جي صلاحيت، ۽ ڪلستر ۾ نمونن جي ڳولا. ڪجھ حقيقي زندگي جا مثال:
هڪ نازڪ پيداوار جي خدمت ۾ مسئلا آهن ۽ توهان کي ضرورت آهي سڀ ڪلستر ۾ نالي سان سڀ Kubernetes وسيلا ڳوليومسئلو حل ڪرڻ؛
نوڊس گرڻ شروع ڪن ٿا جڏهن اسڪيلنگ ۽ توهان کي ضرورت آهي سڀني ڪلسٽرن ۾ "پينڊنگ" جي حيثيت سان سڀئي پوڊ ڳوليومسئلي جي دائري جو جائزو وٺڻ لاء؛
انفرادي استعمال ڪندڙ هڪ مسئلي جي رپورٽ ڪري رهيا آهن DaemonSet سان گڏ سڀني ڪلسٽرن ۾ مقرر ڪيل ۽ ڄاڻڻ جي ضرورت آهي ڇا مسئلو مڪمل آهي؟.
اهڙين حالتن ۾ منهنجو معياري حل ڪجهه جهڙو آهي for i in $clusters; do kubectl ...; done. ظاهر آهي، هڪ اوزار ٺاهي سگهجي ٿو جيڪا ساڳي صلاحيتون مهيا ڪري ٿي.
موجوده Kubernetes ويب انٽرفيس
Kubernetes ڏانهن ويب انٽرفيس جي اوپن سورس دنيا تمام وڏي نه آهي*، تنهنڪري مون وڌيڪ معلومات گڏ ڪرڻ جي ڪوشش ڪئي Twitter:
هڪ ٽوئيٽ ذريعي مون کي خبر پئي K8Dash, ڪبرنيٽر и اوڪٽنٽ. اچو ته انهن کي ڏسو ۽ ٻيا موجود اوپن سورس حل، اچو ته سمجهڻ جي ڪوشش ڪريون ته اهي ڇا آهن.
K8Dash
"K8Dash هڪ Kubernetes ڪلستر کي منظم ڪرڻ جو آسان طريقو آهي."
K8Dash سٺو لڳندو آهي ۽ تيز محسوس ٿيندو آهي، پر مٿي ڏنل فهرستن جي استعمال جي ڪيسن لاءِ ڪيترائي نقصان آهن:
صرف ھڪڙي ڪلستر جي حدن اندر ڪم ڪري ٿو.
ترتيب ۽ فلٽرنگ ممڪن آهي، پر پرمي لنڪس نه آهن.
ڪسٽم ريسورس ڊيفينشنز (CRDs) لاءِ ڪا به سپورٽ ناهي.
ڪبرنيٽر
"Kubernator هڪ متبادل UI آهي Kubernetes لاءِ. اعليٰ سطحي Kubernetes ڊيش بورڊ جي برعڪس، اهو ڪلستر ۾ موجود سڀني شين ۾ گهٽ-سطح ڪنٽرول ۽ شاندار نمائش مهيا ڪري ٿو، نيون شيون ٺاهڻ، انهن ۾ ترميم ڪرڻ ۽ تڪرار حل ڪرڻ جي صلاحيت سان. مڪمل طور تي ڪلائنٽ سائڊ ايپليڪيشن هجڻ جي ڪري (جهڙوڪ kubectl)، ان کي خود ڪبرنيٽس API سرور کان سواءِ ڪنهن به پسمنظر جي ضرورت ناهي، ۽ ڪلستر جي رسائي جي ضابطن جو پڻ احترام ڪري ٿو.
هي هڪ بلڪل صحيح وضاحت آهي ڪبرنيٽر. بدقسمتي سان، ان ۾ ڪجهه خاصيتون نه آهن:
صرف هڪ ڪلستر جي خدمت ڪري ٿو.
هتي ڪا به فهرست ڏسڻ واري موڊ ناهي (يعني، توهان سڀني پوڊ کي "پينڊنگ" اسٽيٽس سان ظاهر نه ٿا ڪري سگهو).
ڪبرنيٽس ڊيش بورڊ
"Kubernetes ڊيش بورڊ هڪ آفاقي ويب انٽرفيس آهي Kubernetes ڪلسٽرز لاءِ. اهو صارفين کي ڪلستر ۾ هلندڙ ايپليڪيشنن کي منظم ڪرڻ ۽ ان کي حل ڪرڻ جي اجازت ڏئي ٿو، انهي سان گڏ پاڻ کي ڪلستر کي منظم ڪرڻ جي اجازت ڏئي ٿو.
بدقسمتي سان ڪبرنيٽس ڊيش بورڊ واقعي منهنجي مدد ۽ واقعن جي جوابي سرگرمين سان مدد نٿو ڪري ڇاڪاڻ ته اهو:
هتي ڪي به مستقل لنڪ نه آهن، مثال طور جڏهن آئون وسيلن کي فلٽر ڪريان يا ترتيب ترتيب تبديل ڪريان؛
اسٽيٽس جي ذريعي فلٽر ڪرڻ جو ڪو آسان طريقو ناهي - مثال طور، ڏسو سڀ پوڊ اسٽيٽس سان گڏ ”پينڊنگ“؛
صرف هڪ ڪلستر جي حمايت ڪئي وئي آهي؛
CRDs سپورٽ نه آهن (هي خصوصيت ترقي هيٺ آهي)؛
ڪو به ڪسٽم ڪالم نه آهي (جهڙوڪ ڪالمن جو ليبل ٿيل قسم kubectl -L).
Kubernetes عملياتي ڏيک (kube-ops-view)
"K8s ڪلستر اسپيس لاءِ سسٽم ڊيش بورڊ مبصر."
У Kubernetes آپريشنل ڏيک هڪ مڪمل طور تي مختلف طريقو: هي اوزار صرف ڪلسٽر نوڊس ۽ پوڊ ڏيکاري ٿو WebGL استعمال ڪندي، بغير ڪنهن متن جي اعتراض جي تفصيل جي. اهو ڪلستر جي صحت جي تڪڙو جائزو وٺڻ لاءِ تمام سٺو آهي (ڇا پوڊز گهٽجي رهيا آهن؟)*، پر اهو مٿي بيان ڪيل مدد ۽ واقعن جي جوابي استعمال جي ڪيسن لاءِ مناسب ناهي.
* نوٽ. ترجمو: انهي لحاظ سان، توهان شايد اسان جي پلگ ان ۾ دلچسپي رکو ٿا grafana-statusmap، جنهن بابت اسان وڌيڪ تفصيل سان ڳالهايو اهو مضمون.
Kubernetes وسيلن جي رپورٽ (kube-resource-report)
"پڊ ۽ ڪبرنيٽس ڪلستر وسيلن جي درخواستن کي گڏ ڪريو، انھن کي وسيلن جي استعمال سان موازنہ ڪريو، ۽ جامد HTML ٺاھيو."
Kubernetes وسيلن جي رپورٽ وسيلن جي استعمال تي جامد HTML رپورٽون ٺاهي ٿو ۽ ڪلستر ۾ ٽيمن/ايپليڪيشنن ۾ قيمت جي ورڇ. رپورٽ ڪجهه حد تائين مدد ۽ واقعن جي جواب لاءِ ڪارائتو آهي ڇو ته اها توهان کي جلدي ڪلستر ڳولڻ جي اجازت ڏئي ٿي جتي ايپليڪيشن ترتيب ڏني وئي آهي.
نوٽ. ترجمو: هڪ خدمت ۽ اوزار پڻ ڪارائتو ٿي سگھي ٿو معلومات کي ڏسڻ ۾ وسيلن جي مختص ڪرڻ ۽ انهن جي قيمتن جي ڪلائوڊ فراهم ڪندڙن کان ڪوبيڪوسٽ، جنهن جو جائزو وٺون ٿا تازو شايع ٿيل.
اوڪٽنٽ
"هڪ وسيع ويب پليٽ فارم ڊولپرز لاءِ ٺاهيو ويو آهي ته جيئن Kubernetes ڪلستر جي پيچيدگي کي وڌيڪ سمجھڻ لاءِ."
اوڪٽنٽ, VMware پاران ٺاهيل، هڪ نئين پراڊڪٽ آهي جنهن بابت مون نسبتاً تازو سکيو آهي. ان جي مدد سان، اهو آسان آهي ته ڪلستر کي مقامي مشين تي ڳولڻ لاء (ان ۾ پڻ بصريات موجود آهن)، پر اهو صرف هڪ محدود حد تائين مدد ۽ واقعن جي جواب جي مسئلن کي حل ڪري ٿو. اوڪٽنٽ جا نقصان:
ڪابه ڪلستر جي ڳولا.
صرف مقامي مشين تي ڪم ڪري ٿو (ڪلسٽر کي ترتيب نه ڏيندو آهي).
شين کي ترتيب/فلٽر نه ٿو ڪري سگھجي (صرف ليبل چونڊيندڙ سپورٽ ٿيل آهي).
توهان ڪسٽم ڪالمن جي وضاحت نٿا ڪري سگهو.
توھان نالن جي جڳھ سان شيون لسٽ نٿا ڪري سگھو.
مون کي Zalando ڪلستر سان Octant جي استحڪام سان پڻ مسئلا هئا: ڪجهه CRDs تي هو ڪري پيو.
متعارف ڪرايو Kubernetes Web View
"ويب لاء ڪيبيڪل".
ڪبرنيٽس لاءِ دستياب انٽرفيس آپشنز جو تجزيو ڪرڻ کان پوءِ، مون فيصلو ڪيو ته نئون ٺاھيو: Kubernetes ويب ڏسو. سڀ کان پوء، حقيقت ۾، مون کي صرف تمام طاقت جي ضرورت آهي kubectl ويب تي، يعني:
سڀني (صرف پڙهڻ لاءِ) عملن جي دستيابي جنهن لاءِ استعمال ڪندڙ کي ترجيح ڏين ٿا kubectl؛
سڀئي URLs مستقل ھجن ۽ صفحي کي ان جي اصل شڪل ۾ پيش ڪن ته جيئن ساٿي انھن کي شيئر ڪري سگھن ۽ انھن کي ٻين اوزارن ۾ استعمال ڪري سگھن؛
سڀني ڪبرنيٽس شين جي حمايت، جيڪا توهان کي ڪنهن به قسم جي مسئلي کي حل ڪرڻ جي اجازت ڏيندو؛
ليبل ذريعي وسيلن کي چونڊڻ لاءِ سپورٽ (ساڳي kubectl get .. -l);
وسيلن جي مختلف قسمن جي گڏيل لسٽ ٺاهڻ جي صلاحيت (ساڳي kubectl get all) ساٿين جي وچ ۾ هڪ عام عملياتي تصوير حاصل ڪرڻ لاء (مثال طور، هڪ واقعي جي جواب جي دوران)؛
ٻين اوزارن جهڙوڪ ڊيش بورڊ، لاگرز، ايپليڪيشن رجسٽري وغيره ۾ ڪسٽم سمارٽ ڊيپ لنڪس شامل ڪرڻ جي صلاحيت. غلطين کي حل ڪرڻ / حل ڪرڻ ۽ واقعن جو جواب ڏيڻ جي سهولت ڏيڻ؛
بي ترتيب مسئلن کان بچڻ لاءِ فرنٽ اينڊ کي جيترو ٿي سگهي سادو (خالص HTML) هجڻ گهرجي، جهڙوڪ منجمد جاوا اسڪرپٽ؛
ڪيترن ئي ڪلسترن لاءِ سپورٽ ريموٽ مشاورت دوران رابطي کي آسان ڪرڻ لاءِ (مثال طور، صرف هڪ URL ياد ڪرڻ)؛
جيڪڏهن ممڪن هجي ته، حالتن جي تجزيي کي آسان ڪيو وڃي (مثال طور، سڀني ڪلسٽرز/نالي اسپيس لاءِ وسيلن کي ڊائونلوڊ ڪرڻ جي لنڪ سان)؛
لچڪدار لنڪس ٺاهڻ ۽ ٽيڪسٽ معلومات کي اجاگر ڪرڻ جا اضافي موقعا، مثال طور، ته جيئن توهان پنهنجي ساٿين کي وسيلن جي وضاحت ۾ هڪ مخصوص حصي ڏانهن اشارو ڪري سگهو (YAML ۾ هڪ لائن)؛
هڪ مخصوص ڪلائنٽ جي ضرورتن کي ترتيب ڏيڻ جي صلاحيت، مثال طور، توهان کي CRDs لاءِ خاص ڊسپلي ٽيمپليٽ ٺاهڻ جي اجازت ڏيڻ، توهان جي پنهنجي ٽيبل جي ڏيک، ۽ CSS انداز کي تبديل ڪرڻ؛