Kubernetes เชฎเชพเชŸเซ‡ YAML เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ Vim

เชจเซ‰เซ…เชง. เช…เชจเซเชตเชพเชฆ: เชฎเซ‚เชณ เชฒเซ‡เช– เชœเซ‹เชถ เชฐเซ‹เชธเซ‹ เชฆเซเชตเชพเชฐเชพ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡ VMwareเชจเชพ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชŸ เช›เซ‡, เชœเซ‡เชฎเชฃเซ‡ เช…เช—เชพเช‰ CoreOS เช…เชจเซ‡ Heptio เชœเซ‡เชตเซ€ เช•เช‚เชชเชจเซ€เช“เชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚, เช…เชจเซ‡ เชคเซ‡ Kubernetes alb-ingress-controllerเชจเชพ เชธเชน-เชฒเซ‡เช–เช• เชชเชฃ เช›เซ‡. เชฒเซ‡เช–เช• เชเช• เชจเชพเชจเช•เชกเซ€ เชฐเซ‡เชธเซ€เชชเซ€ เชถเซ‡เชฐ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ โ€œเชœเซ‚เชจเซ€ เชถเชพเชณเชพโ€เชจเชพ เช“เชชเชฐเซ‡เชถเชจ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเซ‹ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡เช“ เชตเชฟเชœเชฏเซ€ เช•เซเชฒเชพเช‰เชก เชจเซ‡เชŸเซ€เชต เชฏเซเช—เชฎเชพเช‚ เชชเชฃ เชตเชฟเชฎ เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡.

Kubernetes เชฎเชพเชŸเซ‡ YAML เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ Vim

เชตเชฟเชฎเชฎเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ YAML เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชฒเช–เชตเซเช‚? เช† เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเชฎเชพเช‚ เช†เช—เชณเชจเซเช‚ เช•เซเชทเซ‡เชคเซเชฐ เช•เซเชฏเชพเช‚ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช เชคเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ เช…เชธเช‚เช–เซเชฏ เช•เชฒเชพเช•เซ‹ เชตเชฟเชคเชพเชตเซเชฏเชพ? เช…เชฅเชตเชพ เช•เชฆเชพเชš เชคเชฎเซ‡ เชคเชซเชพเชตเชคเชจเชพ เชเชกเชชเซ€ เชฐเซ€เชฎเชพเช‡เชจเซเชกเชฐเชจเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเชถเซ‹ args ะธ command? เชธเชพเชฐเชพ เชธเชฎเชพเชšเชพเชฐ เช›เซ‡! เชตเชฟเชฎ เชธเชพเชฅเซ‡ เชฒเชฟเช‚เช• เช•เชฐเชตเซเช‚ เชธเชฐเชณ เช›เซ‡ yaml-เชญเชพเชทเชพ-เชธเชฐเซเชตเชฐเช†เชชเซ‹เช†เชช เชชเซ‚เชฐเซเชฃเชคเชพ, เชฎเชพเชจเซเชฏเชคเชพ เช…เชจเซ‡ เช…เชจเซเชฏ เชธเช—เชตเชกเชคเชพเช“ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡. เช† เชฒเซ‡เช–เชฎเชพเช‚ เช†เชชเชฃเซ‡ เช† เชฎเชพเชŸเซ‡ เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ เช•เซเชฒเชพเชฏเช‚เชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚.

(เชฎเซ‚เชณ เชฒเซ‡เช– เชชเชฃ เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชตเชฟเชกเชฟเชฏเซ‹ เช›เซ‡, เชœเซเชฏเชพเช‚ เชฒเซ‡เช–เช• เชตเชพเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซเช‚ เชจเชฟเชฆเชฐเซเชถเชจ เช•เชฐเซ‡ เช›เซ‡.)

เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ

เชญเชพเชทเชพ เชธเชฐเซเชตเชฐเซเชธ (เชญเชพเชทเชพ เชธเชฐเซเชตเชฐเซเชธ) เชธเช‚เชชเชพเชฆเช•เซ‹ เช…เชจเซ‡ IDE เชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพเช“เชจเซ€ เช•เซเชทเชฎเชคเชพเช“ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ‹, เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“ เชตเชฟเชถเชฟเชทเซเชŸ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡ - เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒ (LSP). เช† เชเช• เชธเชฐเชธ เช…เชญเชฟเช—เชฎ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชเช• เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‡ เชเช•เชธเชพเชฅเซ‡ เช˜เชฃเชพ เชธเช‚เชชเชพเชฆเช•เซ‹/IDE เชจเซ‡ เชกเซ‡เชŸเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช›เซ‡ เชฒเช–เซเชฏเซเช‚ เชฒเช—เชญเช— เช—เซ‹เชชเชฒเซเชธ - เช—เซ‹เชฒเชพเช‚เช— เชฎเชพเชŸเซ‡ เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ - เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ เชตเชฟเชฎ. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ YAML เชฎเชพเช‚ เชธเซเชตเชคเชƒเชชเซ‚เชฐเซเชฃเชคเชพ เชฎเซ‡เชณเชตเชตเชพเชจเชพ เชชเช—เชฒเชพเช‚ เชธเชฎเชพเชจ เช›เซ‡.

Kubernetes เชฎเชพเชŸเซ‡ YAML เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ Vim

vim เชตเชฐเซเชฃเชตเซ‡เชฒ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ เช•เซเชฒเชพเชฏเช‚เชŸ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เชนเซเช‚ เชœเซ‡ เชฌเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เชœเชพเชฃเซเช‚ เช›เซเช‚ เชคเซ‡ เช›เซ‡ เชญเชพเชทเชพ เช•เซเชฒเชพเชฏเชจเซเชŸ-เชจเชฟเชฏเซ‹เชตเชฟเชฎ ะธ coc.vim. เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ เชตเชฟเชšเชพเชฐเชฃเชพ เช•เชฐเซ€เชถ 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

Kubernetes เชฎเชพเชŸเซ‡ YAML เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ Vim

เช›เซ‡เชฒเซเชฒเซ‡, เชคเชฎเซ‡ เชธเช‚เชญเชตเชคเชƒ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹ coc-vim, เชชเซเชฐเชธเซเชคเซเชค เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชคเซ‡ เชธเช‚เชฏเซ‹เชœเชจเชจเซ‡ เชธเช•เซเชฐเชฟเชฏ เช•เชฐเซ‡ เช›เซ‡ +เชœเช—เซเชฏเชพ เชธเซเชตเชคเชƒเชชเซ‚เชฐเซเชฃเชคเชพเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡.

yaml-language-server เชกเชฟเชŸเซ‡เช•เซเชถเชจ เชธเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

เชชเซเชฐเชคเชฟ 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 เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชธเซเชตเชคเชƒเชชเซ‚เชฐเซเชฃเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชฆเชฌเชพเชตเซ€เชจเซ‡ +เชœเช—เซเชฏเชพ (เช…เชฅเชตเชพ vim เชฎเชพเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช…เชจเซเชฏ เชธเช‚เชฏเซ‹เชœเชจ) เชตเชฐเซเชคเชฎเชพเชจ เชธเช‚เชฆเชฐเซเชญ เช…เชจเซเชธเชพเชฐ เช‰เชชเชฒเชฌเซเชง เช•เซเชทเซ‡เชคเซเชฐเซ‹ เช…เชจเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชฌเชคเชพเชตเชตเซเช‚ เชœเซ‹เชˆเช:

Kubernetes เชฎเชพเชŸเซ‡ YAML เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ Vim
เช…เชนเซ€เช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ +เชธเซเชชเซ‡เชธ เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‡เช‚ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡ inoremap <silent><expr> <c-space> coc#refresh(). เชœเซ‹ เชคเชฎเซ‡ เช† เชจ เช•เชฐเซเชฏเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชœเซเช“ coc.nvim README เช‰เชฆเชพเชนเชฐเชฃ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฎเชพเชŸเซ‡.

Kubernetes API เชธเช‚เชธเซเช•เชฐเชฃ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เช† เชฒเช–เชพเชฃ เชฎเซเชœเชฌ, เชฏเชพเชฎเชฒ-เชญเชพเชทเชพ-เชธเชฐเซเชตเชฐ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ 1.14.0 เชธเซเช•เซ€เชฎเชพ เชธเชพเชฅเซ‡ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เชฎเชจเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เชธเซเช•เซ€เชฎเชพ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ‹ เช•เซ‹เชˆ เชฐเชธเซเชคเซ‹ เชฎเชณเซเชฏเซ‹ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชฎเซ‡เช‚ เช–เซ‹เชฒเซเชฏเซเช‚ เช…เชจเซเชฐเซ‚เชช GitHub เชฎเซเชฆเซเชฆเซ‹. เชธเชฆเชจเชธเซ€เชฌเซ‡, เชญเชพเชทเชพ เชธเชฐเซเชตเชฐ เชŸเชพเช‡เชชเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ เชนเซ‹เชตเชพเชฅเซ€, เชตเชฐเซเชเชจเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฌเชฆเชฒเชตเซเช‚ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค เชซเชพเช‡เชฒ เชถเซ‹เชงเซ‹ server.ts.

เชคเชฎเชพเชฐเชพ เชฎเชถเซ€เชจ เชชเชฐ เชคเซ‡เชจเซ‡ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค vim เชธเชพเชฅเซ‡ 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 เชซเชพเช‡เชฒเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ vim เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡.

เชœเซ‡เชฎ เชคเชฎเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, เชซเชพเช‡เชฒเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡ /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 เชฎเชพเชŸเซ‡เชจเชพ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎเชฎเชพเช‚ เช•เซ‹เชˆ เชจ เชนเชคเซเช‚ startupProbe:

Kubernetes เชฎเชพเชŸเซ‡ YAML เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ Vim

เชธเชพเชฐเชพเช‚เชถ

เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เซเช‚ เช›เซเช‚ เช•เซ‡ เช† เชคเช• เชคเชฎเชจเซ‡ เชคเซ‡เชŸเชฒเซ€ เชœ เช–เซเชถ เช•เชฐเชถเซ‡ เชœเซ‡เชŸเชฒเซ€ เชคเซ‡ เชฎเชจเซ‡ เช•เชฐเซ€ เชนเชคเซ€. เชนเซ‡เชชเซเชชเซ€ YAMLing! เชฒเซ‡เช–เชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ‡ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡ เช† เชญเช‚เชกเชพเชฐเซ‹เชจเซ‡ เชคเชชเชพเชธเชตเชพเชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเซ‹:

เช…เชจเซเชตเชพเชฆเช• เชคเชฐเชซเชฅเซ€ เชชเซ€เชเชธ

เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เชชเชฃ เช›เซ‡ เชตเชฟเช•เซเชฌเซ‡, vim-kubernetes ะธ vimkubectl.

เช…เชฎเชพเชฐเชพ เชฌเซเชฒเซ‹เช— เชชเชฐ เชชเชฃ เชตเชพเช‚เชšเซ‹:

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