k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

K9s Kubernetes เด•เตเดฒเดธเตเดฑเตเดฑเดฑเตเด•เดณเตเดฎเดพเดฏเดฟ เดธเด‚เดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดŸเต†เตผเดฎเดฟเดจเตฝ เดฏเต‚เดธเตผ เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดจเตฝเด•เตเดจเตเดจเต. เดˆ เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฒเด•เตเดทเตเดฏเด‚ K8-เด•เดณเดฟเดฒเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดจเดพเดตเดฟเด—เต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต. K9s เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเดšเตเดš เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดฆเตเดฐเตเดค เด•เดฎเดพเตปเดกเตเด•เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดˆ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต Go-เดฏเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด’เดจเตเดจเดฐ เดตเตผเดทเดคเตเดคเดฟเดฒเต‡เดฑเต†เดฏเดพเดฏเดฟ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต: เด†เดฆเตเดฏ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค 1 เดซเต†เดฌเตเดฐเตเดตเดฐเดฟ 2019-เดจเดพเดฃเต เดจเดŸเดคเตเดคเดฟเดฏเดคเต. เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ, 9000+ เดจเด•เตเดทเดคเตเดฐเด™เตเด™เตพ เด“เดฃเดพเดฃเต เดธเดพเดฎเต‚เดนเดฟเด•เด‚ เด•เต‚เดŸเดพเดคเต† 80-เด“เดณเด‚ เดธเด‚เดญเดพเดตเด•เดฐเตเด‚. k9s-เดจเต เดŽเดจเตเดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚?

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเตเด‚ เดธเดฎเดพเดฐเด‚เดญเดตเตเด‚

เด‡เดคเต เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต (เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเต) เด’เดฐเต เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดพเดฃเต:

docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s

เดšเดฟเดฒ เดฒเดฟเดจเด•เตเดธเต เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดทเดจเตเด•เตพเด•เตเด•เตเด‚ เดฎเดฑเตเดฑเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเดฎเดพเดฏเดฟ, เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เดคเดฏเตเดฏเดพเดฑเดพเดฃเต เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ. เดชเตŠเดคเตเดตเต‡, Linux เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฌเตˆเดจเดฑเดฟ เดซเดฏเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚:

sudo wget -qO- https://github.com/derailed/k9s/releases/download/v0.22.0/k9s_Linux_x86_64.tar.gz | tar zxvf -  -C /tmp/
sudo mv /tmp/k9s /usr/local/bin

K8s เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต เดคเดจเตเดจเต† เดชเตเดฐเดคเตเดฏเต‡เด• เด†เดตเดถเตเดฏเด•เดคเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เด…เดตเดฒเต‹เด•เดจเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, 1.12 เดชเต‹เดฒเตเดณเตเดณ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดฟเดจเตเดฑเต† เดชเดดเดฏ เดชเดคเดฟเดชเตเดชเตเด•เดณเดฟเดฒเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเต .kube/config - เด…เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต kubectl.

เดจเดพเดตเดฟเด—เต‡เดทเตป

เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ, เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเดจเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เด’เดฐเต เดตเดฟเตปเดกเต‹ เดคเตเดฑเด•เตเด•เตเดจเตเดจเต. เด…เดคเดพเดฏเดคเต, เดจเดฟเด™เตเด™เตพ เดŽเดดเตเดคเดฟเดฏเต†เด™เตเด•เดฟเตฝ kubectl config set-context --current --namespace=test, เด…เดชเตเดชเต‹เตพ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต เดคเตเดฑเด•เตเด•เตเด‚ test. (เดธเดจเตเดฆเตผเดญเด™เตเด™เตพ/เดจเดพเดฎเดธเตเดฅเดฒเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต เดคเดพเดดเต† เด•เดพเดฃเตเด•.)

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดชเต‹เด•เตเด• เด•เดฎเดพเตปเดกเต เดฎเต‹เดกเต ":" เด…เดฎเตผเดคเตเดคเดฟเดฏเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เด…เดคเดฟเดจเตเดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดฎเดพเตปเดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต k9 เด•เดณเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ - เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดซเตเตพเดธเต†เดฑเตเดฑเตเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เด•เดพเดฃเดพเตป (เดจเดฟเดฒเดตเดฟเดฒเต† เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ), เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเตฝเด•เดพเด‚ :sts.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดฎเดฑเตเดฑเต เดšเดฟเดฒ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดตเดฟเดญเดตเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ:

  • :ns - เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เตพ;
  • :deploy - เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ;
  • :ing - เด‡เตปเด—เตเดฐเต†เดธเต;
  • :svc - เดธเต‡เดตเดจเด™เตเด™เดณเต.

เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเต เดฒเดญเตเดฏเดฎเดพเดฏ เดฑเดฟเดธเต‹เดดเตเดธเต เดคเดฐเด™เตเด™เดณเตเดŸเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด’เดฐเต เด•เดฎเดพเตปเดกเต เด‰เดฃเตเดŸเต :aliases.

เดจเดฟเดฒเดตเดฟเดฒเต† เดตเดฟเตปเดกเต‹เดฏเดฟเตฝ เดนเต‹เดŸเตเดŸเต เด•เต€ เด•เต‹เดฎเตเดชเดฟเดจเต‡เดทเดจเตเด•เตพ เดตเดดเดฟ เดฒเดญเตเดฏเดฎเดพเดฏ เด•เดฎเดพเตปเดกเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด• เด•เดพเดฃเตเดจเตเดจเดคเตเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต: เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, "?" เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

k9s เดฒเตเด‚ เด‰เดฃเตเดŸเต เดคเดฟเดฐเดฏเตฝ เดฎเต‹เดกเต, เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเตป "/" เดจเตฝเด•เดฟเดฏเดพเตฝ เดฎเดคเดฟ. เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดจเดฟเดฒเดตเดฟเดฒเต† "เดตเดฟเตปเดกเต‹" เดฏเตเดŸเต† เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด’เดฐเต เดคเดฟเดฐเดฏเตฝ เดจเดŸเดคเตเดคเตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เดฎเตเดฎเตเดชเต เดจเตฝเด•เดฟเดฏเดฟเดฐเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ เดชเดฑเดฏเดพเด‚ :ns, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดคเตเดฑเดจเตเดจเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด…เดตเดฏเดฟเตฝ เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดฆเต€เตผเด˜เดจเต‡เดฐเด‚ เดคเดพเดดเต‡เด•เตเด•เต เดธเตเด•เตเดฐเต‹เตพ เดšเต†เดฏเตเดฏเดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป, เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเดฟเตปเดกเต‹เดฏเดฟเตฝ เดจเตฝเด•เดฟเดฏเดพเตฝ เดฎเดคเดฟ. /mynamespace.

เดฒเต‡เดฌเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเดฟเดฐเดฏเดพเตป, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เดŽเดฒเตเดฒเดพ เดชเต‹เดกเตเด•เดณเตเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚, เดคเตเดŸเตผเดจเตเดจเต เดจเตฝเด•เตเด•, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, / -l app=whoami. เดˆ เดฒเต‡เดฌเดฒเตเดณเตเดณ เดชเต‹เดกเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดฒเต‹เด—เตเด•เตพ, YAML เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เตพ เด•เดพเดฃเตฝ, เด•เต‚เดŸเดพเดคเต† เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เดตเดฟเตปเดกเต‹เด•เดณเดฟเดฒเตเด‚ เดคเดฟเดฐเดฏเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต describe เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ - เดˆ เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เต เดšเตเดตเดŸเต† เด•เดพเดฃเตเด•.

เดฎเตŠเดคเตเดคเดคเตเดคเดฟเดฒเตเดณเตเดณ เดจเดพเดตเดฟเด—เต‡เดทเตป เดซเตเดฒเต‹ เดŽเด™เตเด™เดจเต†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚?

เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต :ctx เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดธเดจเตเดฆเตผเดญเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เด’เดฐเต เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เด•เดฎเดพเตปเดกเต เด‰เดฃเตเดŸเต :ns, เดคเตเดŸเตผเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดธเตเดฅเดฒเดคเตเดคเดฟเดจเดพเดฏเดฟ เดคเดฟเดฐเดฏเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚: /test.

เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดคเต‡ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดซเตเตพเดธเต†เดฑเตเดฑเต), เด…เดจเตเดฌเดจเตเดง เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดคเดฟเดจเดพเดฏเดฟ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚: เด…เดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดนเตเดฐเดธเตเดต เดตเดฟเดตเดฐเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดŽเดคเตเดฐ เดชเต‹เดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดชเต‹เดกเตเด•เตพ เดฎเดพเดคเตเดฐเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚ - เด…เดชเตเดชเต‹เตพ เดชเตเดฐเดตเต‡เดถเดฟเดšเตเดšเดพเตฝ เดฎเดคเดฟ :pod. ConfigMaps-เดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ (:cm - เดˆ เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ), เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต "u" เดŽเดจเตเดจเดคเดฟเตฝ เด•เตเดฒเดฟเด•เตเด•เตเดšเต†เดฏเตเดฏเตเด•, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด†เดฐเดพเดฃเต เด‡เดคเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต (เดˆ เดฎเตเด–เตเดฏเดฎเดจเตเดคเตเดฐเดฟ) K9s เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚.

เดตเดฟเดญเดตเด™เตเด™เตพ เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดฑเตเดฑเตŠเดฐเต เดธเตเดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเต‡เดทเดคเดฏเดพเดฃเต "เดŽเด•เตโ€Œเดธเต-เดฑเต‡" (เดŽเด•เตโ€Œเดธเตโ€Œเดฑเต‡ เด•เดพเดดเตเดš). เดˆ เดฎเต‹เดกเต เด•เดฎเดพเตปเดกเต เดตเดดเดฟ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต :xray RESOURCE เด•เต‚เดŸเดพเดคเต† ... เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต. เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตเดซเตเตพเดธเต†เดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด’เดฐเต เดšเดฟเดคเตเดฐเต€เด•เดฐเดฃเด‚ เด‡เดคเดพ:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต
(เดˆ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเตฝ เด“เดฐเต‹เดจเตเดจเตเด‚ เดŽเดกเดฟเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดฎเดพเดฑเตเดฑเดพเดจเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ describe.)

เดชเตเดฐเดตเต‡เดถเดจเดคเตเดคเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เดตเดฟเดจเตเดฏเดพเดธเด‚ เด‡เดคเดพ:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดตเดฟเดญเดตเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต

YAML-เตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเดฟเดฒเต† เด“เดฐเต‹ เดฑเดฟเดธเต‹เดดเตเดธเดฟเดจเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚ describe เด…เดจเตเดฌเดจเตเดง เด•เต€เดฌเต‹เตผเดกเต เด•เตเดฑเตเด•เตเด•เตเดตเดดเดฟเด•เตพ เด…เดฎเตผเดคเตเดคเดฟเดฏเดพเตฝ (เดฏเดฅเดพเด•เตเดฐเดฎเด‚ "y", "d"). เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด‡เดคเดฟเดฒเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด‰เดฃเตเดŸเต: เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดฒเต† เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ "เดนเต†เดกเดฑเดฟเดจเต" (Ctrl + e เด…เดฎเตผเดคเตเดคเดฟเด•เตเด•เตŠเดฃเตเดŸเต เดฎเดฑเดšเตเดšเดคเต) เด…เดตเดฏเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเตเด‚ เด•เต€เดฌเต‹เตผเดกเต เด•เตเดฑเตเด•เตเด•เตเดตเดดเดฟเด•เดณเตเด‚ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดฆเตƒเดถเตเดฏเดฎเดพเดฃเต.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฑเดฟเดธเต‹เดดเตเดธเต เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ ("เด‡" เด…เดคเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเดคเดฟเดจเต เดถเต‡เดทเด‚), เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดŽเดกเดฟเดฑเตเดฑเตผ เดคเตเดฑเด•เตเด•เตเดจเตเดจเต (export EDITOR=vim).

เดฑเดฟเดธเต‹เดดเตเดธเดฟเดจเตเดฑเต† เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเดฃเด‚ เด‡เด™เตเด™เดจเต†เดฏเดพเดฃเต (describe):

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฏ Ctrl + s เด•เต€เดฌเต‹เตผเดกเต เด•เตเดฑเตเด•เตเด•เตเดตเดดเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเดจเตเดฑเต† YAML เดฎเดพเดจเดฟเดซเต†เดธเตโ€Œเดฑเตเดฑเต เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต) เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด…เดคเต เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด• เดŽเดจเตเดจเต K9s เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดฑเดฟเดฏเดพเด‚:

Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!

เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฒเต‡เดฌเดฒเตเด•เดณเตเด‚ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เดณเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดคเดคเดฟเดจเต เดถเต‡เดทเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เดฌเดพเด•เตเด•เดชเตเดชเต เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด…เดตเดฐเต‹เดŸเตŠเดชเตเดชเด‚ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต (:dir /tmp), เดคเตเดŸเตผเดจเตเดจเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเดฏเตฝ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด• apply.

เดตเดดเดฟเดฏเดฟเตฝ, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเดฟเตฝ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดชเตเดชเต‹เตพ เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเตเดฎเตเดชเดคเตเดคเต† ReplicaSet-เดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดชเต‹เด•เดพเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ RS เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด• (:rs เด…เดตเดฐเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเตเด•เตเด•เดพเดฏเดฟ):

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

... เด•เต‚เดŸเดพเดคเต† Ctrl + l เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฑเต‹เตพเดฌเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•. เดŽเดฒเตเดฒเดพเด‚ เดจเดจเตเดจเดพเดฏเดฟ เดจเดŸเดจเตเดจเตเดตเต†เดจเตเดจ เด…เดฑเดฟเดฏเดฟเดชเตเดชเต เดžเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เดฃเด‚:

k9s/whoami-5cfbdbb469 successfully rolled back

เดชเด•เตผเดชเตเดชเตเด•เตพ เดธเตเด•เต†เดฏเดฟเตฝ เดšเต†เดฏเตเดฏเดพเตป, "s" (เดธเตเด•เต†เดฏเดฟเตฝ) เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดคเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดŽเดฃเตเดฃเด‚ เดธเดจเตเดฆเตผเดญเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดทเต†เตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เดจเตฝเด•เดพเด‚: เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ, "s" (เดทเต†เตฝ) เด•เตเดฒเดฟเด•เตเด•เต เดšเต†เดฏเตเดคเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•.

เดฎเดฑเตเดฑเต เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดฒเต‹เด—เตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดคเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต (เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เด‰เดฑเดตเดฟเดŸเดคเตเดคเดฟเดจเต "l"). เดชเตเดคเดฟเดฏ เดฒเต‹เด—เตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดŽเดจเตเดฑเตผ เด…เดฎเตผเดคเตเดคเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ: (โ€œmโ€) เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดพเตฝ เดฎเดคเดฟ, เดคเตเดŸเตผเดจเตเดจเต เดชเตเดคเดฟเดฏ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดฎเดพเดคเตเดฐเด‚ เดŸเตเดฐเดพเด•เตเด•เตเดšเต†เดฏเตเดฏเตเด•.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เด…เดคเต‡ เดตเดฟเตปเดกเต‹เดฏเดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต‹เด—เตเด•เดณเตเดŸเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดฟเดจเตเดณเตเดณ เดธเดฎเดฏ เดชเดฐเดฟเดงเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚:

  • เด•เต€ "1" - 1 เดฎเดฟเดจเดฟเดฑเตเดฑเต;
  • "2" - 5 เดฎเดฟเดจเดฟเดฑเตเดฑเต;
  • "3" - 15 เดฎเดฟเดจเดฟเดฑเตเดฑเต;
  • "4" - 30 เดฎเดฟเดจเดฟเดฑเตเดฑเต;
  • "5" - 1 เดฎเดฃเดฟเด•เตเด•เต‚เตผ;
  • "0" - เดชเต‹เดกเดฟเดจเตเดฑเต† เดœเต€เดตเดฟเดคเด•เดพเดฒเด‚ เดฎเตเดดเตเดตเตป.

เดชเตเดฐเดคเตเดฏเต‡เด• เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดฎเต‹เดกเต เดชเตพเดธเต (เด•เดฎเดพเตปเดกเต :pulse) เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดชเตŠเดคเตเดตเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เด…เดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเดตเตเด‚ เด…เดตเดฏเตเดŸเต† เดจเดฟเดฒเดฏเตเด‚ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ (เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด‰เดณเตเดณเดตเดฏเต† เดชเดšเตเดš เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต Running).

