نوٽ. ترجمو: مضمون Scott Lowe طرفان لکيو ويو آهي، جيڪو IT ۾ وسيع تجربو رکندڙ انجنيئر آهي، جيڪو ست ڇپيل ڪتابن جو ليکڪ/ شريڪ ليکڪ آهي (بنيادي طور تي VMware vSphere تي). هو هاڻي ڪم ڪري ٿو ان جي VMware ماتحت اداري Heptio (2016 ۾ حاصل ڪيل)، ڪلائوڊ ڪمپيوٽنگ ۽ ڪبرنيٽس ۾ ماهر. متن پاڻ کي ٽيڪنالاجي استعمال ڪندي Kubernetes لاءِ ترتيب ڏيڻ جي انتظام جي هڪ جامع ۽ سمجھڻ ۾ آسان تعارف جي طور تي ڪم ڪري ٿو حسب ضرورت، جيڪو تازو K8s جو حصو بڻجي ويو.
Kustomize ھڪڙو اوزار آھي جيڪو صارفين کي "مختلف مقصدن لاء سادي، ٽيمپليٽ فري YAML فائلن کي ترتيب ڏيڻ جي اجازت ڏئي ٿو، اصل YAML برقرار ۽ قابل استعمال" (تفصيل سڌو سنئون GitHub تي ڪسٽمائيز مخزن). Kustomize سڌو هلائي سگھجي ٿو يا، ڪبرنيٽس 1.14 جي طور تي، استعمال ٿيل kubectl -k ان جي ڪارڪردگي تائين رسائي حاصل ڪرڻ لاءِ (جيتوڻيڪ Kubernetes 1.15 جي مطابق، الڳ بائنري ڪبيڪٽل ۾ ٺهيل صلاحيتن کان نئون آهي). (نوٽ. ترجمو: ۽ تازو رليز سان ڪبرنيٽز 1.16 ترتيب ڏيڻ جي حمايت ڪئي پڻ kubeadm افاديت ۾.) هن پوسٽ ۾، مان پڙهندڙن کي متعارف ڪرائڻ چاهيان ٿو ڪسٽمائيز جي بنيادي ڳالهين.
ان جي آسان ترين فارم/ايپليڪيشن ۾، kustomize صرف وسيلن جو هڪ مجموعو آهي (YAML فائلون جيڪي وضاحت ڪن ٿيون Kubernetes شيون: Deployments, Services, etc.) ۽ انهن تبديلين لاءِ هدايتن جي هڪ فهرست جيڪي انهن وسيلن ۾ ٿيڻ گهرجن. جيئن ته ٺاهيو استعمال ڪري ٿو هدايتون سيٽ ۾ موجود Makefile، ۽ Docker کان هدايتون جي بنياد تي ڪنٽينر ٺاهي ٿو Dockerfile، حسب ضرورت استعمال kustomization.yaml استعمال ڪندڙ وسيلن جي سيٽ ۾ ڪهڙيون تبديليون ڪرڻ چاهي ٿو بابت هدايتون ذخيرو ڪرڻ لاءِ.
هتي هڪ مثال فائل آهي kustomization.yaml:
resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
environment: development
مان فائل ۾ سڀني ممڪن شعبن بابت ڳالهائڻ جي ڪوشش نه ڪندس. kustomization.yaml (هن بابت سٺو لکيو ويو آهي هتي)، پر مان هڪ خاص مثال جي مختصر وضاحت ڏيندس:
ميدان resources اشارو ڪري ٿو (ڪهڙا وسيلا) ڪسٽمائيز تبديل ٿي ويندا. انهي حالت ۾، اهو فائلن ۾ وسيلن جي ڳولا ڪندو deployment.yaml и service.yaml توهان جي ڊاريڪٽري ۾ (جيڪڏهن ضروري هجي ته توهان مڪمل يا لاڳاپيل رستا بيان ڪري سگهو ٿا).
ميدان namePrefix هڪ خاص اڳڪٿي شامل ڪرڻ لاءِ ڪسٽمائيز کي هدايت ڪري ٿو (هن صورت ۾ - dev-) منسوب ڪرڻ name فيلڊ ۾ بيان ڪيل سڀئي وسيلا resources. اهڙيء طرح، جيڪڏهن تعیناتي آهي name معنيٰ سان nginx-deployment، حسب ضرورت ٺاهيندو dev-nginx-deployment.
ميدان namespace kustomize کي سڀني وسيلن ۾ ڏنل نالي جي جڳھ شامل ڪرڻ جي هدايت ڪري ٿو. انهي صورت ۾، تعیناتي ۽ خدمت نالي جي جاء تي گر ٿي ويندي development.
آخرڪار، ميدان commonLabels ليبلن جو هڪ سيٽ شامل آهي جيڪو سڀني وسيلن ۾ شامل ڪيو ويندو. اسان جي مثال ۾، kustomize نالي سان وسيلن کي هڪ ليبل تفويض ڪندو environment ۽ معنيٰ development.
جيڪڏهن صارف ڪندو kustomize build . ڊاريڪٽري ۾ فائل سان گڏ kustomization.yaml ۽ ضروري وسيلا (يعني فائلون deployment.yaml и service.yaml)، پوء ٻاھر نڪرڻ تي ان ۾ بيان ڪيل تبديلين سان متن وصول ڪندو kustomization.yaml.
نوٽ. ترجمو: ڪسٽمائيز جي ”سادو“ استعمال تي پروجيڪٽ جي دستاويزن مان مثال
ٻاھر ڪڍي سگھجي ٿو جيڪڏھن تبديلين کي انجام ڏيڻ جي ضرورت آھي:
kustomize build . > custom-config.yaml
ٻاھر نڪرندڙ ڊيٽا تعيناتي آھي (ساڳي ان پٽ ڊيٽا ساڳيا ٻاھر نڪرندڙ نتيجا پيدا ڪندي)، تنھنڪري توھان کي فائل ۾ نتيجو محفوظ ڪرڻ جي ضرورت نھ آھي. ان جي بدران، اهو سڌو سنئون ٻئي حڪم ڏانهن منتقل ٿي سگهي ٿو:
نوٽ. ترجمو: توهان پڻ سفارش ڪري سگهو ٿا بلاڪ جي لنڪ جي طور تي شايع ٿيل شاهاڻي يوٽيلٽي جي ويب سائيٽ تي، بعد ۾ وڊيوز جو هڪ مجموعو ڪسٽمائيز بابت تازي رپورٽن سان.
جيڪڏهن توهان وٽ هن مواد کي بهتر ڪرڻ لاءِ سوال يا تجويزون آهن، آئون هميشه راءِ ڏيڻ لاءِ کليل آهيان. توهان مون سان رابطو ڪري سگهو ٿا تي Twitter يا ڪبرنيٽس سست چينل. پنهنجي منشور کي ڪسٽمائيز سان تبديل ڪرڻ ۾ مزو وٺو!