نوټ. ژباړه: اصلي مقاله د VMware د معمار جوش روسو لخوا لیکل شوې وه چې دمخه یې په شرکتونو کې کار کاوه لکه CoreOS او Heptio، او د Kubernetes alb-ingress-controller همکار لیکوال هم دی. لیکوال یو کوچنی ترکیب شریکوي چې د "زاړه ښوونځي" عملیاتو انجینرانو لپاره خورا ګټور کیدی شي څوک چې حتی د بریالي بادل اصلي دور کې ویم غوره کوي.
په ویم کې د کبرنیټس لپاره د YAML څرګندونه لیکل؟ بې شمیره ساعتونه یې د دې معلومولو هڅه وکړه چې راتلونکی ساحه باید پدې ځانګړتیا کې چیرته وي؟ یا شاید تاسو به د توپیر یو چټک یادښت ستاینه وکړئ args
и command
؟ ښه خبر دی! ویم د لینک کولو لپاره اسانه دی
(اصلي مقاله هم
د ژبې سرور
د ژبې سرورونه (د ژبې سرورونه) ایډیټورانو او IDEs ته د برنامې ژبې وړتیاو په اړه وغږیږئ ، د کوم لپاره چې دوی د ځانګړي پروتوکول په کارولو سره له یو بل سره اړیکه لري -
د دې لپاره چې ویم په بیان شوي طریقه کار وکړي، تاسو به د ژبې سرور پیرودونکي نصبولو ته اړتیا ولرئ. هغه دوه میتودونه چې زه یې پوهیږم coc.vim
- دا په اوس وخت کې ترټولو مشهور پلگ ان دی. تاسو کولی شئ له لارې یې نصب کړئ
" 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
له ویم څخه:
:CocInstall coc-yaml
په نهایت کې ، تاسو به ډیری احتمال غواړئ د ترتیب سره پیل وکړئ coc-vim
، وړاندې شوی
د یامل - ژبې - سرور کشف تنظیم کول
چې coc
د yaml-language-server کارول کیدی شي، دا باید د YAML فایلونو ایډیټ کولو پر مهال د کوبرنیټس څخه سکیما پورته کولو غوښتنه وشي. دا د ترمیم په واسطه ترسره کیږي coc-config
:
:CocConfig
په ترتیب کې تاسو اړتیا لرئ اضافه کړئ kubernetes
د ټولو فایلونو لپاره yaml
. زه د دې لپاره د ژبې سرور هم کاروم golang
نو زما عمومي ترتیب داسې ښکاري:
{
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
},
"yaml.schemas": {
"kubernetes": "/*.yaml"
}
}
kubernetes
- یو خوندي ساحه چې د ژبې سرور ته وايي چې د کوبرنیټس سکیما له URL څخه ډاونلوډ کړي چې په کې تعریف شوي yaml.schemas
د اضافي سکیمونو مالتړ لپاره پراخ کیدی شي - د نورو جزیاتو لپاره، وګورئ
اوس تاسو کولی شئ د YAML فایل جوړ کړئ او د اتوماتیک بشپړولو کارول پیل کړئ. فشارول + ځای (یا په ویم کې ترتیب شوی بل ترکیب) باید د اوسني شرایطو سره سم موجود ساحې او اسناد وښیې:
دلته کار کوي + ځای ځکه چې ما تنظیم کړی inoremap <silent><expr> <c-space> coc#refresh()
. که تاسو دا کار نه دی کړی، وګورئ
د Kubernetes API نسخه غوره کول
د دې لیکنې سره سم، یامل-ژبه-سرور د کوبرنیټس 1.14.0 سکیمونو سره لیږدول کیږي. ما په متحرک ډول د سکیما غوره کولو لپاره لاره ونه موندله، نو ما خلاص کړ server.ts
.
ستاسو په ماشین کې د دې کشف کولو لپاره ، په ساده ډول د YAML فایل د vim سره خلاص کړئ او پروسه یې ومومئ yaml-language-server
.
ps aux | grep -i yaml-language-server
joshrosso 2380 45.9 0.2 5586084 69324 ?? S 9:32PM 0:00.43 /usr/local/Cellar/node/13.5.0/bin/node /Users/joshrosso/.config/coc/extensions/node_modules/coc-yaml/node_modules/yaml-language-server/out/server/src/server.js --node-ipc --node-ipc --clientProcessId=2379
joshrosso 2382 0.0 0.0 4399352 788 s001 S+ 9:32PM 0:00.00 grep -i 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
هلته ملاتړي سرکټونو ته واړول شو.
د دې لپاره چې وګورو چې بدلون اغیزمن شوی، وګورئ چې یو ساحه ښکاري چې مخکې نه وه [د کوبرنیټس په پخوانیو نسخو کې]. د مثال په توګه، د K8s 1.14 لپاره په ډیاګرام کې هیڅ شتون نلري
لنډیز
زه امید لرم چې دا فرصت به تاسو خوښ کړي لکه څنګه چې ما کړی. YAMLing مبارک شه! ډاډ ترلاسه کړئ چې دا ذخیره چیک کړئ ترڅو په مقاله کې ذکر شوي اسانتیاوې ښه پوه شي:
- coc-vim:
https://github.com/neoclide/coc.nvim ; - coc-yaml:
https://github.com/neoclide/coc-yaml .
PS د ژباړونکي څخه
او هم شته
زموږ په بلاګ کې هم ولولئ:
- «
kubebox او د Kubernetes لپاره نورې مرمۍ » - «
د کوبرنیټس سره د کیوبیکټل له لارې کار کولو لپاره د کنسول مرسته کونکي ".
سرچینه: www.habr.com