K9s-เดจเตเดฑเต† เดฎเดฑเตเดฑเตŠเดฐเต เดฐเดธเด•เดฐเดฎเดพเดฏ เดธเดตเดฟเดถเต‡เดทเดคเดฏเต† เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต เดชเต‹เดชเตเดชเต†เดฏเต†. เด•เตƒเดคเตเดฏเดคเดฏเตเดŸเต† เดšเดฟเดฒ เดฎเดพเดจเดฆเดฃเตเดกเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด‡เดคเต เดŽเดฒเตเดฒเดพ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ "เดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต" เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด™เตเด™เดณเต‹เดŸเตŠเดชเตเดชเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฎเดคเดฟเดฏเดพเดฏ เดธเดพเดฎเตเดชเดฟเดณเตเด•เดณเต‹ เดชเดฐเดฟเดงเดฟเด•เดณเต‹ เด‡เดฒเตเดฒเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚, เด•เต‚เดŸเดพเดคเต† เดšเดฟเดฒ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพเด•เตเด•เต เดฑเต‚เดŸเตเดŸเต เด†เดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ ...

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เด…เดŸเดฟเดธเตเดฅเดพเดจ เดนเต†เตฝเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฃเตเดŸเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฑเดฟเดฒเต€เดธเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเต เด‡เด™เตเด™เดจเต†เดฏเดพเดฃเต:

:helm all # ะฒัะต
:helm $namespace # ะฒ ะบะพะฝะบั€ะตั‚ะฝะพะผ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะต ะธะผะตะฝ

เดฌเดžเตเดšเตเดฎเดพเตผเด•เตเด•เต

เด•เต† 9 เด•เดณเดฟเตฝ เดชเต‹เดฒเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดนเต‡เดฏเต เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดŽเดšเตเดšเตเดŸเดฟเดŸเดฟเดชเดฟ เดธเต†เตผเดตเตผ เดฒเต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดพเดฃเต, เดจเดจเตเดจเดพเดฏเดฟ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เดŽเดฌเดฟเดจเต (เด…เดชเดพเดšเตเดšเต†เดฌเต†เดžเตเดšเต) เดฌเดฆเดฒเดพเดฃเต.

เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป, เดจเดฟเด™เตเด™เตพ เดชเต‹เดกเดฟเตฝ เดชเต‹เตผเดŸเตเดŸเต เดซเต‹เตผเดตเต‡เดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดชเต‹เดกเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต Shift + f เด…เดฎเตผเดคเตเดคเตเด•, "pf" เด…เดชเดฐเดจเดพเดฎเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเต‹เตผเดŸเตเดŸเต เดซเต‹เตผเดตเต‡เดกเต เด‰เดชเดฎเต†เดจเตเดตเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด•.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดชเต‹เตผเดŸเตเดŸเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต Ctrl + b เด…เดฎเตผเดคเตเดคเดฟเดฏเดพเตฝ, เดฌเต†เดžเตเดšเตเดฎเดพเตผเด•เตเด•เต เดคเดจเตเดจเต† เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด‚. เด…เดตเดจเตเดฑเต† เดœเต‹เดฒเดฟเดฏเตเดŸเต† เดซเดฒเด™เตเด™เตพ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต /tmp เด•เต‚เดŸเดพเดคเต† K9s-เตฝ เดชเดฟเดจเตเดจเต€เดŸเต เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเต เดฒเดญเตเดฏเดฎเดพเดฃเต.

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต
k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดฌเต†เดžเตเดšเตเดฎเดพเตผเด•เตเด•เดฟเดจเตเดฑเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดฎเดพเดฑเตเดฑเดพเตป, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต $HOME/.k9s/bench-<my_context>.yml (เด“เดฐเต‹ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเด‚ เดจเดฟเดถเตเดšเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต).

NB: เด’เดฐเต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ เดŽเดฒเตเดฒเดพ YAML เดซเดฏเดฒเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚ เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต .k9s เด…เดคเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด†เดฏเดฟเดฐเตเดจเตเดจเต .yml (.yaml เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ).

เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดฆเดพเดนเดฐเดฃเด‚:

benchmarks:
  defaults:
    # ะšะพะปะธั‡ะตัั‚ะฒะพ ะฟะพั‚ะพะบะพะฒ
    concurrency: 2
    # ะšะพะปะธั‡ะตัั‚ะฒะพ ะทะฐะฟั€ะพัะพะฒ
    requests: 1000
  containers:
    # ะะฐัั‚ั€ะพะนะบะธ ะดะปั ะบะพะฝั‚ะตะนะฝะตั€ะฐ ั ะฑะตะฝั‡ะผะฐั€ะบะพะผ
    # ะšะพะฝั‚ะตะนะฝะตั€ ะพะฟั€ะตะดะตะปัะตั‚ัั ะบะฐะบ namespace/pod-name:container-name
    default/nginx:nginx:
      concurrency: 2
      requests: 10000
      http:
        path: /
        method: POST
        body:
          {"foo":"bar"}
        header:
          Accept:
            - text/html
          Content-Type:
            - application/json
 services:
    # ะœะพะถะฝะพ ะฟั€ะพะฒะพะดะธั‚ัŒ ะฑะตะฝั‡ะผะฐั€ะบ ะฝะฐ ัะตั€ะฒะธัะฐั… ั‚ะธะฟะฐ NodePort ะธ LoadBalancer
    # ะกะธะฝั‚ะฐะบัะธั: namespace/service-name
    default/nginx:
      concurrency: 5
      requests: 500
      http:
        method: GET
        path: /auth
      auth:
        user: flant
        password: s3cr3tp455w0rd

เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เด’เดฐเต เดซเดฏเตฝ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดšเต เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดจเดฟเดฐเด•เดณเตเดŸเต† เดฐเต‚เดชเด‚ เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต $HOME/.k9s/views.yml. เด…เดคเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚:

k9s:
 views:
   v1/pods:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - IP
       - NODE
       - STATUS
       - READY
   v1/services:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - TYPE
       - CLUSTER-IP

เดถเดฐเดฟเดฏเดพเดฃเต, เดฒเต‡เดฌเดฒเตเด•เตพเด•เตเด•เต เดฎเดคเดฟเดฏเดพเดฏ เด•เต‹เดณเดฎเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเดฏเดฟ เด‰เดฃเตเดŸเต เดชเดฆเตเดงเดคเดฟเดฏเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด‚.

เดจเดฟเดฐเด•เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เด…เดŸเตเด•เตเด•เตเดจเตเดจเดคเต เด•เต€เดฌเต‹เตผเดกเต เด•เตเดฑเตเด•เตเด•เตเดตเดดเดฟเด•เดณเดฟเดฒเต‚เดŸเต†เดฏเดพเดฃเต เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต:

  • Shift + n - เดชเต‡เดฐเต เดชเตเดฐเด•เดพเดฐเด‚;
  • Shift + o - เดจเต‹เดกเตเด•เตพ เดตเดดเดฟ;
  • Shift + i - IP เดตเดดเดฟ;
  • Shift + a - เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเดจเตเดฑเต† เด†เดฏเตเดธเตเดธเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต;
  • Shift + t - เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดŽเดฃเตเดฃเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต;
  • Shift + r - เดฑเต†เดกเดฟเดจเต†เดธเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดชเตเดฐเด•เดพเดฐเด‚;
  • Shift + c - CPU เด‰เดชเดญเต‹เด—เด‚ เดตเดดเดฟ;
  • Shift + m - เดฎเต†เดฎเตเดฎเดฑเดฟ เด‰เดชเดญเต‹เด—เด‚ เดตเดดเดฟ.

เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดตเตผเดฃเตเดฃ เดธเตเด•เต€เด‚ เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, K9s เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต เดคเตŠเดฒเดฟเด•เตพ. เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ (7 เด•เดทเดฃเด™เตเด™เตพ) เดฒเดญเตเดฏเดฎเดพเดฃเต เด‡เดตเดฟเดŸเต†. เดˆ เดšเตผเดฎเตเดฎเด™เตเด™เดณเดฟเดฒเตŠเดจเตเดจเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ (เดจเดพเดตเดฟเด•เดธเต‡เดจเดฏเดฟเตฝ):

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดชเตเดฒเด—เดฟเดจเตเด•เตพ

เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ เดชเตเดฒเด—เดฟเดจเตเด•เตพ K9 เด•เดณเตเดŸเต† เด•เดดเดฟเดตเตเด•เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดฑเต† เดœเต‹เดฒเดฟเดฏเดฟเตฝ เดžเดพเตป เด…เดตเดฏเดฟเดฒเตŠเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณเต‚ - kubectl get all -n $namespace.

เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด’เดฐเต เดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• $HOME/.k9s/plugin.yml เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเตฝ:

plugin:
 get-all:
   shortCut: g    
   confirm: false    
   description: get all
   scopes:
   - all
   command: sh
   background: false
   args:
   - -c
   - "kubectl -n $NAMESPACE get all -o wide | less"

เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต‡เดธเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ "g" เด…เดฎเตผเดคเตเดคเดฟ เด…เดจเตเดฌเดจเตเดง เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเด‚:

k9s-เดจเตเดฑเต† เด…เดตเดฒเต‹เด•เดจเด‚ - เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเตเดณเตเดณ เด’เดฐเต เดจเต‚เดคเดจ เดŸเต†เตผเดฎเดฟเดจเตฝ เด‡เดจเตเดฑเตผเดซเต‡เดธเต

เดชเตเดฒเด—เดฟเดจเตเด•เดณเดฟเตฝ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, kubectl-jq-เดฏเตเดฎเดพเดฏเตเดณเตเดณ เดธเด‚เดฏเต‹เดœเดจเดตเตเด‚ เดฒเต‹เด—เตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเดฏเตเด‚ เด‰เดฃเตเดŸเต. เด•เด เดฟเดจเดฎเดพเดฏ.

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดŽเดจเตเดฑเต† เด…เดญเดฟเดฐเตเดšเดฟเด•เตเด•เดจเตเดธเดฐเดฟเดšเตเดšเต, K9s เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดณเดฐเต† เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟ: เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต†เดฒเตเดฒเดพเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเต† เดคเดจเตเดจเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดคเดฟเดฐเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. kubectl. เดฒเต‹เด—เตเด•เดณเตเดŸเต† เด•เดพเดดเตโ€Œเดšเดฏเดฟเดฒเตเด‚ เด…เดต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเตเด‚ เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เดฆเตเดฐเตเดค เดŽเดกเดฟเดฑเตเดฑเดฟเด‚เด—เดฟเดฒเตเด‚ เดชเตŠเดคเตเดตเต† เดœเต‹เดฒเดฟเดฏเตเดŸเต† เดตเต‡เด—เดคเดฏเดฟเดฒเตเด‚ เดžเดพเตป เดธเดจเตเดคเตเดทเตเดŸเดจเดพเดฏเดฟเดฐเตเดจเตเดจเต *, เดชเต‹เดชเตเดชเดฟ เดฎเต‹เดกเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟ. เดชเตเดฒเด—เดฟเดจเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เดพเดจเตเดฎเตเดณเตเดณ เด•เดดเดฟเดตเดพเดฃเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดฐเดพเดฎเตผเดถเด‚.

* เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดตเดฒเดฟเดฏ เด…เดณเดตเดฟเดฒเตเดณเตเดณ เดฒเต‹เด—เตเด•เตพ เด‰เดณเตเดณเดคเดฟเดจเดพเตฝ, K9- เดจเตเดฑเต† เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเด‚ เดžเดพเตป เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเต. เด…เดคเตเดคเดฐเด‚ เดจเดฟเดฎเดฟเดทเด™เตเด™เดณเดฟเตฝ, เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ Intel Xeon E2xx-เตฝ เดจเดฟเดจเตเดจเต 312 เด•เต‹เดฑเตเด•เตพ "เด•เดดเดฟเดšเตเดšเต", เด…เดคเต เดฎเดฐเดตเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดชเต‹เดฒเตเด‚ เด•เดดเดฟเดฏเตเด‚.

เด‡เดชเตเดชเต‹เตพ เดŽเดจเตเดคเดพเดฃเต เดจเดทเตเดŸเดฎเดพเดฏเดคเต? เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเดคเต† เดคเดจเตเดจเต† เดฎเตเดฎเตเดชเดคเตเดคเต† เดชเดคเดฟเดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดตเต‡เด—เดคเตเดคเดฟเตฝ เดฑเต‹เตพเดฌเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด• (เดžเด™เตเด™เตพ RS เดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดฒเตเดฒ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต). เด•เต‚เดŸเดพเดคเต†, เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตฝ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฎเตŠเดคเตเดคเด‚ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต: เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฎเต‹ เดฒเต‡เดฌเดฒเต‹ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดฎเตเดดเตเดตเตป เด‰เดฑเดตเดฟเดŸเดตเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚ (เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต เดจเดฟเด™เตเด™เตพ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เต‡เดฃเตเดŸเดคเต). เดฎเดฑเตเดฑเตŠเดฐเต เดจเดฟเดธเตเดธเดพเดฐเด•เดพเดฐเตเดฏเด‚ - เด…เดคเตเดคเดฐเด‚ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดš "เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ" เดฎเดคเดฟเดฏเดพเดฏ เดคเต€เดฏเดคเดฟ เด‡เดฒเตเดฒ.

เดชเดฟ.เดŽเดธเต

เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเดฒเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•