ويم ۾ ڪبرنيٽس لاءِ YAML منشور لکڻ؟ بيشمار ڪلاڪ خرچ ڪرڻ جي ڪوشش ڪري رهيا آهن ته ايندڙ فيلڊ هن وضاحت ۾ ڪٿي هجڻ گهرجي؟ يا ٿي سگهي ٿو ته توهان فرق جي جلدي ياد ڏياريندڙ جي ساراهه ڪندا args и command؟ سٺي خبر آهي! Vim سان ڳنڍڻ آسان آهي yaml-ٻولي-سرورخودڪار مڪمل ٿيڻ، تصديق ۽ ٻيون سهولتون حاصل ڪرڻ لاءِ. هن آرٽيڪل ۾ اسين ڳالهائينداسين ته ڪيئن سيٽ اپ ڪرڻ لاءِ ٻولي سرور ڪلائنٽ هن لاءِ.
(اصل مضمون پڻ اتي هڪ وڊيو آهي، جتي ليکڪ ڳالهائي ٿو ۽ مواد جي مواد کي ظاهر ڪري ٿو.)
ٻولي سرور
ٻولي سرورز (ٻولي سرور) پروگرامنگ ٻولين جي صلاحيتن بابت ايڊيٽرن ۽ IDEs جي باري ۾ ڳالهايو، جنهن لاءِ اهي هڪ خاص پروٽوڪول استعمال ڪندي هڪ ٻئي سان رابطو ڪن ٿا. ٻوليء جو سرور پروٹوکول (LSP). اهو هڪ بهترين طريقو آهي ڇاڪاڻ ته اهو هڪ عمل درآمد ڪرڻ جي اجازت ڏئي ٿو ڪيترن ئي ايڊيٽرن/IDEs کي هڪ ئي وقت ۾ ڊيٽا مهيا ڪرڻ. مون وٽ اڳ ۾ ئي آهي لکيو جي باري ۾ گوپلس - گولانگ لاءِ هڪ ٻولي سرور - ۽ اهو ڪيئن استعمال ڪري سگهجي ٿو vim. ڪبرنيٽس لاءِ YAML ۾ خودڪار مڪمل ٿيڻ جا قدم ساڳيا آهن.
بيان ڪيل طريقي سان ڪم ڪرڻ لاءِ ويم لاءِ، توهان کي انسٽال ڪرڻو پوندو ٻولي سرور ڪلائنٽ. ٻن طريقن جي مون کي خبر آهي LanguageClient-neovim и coc.vim. مضمون ۾ آئون غور ڪندس coc.vim - هي هن وقت سڀ کان وڌيڪ مشهور پلگ ان آهي. توھان ان جي ذريعي انسٽال ڪري سگھو ٿا vim-plug:
" Use release branch (Recommend)
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Or build from source code by use yarn: https://yarnpkg.com
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
شروعات لاءِ coc (۽ اھڙي طرح yaml-language-server) جي ضرورت پوندي node.js انسٽال ٿيل:
curl -sL install-node.now.sh/lts | bash
جڏهن coc.vim ترتيب ڏنل، سرور جي واڌ کي انسٽال ڪريو coc-yaml vim کان:
:CocInstall coc-yaml
آخرڪار، توهان گهڻو ڪري ترتيب سان شروع ڪرڻ چاهيندا coc-vim، پيش ڪيل مثال طور. خاص طور تي، اهو ميلاپ کي چالو ڪري ٿو + خلا خودڪار مڪمل ٿيڻ کي سڏڻ لاء.
yaml-ٻولي-سرور جي سڃاڻپ کي ترتيب ڏيڻ
ته coc yaml-language-server استعمال ڪري سگھي ٿو، ان کي ڪبرنيٽس کان اسڪيما لوڊ ڪرڻ لاءِ چيو وڃي ٿو جڏھن YAML فائلن کي ايڊٽ ڪيو وڃي. اهو ڪم تبديليءَ سان ڪيو ويندو آهي coc-config:
:CocConfig
ترتيب ۾ توهان کي شامل ڪرڻ جي ضرورت پوندي kubernetes سڀني فائلن لاء yaml. مان اضافي طور استعمال ڪريان ٿو ٻولي سرور لاءِ golangتنهن ڪري منهنجو عام ترتيب هن طرح ڏسڻ ۾ اچي ٿو:
ھاڻي توھان ٺاھي سگھوٿا YAML فائل ۽ استعمال ڪرڻ شروع ڪريو خودڪار مڪمل ڪرڻ. دٻائڻ + خلا (يا ويم ۾ ترتيب ڏنل ٻيون ميلاپ) کي ڏيکاريو وڃي موجوده فيلڊز ۽ دستاويزن کي موجوده تناظر مطابق:
هتي ڪم ڪري ٿو +space ڇاڪاڻ ته مون ترتيب ڏني inoremap <silent><expr> <c-space> coc#refresh(). جيڪڏهن توهان اهو نه ڪيو آهي، ڏسو coc.nvim README مثال جي تشڪيل لاء.
Kubernetes API ورزن کي چونڊيو
هن لکڻ جي طور تي، yaml-ٻولي-سرور ٻيڙيون Kubernetes 1.14.0 اسڪيمن سان. مون کي متحرڪ طور تي هڪ اسڪيما چونڊڻ جو طريقو نه مليو، تنهنڪري مون کوليو لاڳاپيل GitHub مسئلو. خوشقسمتيءَ سان، جيئن ته ٻوليءَ جو سرور ٽائپ اسڪرپٽ ۾ لکيل آهي، ان ڪري دستي طور ورجن کي تبديل ڪرڻ بلڪل آسان آهي. هن کي ڪرڻ لاء، صرف فائل ڳولهيو server.ts.
توهان جي مشين تي ان کي ڳولڻ لاء، صرف کوليو YAML فائل سان گڏ ۽ عمل سان ڳولهيو yaml-language-server.
اسان لاءِ لاڳاپيل عمل 2380 پروسيس آهي: اهو اهو آهي جيڪو ويم استعمال ڪندو آهي جڏهن YAML فائل کي ايڊٽ ڪيو ويندو آهي.
جئين توهان آساني سان ڏسي سگهو ٿا، فائل ۾ واقع آهي /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js. بس قدر تبديل ڪندي ان کي تبديل ڪريو KUBERNETES_SCHEMA_URLمثال طور، نسخو 1.17.0 لاءِ:
// old 1.14.0 schema
//exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/garethr/kubernetes-json-schema/master/v1.14.0-standalone-strict/all.json";
// new 1.17.0 schema in instrumenta repo
exports.KUBERNETES_SCHEMA_URL = "https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/v1.17.0-standalone-strict/all.json";
استعمال ٿيل نسخي تي منحصر آهي coc-yaml ڪوڊ ۾ متغير جو مقام مختلف ٿي سگھي ٿو. مهرباني ڪري اهو پڻ نوٽ ڪريو ته مون کان مخزن کي تبديل ڪيو garethr تي instrumenta. لڳي ٿو ته garethr اتي سپورٽ سرڪٽس ڏانهن تبديل ڪيو ويو.
چيڪ ڪرڻ لاءِ ته تبديلي اثرائتو ٿي چڪي آهي، ڏسو ته ڇا ڪو فيلڊ ظاهر ٿئي ٿو جيڪو اڳ موجود نه هو [Kubernetes جي پوئين ورزن ۾]. مثال طور، K8s 1.14 لاء ڊراگرام ۾ ڪو به نه هو startupProbe:
خلاصو
مون کي اميد آهي ته هي موقعو توهان کي خوش ڪري ٿو جيترو اهو مون ڪيو هو. خوش ٿيو YAMLing! مضمون ۾ ذڪر ڪيل افاديت کي بهتر سمجهڻ لاءِ انهن ذخيرن کي چيڪ ڪرڻ جي پڪ ڪريو: