ማስታወሻ. ትርጉምዋናው መጣጥፍ የተጻፈው በቪኤምዌር አርክቴክት በጆሽ ሮስሶ ሲሆን ቀደም ሲል እንደ CoreOS እና Heptio ባሉ ኩባንያዎች ውስጥ ይሰራ ነበር እንዲሁም የኩበርኔትስ አልብ-ኢንግረስ-ተቆጣጣሪው ተባባሪ ደራሲ ነው። ደራሲው በአሸናፊው የደመና ተወላጅ ዘመን እንኳን ቪም ለሚመርጡ "የድሮ ትምህርት ቤት" ኦፕሬሽኖች መሐንዲሶች በጣም ጠቃሚ ሊሆን የሚችል ትንሽ የምግብ አሰራርን አካፍሏል።

YAML መፃፍ ለ Kubernetes በቪም? በዚህ ዝርዝር ውስጥ ቀጣዩ መስክ የት መሆን እንዳለበት ለማወቅ ስፍር ቁጥር የሌላቸውን ሰዓታት አሳልፈዋል? ወይም ደግሞ ስለ ልዩነቱ ፈጣን ማሳሰቢያ ያደንቁ ይሆናል። args и command? መልካም ዜና አለ! ቪም ለማገናኘት ቀላል ነው አውቶማቲክ ማጠናቀቅ, ማረጋገጫ እና ሌሎች ምቾቶችን ለማግኘት. በዚህ ጽሑፍ ውስጥ ለዚህ የቋንቋ አገልጋይ ደንበኛን እንዴት ማዋቀር እንደሚቻል እንነጋገራለን.
(የመጀመሪያው ጽሑፍ እንዲሁ ደራሲው የጽሁፉን ይዘት የሚናገርበት እና የሚያሳይበት።)
የቋንቋ አገልጋይ
የቋንቋ አገልጋዮች (የቋንቋ አገልጋዮች) ልዩ ፕሮቶኮልን በመጠቀም እርስ በእርስ ስለሚገናኙባቸው የፕሮግራም ቋንቋዎች ለአርታዒዎች እና IDEዎች ችሎታዎች ይናገሩ - (ኤልኤስፒ) ይህ በጣም ጥሩ አቀራረብ ነው ምክንያቱም አንድ ትግበራ ለብዙ አርታኢዎች / IDEዎች በአንድ ጊዜ መረጃን ለማቅረብ ያስችላል. አስቀድሜ አለኝ ስለ - ለጎልአንግ የቋንቋ አገልጋይ - እና እንዴት ጥቅም ላይ ሊውል ይችላል። . በ YAML ለ Kubernetes አውቶማቲክ ማጠናቀቂያ እርምጃዎች ተመሳሳይ ናቸው።

ቪም በተገለፀው መንገድ እንዲሰራ የቋንቋ አገልጋይ ደንበኛን መጫን ያስፈልግዎታል። የማውቃቸው ሁለቱ ዘዴዎች ናቸው። и . በጽሁፉ ውስጥ እመለከተዋለሁ 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-ቋንቋ-አገልጋይ) node.js መጫን ያስፈልገዋል፡-
curl -sL install-node.now.sh/lts | bash
መቼ coc.vim የተዋቀረ፣ የአገልጋይ ቅጥያውን ይጫኑ coc-yaml ከቪም:
:CocInstall coc-yaml

በመጨረሻም፣ በጣም አይቀርም በማዋቀር መጀመር ትፈልጋለህ coc-vim፣ አቅርቧል . በተለይም ጥምሩን ያንቀሳቅሰዋል + ቦታ አውቶማቲክ ማጠናቀቅን ለመጥራት.
የ yaml-ቋንቋ-አገልጋይ ማወቂያን በማዘጋጀት ላይ
ያ coc Yaml-ቋንቋ-አገልጋይ ሊጠቀም ይችላል፣የ YAML ፋይሎችን በሚያርትዑበት ጊዜ ከኩበርኔትስ ንድፉን እንዲጭን መጠየቅ ያስፈልጋል። ይህ በአርትዖት ይከናወናል coc-config:
:CocConfig
በማዋቀሩ ውስጥ መጨመር ያስፈልግዎታል kubernetes ለሁሉም ፋይሎች yaml. እኔ በተጨማሪ የቋንቋ አገልጋይ እጠቀማለሁ። golangስለዚህ የእኔ አጠቃላይ መዋቅር ይህንን ይመስላል
{
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod"],
"filetypes": ["go"]
}
},
"yaml.schemas": {
"kubernetes": "/*.yaml"
}
}
kubernetes - የቋንቋ አገልጋዩ የ Kubernetes ን ንድፍ ከተገለጸው ዩአርኤል እንዲያወርድ የሚናገር የተጠበቀ መስክ . yaml.schemas ተጨማሪ እቅዶችን ለመደገፍ ሊሰፋ ይችላል - ለተጨማሪ ዝርዝሮች, ይመልከቱ .
አሁን የ YAML ፋይል መፍጠር እና ራስ-አጠናቅቅን መጠቀም መጀመር ይችላሉ። በመጫን ላይ + ቦታ (ወይም በቪም ውስጥ የተዋቀረ ሌላ ጥምረት) አሁን ባለው አውድ መሰረት ያሉትን መስኮች እና ሰነዶች ማሳየት አለበት፡

እዚህ ይሰራል + ቦታ ስላዋቀርኩ ነው። inoremap <silent><expr> <c-space> coc#refresh(). ይህን ካላደረጉት ይመልከቱ ለምሳሌ ውቅር.
የ Kubernetes ኤፒአይ ስሪት መምረጥ
እስከዚህ ጽሑፍ ድረስ፣ የያምል ቋንቋ-አገልጋይ ከኩበርኔትስ 1.14.0 መርሃግብሮች ጋር ይጓዛሉ። በተለዋዋጭ ንድፍ የምመርጥበት መንገድ አላገኘሁም፣ ስለዚህ ከፈትኩ። . እንደ እድል ሆኖ፣ የቋንቋ አገልጋዩ በአጻጻፍ ስልት ስለተፃፈ ስሪቱን በእጅ መቀየር በጣም ቀላል ነው። ይህንን ለማድረግ ፋይሉን ማግኘት ብቻ ነው server.ts.
በማሽንዎ ላይ ለማግኘት በቀላሉ የ YAML ፋይልን በቪም ይክፈቱ እና ሂደቱን ያግኙት። 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! በአንቀጹ ውስጥ የተጠቀሱትን መገልገያዎች የበለጠ ለመረዳት እነዚህን ማከማቻዎች መመልከትዎን ያረጋግጡ፡-
- ኮክ-ቪም: ;
- ኮክ-ያማል: .
PS ከተርጓሚ
እና ደግሞ አለ , и .
በብሎጋችን ላይ ያንብቡ፡-
- «";
- «».
ምንጭ: hab.com
