เชŸเซ‹เชšเชจเซ€ 10 เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฏเซเช•เซเชคเชฟเช“ เช…เชจเซ‡ เชŸเชฟเชชเซเชธ

เชŸเซ‹เชšเชจเซ€ 10 เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฏเซเช•เซเชคเชฟเช“ เช…เชจเซ‡ เชŸเชฟเชชเซเชธ

เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เช˜เชฃเซเช‚ เชฌเชงเซเช‚ เชธเช‚เชฆเชฐเซเชญ เชธเชพเชนเชฟเชคเซเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชธเชฐเชณ เชธเชฒเชพเชน เชธเซŒเชฅเซ€ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เชนเซ‹เชฏ เช›เซ‡. เชŸเซ€เชฎ Mail.ru เชฎเชพเช‚เชฅเซ€ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชเชเชเชธ เช…เชจเซเชตเชพเชฆเชฟเชค เชฆเชธ เชฏเซเช•เซเชคเชฟเช“ เช…เชจเซ‡ เชŸเซ€เชชเซเชธเชจเซ€ เชชเชธเช‚เชฆเช—เซ€, เชœเซ‡ เชฒเซ‡เช–เชจเชพ เชฒเซ‡เช–เช•เซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซเชฏเชพเชจเชพ เชเช• เชตเชฐเซเชท เชชเช›เซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚. เชŸเซ€เชชเซเชธ เชฎเชนเชคเซเชต เชฆเซเชตเชพเชฐเชพ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช…เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชฆเชฐเซ‡เช• เชตเซเชฏเช•เซเชคเชฟ เชชเซ‹เชคเชพเชจเชพ เชฎเชพเชŸเซ‡ เช•เช‚เชˆเช• เช‰เชชเชฏเซ‹เช—เซ€ เชถเซ‹เชงเชถเซ‡.

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เชธเซŒเชฅเซ€ เชธเชฐเชณ เช†เชฆเซ‡เชถ

เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เช•เชฆเชพเชš เชธเซŒเชฅเซ€ เชธเชฐเชณ เช…เชจเซ‡ เชธเซŒเชฅเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เช•เซเชฐเชฟเชฏเชพ. เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เช†เชฆเซ‡เชถ เชชเซ‚เชฐเซเชฃเชคเชพเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡ kubectl เชฌเซ‡เชถ เชถเซ‡เชฒเชฎเชพเช‚:

echo "source <(kubectl completion bash)" >> ~/.bashrc

OfเชŸเซ‹เชซเชฟเชฒ kubectl .bashrc เชซเชพเช‡เชฒ เชชเชฐ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เชชเชฃ เชถเซ‡เชฒ เชถเชฐเซ‚ เชฅเชถเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฅเชถเซ‡. เช† เชฒเชพเช‚เชฌเชพ เช†เชฆเซ‡เชถเซ‹ เช…เชจเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชœเซ‡เชฎ เช•เซ‡ เชŸเชพเช‡เชช เช•เชฐเชตเชพเชจเซ€ เชเชกเชช เชตเชงเชพเชฐเซ‡ เช›เซ‡ all-namespaces. เชฎเชพเช‚ เชตเชงเซ เชตเชพเช‚เชšเซ‹ Kubernetes bash เชฎเชฆเชฆ.

เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ CPU เชฎเชฐเซเชฏเชพเชฆเชพ

เชœเซ‹ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช–เซ‹เชŸเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชพเชฏเซ‡เชฒ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡ เชฆเชฐ เชธเซ‡เช•เชจเซเชกเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชจเชตเซเช‚ เช•เชจเซ‡เช•เซเชถเชจ เช–เซ‹เชฒเซ‡ เช›เซ‡ เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชฌเช‚เชง เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เชคเซ‹ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€ เชฒเซ€เช• เช›เซ‡. เช…เชจเซ‡ เชœเซ‹ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชœเชฎเชพเชตเชŸ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฎเซ‡เชฎเชฐเซ€ เชฎเชฐเซเชฏเชพเชฆเชพ เชธเซ‡เชŸ เชจ เชนเซ‹เชฏ, เชคเซ‹ เช† เชจเซ‹เชก เชจเชฟเชทเซเชซเชณเชคเชพ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เช†เชจเซ‡ เชฐเซ‹เช•เชตเชพ เชฎเชพเชŸเซ‡, เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชคเชฎเชจเซ‡ เชชเซเชฐเชคเชฟ-เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชจเชพ เช†เชงเชพเชฐเซ‡ เชกเชฟเชซเซ‰เชฒเซเชŸ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡เช“ เชšเซ‹เช•เซเช•เชธ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เชฎเชพเชŸเซ‡ yaml เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเช–เซ‡เชฒเชพ เช›เซ‡. เช…เชนเซ€เช‚ เช†เชตเซ€ เชซเชพเช‡เชฒเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช›เซ‡:

apiVersion: v1
kind: LimitRange
metadata:
  name: mem-limit-range
spec:
  limits:
  - default:
      memory: 512Mi
    defaultRequest:
      memory: 256Mi
    type: Container

เช†เชตเชพ yaml เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เชชเชฐ เชฒเชพเช—เซ เช•เชฐเซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เชฎเชพเชŸเซ‡ limit-example. เชนเชตเซ‡ เช† เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชคเซˆเชจเชพเชค เช•เชฐเชพเชฏเซ‡เชฒเชพ เช•เซ‹เชˆเชชเชฃ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชพ 512Mi เชนเชถเซ‡, เชธเชฟเชตเชพเชฏ เช•เซ‡ เช† เช•เชจเซเชŸเซ‡เชจเชฐ เชฎเชพเชŸเซ‡ เช…เชจเซเชฏ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชฎเชฐเซเชฏเชพเชฆเชพ เชตเชงเชพเชฐเชพเชฎเชพเช‚ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเซ‹เชฏ.

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเชพ เชœเซ‚เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฎเชพเช‚ เช•เชšเชฐเซ‹ เชธเช‚เช—เซเชฐเชน

เช•เซเชฌเซ‡เชฒเซ‡เชŸ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช•เชšเชฐเซ‹ เชเช•เชคเซเชฐ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡ var/lib/docker เช‰เชชเชฒเชฌเซเชง เชกเชฟเชธเซเช• เชœเช—เซเชฏเชพเชจเชพ 90% เชซเชพเชณเชตเซ‡ เช›เซ‡. เช† เชธเชฐเชธ เช›เซ‡, เชœเซ‹ เช•เซ‡, เช•เซเชฌเชฐเชจเซ‡เชŸเชธ 1.7 เชธเซเชงเซ€ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เช‡เชจเซ‹เชกเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพ เชชเชฐ เช•เซ‹เชˆ เชฎเซ‚เชณเชญเซ‚เชค เชฎเชฐเซเชฏเชพเชฆเชพ เชจ เชนเชคเซ€, เชœเซ‡ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡.

เชธเช‚เชญเชตเชคเชƒ เชคเชฎเชพเชฐเซเช‚ เช•เชจเซเชŸเซ‡เชจเชฐ var/lib/docker เชกเชฟเชธเซเช• เชธเซเชชเซ‡เชธเชจเชพ เชฎเชพเชคเซเชฐ 50% เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช‡เชจเซ‹เชกเซเชธ เชธเชฎเชพเชชเซเชค เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡ เช•เชพเชฎเชฆเชพเชฐเซ‹ เชฎเชพเชŸเซ‡ เชธเชฎเชธเซเชฏเชพ เชŠเชญเซ€ เช•เชฐเชถเซ‡.

1.4 เชฅเซ€ 1.6 เชธเซเชงเซ€เชจเชพ เช•เซเชฌเซ‡เชฒเซ‡เชŸเชจเชพ เชœเซ‚เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฎเชพเช‚ เชคเชฎเชพเชฐเซ‡ เช† เชงเซเชตเชœ เช‰เชฎเซ‡เชฐเชตเซ‹ เชชเชกเชถเซ‡:

--eviction-hard
=memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%

1.7 เช…เชจเซ‡ เชชเช›เซ€เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฎเชพเช‚ เช† เชซเซเชฒเซ‡เช— เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชธเซ‡เชŸ เช›เซ‡. เชœเซ‹ เช•เซ‡, เช…เช—เชพเช‰เชจเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ inode เชฎเชฐเซเชฏเชพเชฆเชพเชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชคเชพ เชจเชฅเซ€.

Minikube... เชจเชพเชจเชพ เชชเชฐเช‚เชคเซ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชธเซเชฅเชพเชจเชฟเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ

เชฎเชฟเชจเซ€เช•เซเชฏเซเชฌ เช เชธเซเชฅเชพเชจเชฟเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เชšเชฒเชพเชตเชตเชพเชจเซ‹ เชธเซŒเชฅเซ€ เชธเชนเซ‡เชฒเซ‹ เชฐเชธเซเชคเซ‹ เช›เซ‡. เชคเซ‡ เชเช• เชธเชฐเชณ เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡:

minikube start

เช† เช†เชฆเซ‡เชถเชจเซ‡ เชšเชฒเชพเชตเชตเชพเชฅเซ€ เชคเชฎเชพเชฐเชพ เชฎเชถเซ€เชจ เชชเชฐ เชšเชพเชฒเชคเชพ เชตเชพเชธเซเชคเชตเชฟเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ‡ เช›เซ‡.

เชŸเซ‹เชšเชจเซ€ 10 เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฏเซเช•เซเชคเชฟเช“ เช…เชจเซ‡ เชŸเชฟเชชเซเชธ
เชšเชฟเชคเซเชฐ เชธเซเชคเซเชฐเซ‹เชค

เชฏเซเช•เซเชคเชฟ เช เช›เซ‡ เช•เซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชคเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชธเซเชฅเชพเชจเชฟเช• เชฐเซ€เชคเซ‡ เชšเชฒเชพเชตเชตเซ€. เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เช–เชพเชธ เชธเซ‚เชšเชจเชพ เช†เชชเชตเชพเชฎเชพเช‚ เชจ เช†เชตเซ‡ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€, เชกเซ‹เช•เชฐ เช‡เชฎเซ‡เชœ เชคเชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชชเชฐ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เช…เชจเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชจเชนเซ€เช‚.

เชกเซ‹เช•เชฐเชจเซ‡ เช‡เชฎเซ‡เชœเชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชฆเชฌเชพเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชกเซ‹เช•เชฐ เชฎเชถเซ€เชจเชจเซ‡ เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡:

eval $(minikube docker-env)

เชนเชตเซ‡ เช†เชชเชฃเซ‡ เชธเซเชฅเชพเชจเชฟเช• เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเซ€ เชถเช•เซ€เช เช›เซ€เช.

เชฆเชฐเซ‡เช•เชจเซ‡ kubectl เชเช•เซเชธเซ‡เชธ เช†เชชเชถเซ‹ เชจเชนเซ€เช‚

เช† เชธเซเชชเชทเซเชŸ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชฌเชนเซเชตเชฟเชง เชŸเซ€เชฎเซ‹ เชคเซ‡เชฎเชจเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เช•เซเชฒเชธเซเชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซ€ เช›เซ‡ (เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ), เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชซเช•เซเชค เชฆเชฐเซ‡เช•เชจเซ‡ เช†เชชเชตเซเช‚ เชœเซ‹เชˆเช เชจเชนเซ€เช‚ kubectl. เช†เชฆเซ‡เชถเซ‹เชจเซ‡ เช…เชฒเช— เช•เชฐเชตเชพ, เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช•เชจเซ‡ เชคเซ‡เชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เชธเซ‹เช‚เชชเชตเซเช‚ เช…เชจเซ‡ RBAC เชจเซ€เชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเช•เซเชธเซ‡เชธเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡.

เชคเชฎเซ‡ เชฆเชฐเซ‡เช• เชชเซ‹เชก เชฎเชพเชŸเซ‡ เชเช•เซเชธเซ‡เชธ, เชฐเซ€เชก, เช•เซเชฐเชฟเชเชŸ, เชกเชฟเชฒเซ€เชŸ เช…เชจเซ‡ เช…เชจเซเชฏ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเชพ เช…เชงเชฟเช•เชพเชฐเซ‹ เช†เชชเซ€เชจเซ‡ เชฎเซ‚เช‚เชเชตเชฃเชฎเชพเช‚ เชชเชกเซ€ เชถเช•เซ‹ เช›เซ‹. เชชเชฐเช‚เชคเซ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เช เช›เซ‡ เช•เซ‡ เชฐเชนเชธเซเชฏเซ‹เชจเซ€ เชเช•เซเชธเซ‡เชธเชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเชตเซ€, เชคเซ‡เชจเซ‡ เชซเช•เซเชค เชตเชนเซ€เชตเชŸเช•เชฐเซเชคเชพเช“เชจเซ‡ เชœ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชตเซ€. เช† เชฐเซ€เชคเซ‡ เช…เชฎเซ‡ เชคเซ‡ เชฒเซ‹เช•เซ‹ เชตเชšเซเชšเซ‡ เชคเชซเชพเชตเชค เช•เชฐเซ€เชถเซเช‚ เชœเซ‡เช“ เช•เซเชฒเชธเซเชŸเชฐเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชจเซ‡ เชœเซ‡เช“ เชคเซ‡เชจเซ‡ เช–เชพเชฒเซ€ เช—เซ‹เช เชตเซ€ เชถเช•เซ‡ เช›เซ‡.

เชชเซ‹เชก เชฌเชœเซ‡เชŸ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเซ‹

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชจ เชนเซ‹เชตเชพเชจเซ€ เช–เชพเชคเชฐเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ€? PodDisruptionBudget เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ PodDisruptionBudget.

เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เช…เชชเชกเซ‡เชŸ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชจเซ‹เชกเซเชธ เช–เชพเชฒเซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช•เชถเซเช‚ เชธเซเชฅเชฟเชฐ เชจเชฅเซ€, เชคเซ‡ เชตเชพเชธเซเชคเชตเชฟเช•เชคเชพ เช›เซ‡. เชเช• เช•เชฐเชคเชพเช‚ เชตเชงเซ เชฆเชพเช–เชฒเชพเช“ เชธเชพเชฅเซ‡เชจเซ€ เชฆเชฐเซ‡เช• เชœเชฎเชพเชตเชŸเชฎเชพเช‚ PDB (PodDisruptionBudget)เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชตเซ‹ เชœเซ‹เชˆเช. เชคเซ‡ เชเช• เชธเชฐเชณ yaml เชซเชพเช‡เชฒเชฎเชพเช‚ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡. เชšเซ‹เช•เซเช•เชธ เชชเซ€เชกเซ€เชฌเซ€เชจเซ‹ เช•เชตเชฐเซ‡เชœ เชตเชฟเชธเซเชคเชพเชฐ เชฒเซ‡เชฌเชฒ เชชเชธเช‚เชฆเช—เซ€เช•เชพเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃ: เชœเซเชฏเชพเชฐเซ‡ เชฌเชœเซ‡เชŸ เช‰เชฒเซเชฒเช‚เช˜เชจ เช‰เชฒเชŸเชพเชตเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชœ PDB เชฌเชœเซ‡เชŸเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชธเซเชตเซˆเชšเซเช›เชฟเช• เชตเชฟเช•เซเชทเซ‡เชช). เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชจเชฟเชทเซเชซเชณเชคเชพ เชœเซ‡เชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚, PDB เช•เชพเชฎ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚.

PDB เช‰เชฆเชพเชนเชฐเชฃ:

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: app-a-pdb
spec:
  minAvailable: 2
  selector:
      matchLabels:
        app: app-a

เชฌเซ‡ เชฎเซเช–เซเชฏ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช›เซ‡ matchLabels ะธ minAvailable. เชชเซเชฐเชฅเชฎ เชชเชฐเชฟเชฎเชพเชฃ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชฌเชœเซ‡เชŸ เช•เชˆ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชชเชฐ เชฒเชพเช—เซ เชฅเชพเชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฒเซ‡เชฌเชฒเซเชธ เชธเชพเชฅเซ‡ เชœเชฎเชพเชตเชŸ เช›เซ‡ app: app-a ะธ app: app-b, เชคเซ‹ เชชเช›เซ€ เช† PDB เชซเช•เซเชค เชชเซเชฐเชฅเชฎเชจเซ‡ เชœ เชฒเชพเช—เซ เชฅเชถเซ‡.

เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ minAvailable เชจเซ‹เชกเชจเซ‡ เช–เชพเชฒเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ (เชธเชซเชพเชˆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡) เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เช–เชพเชฒเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเชพเชฎ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชฌเชนเชพเชฐ เช•เชพเชขเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ app: app-a, เชฌเซ‡ เชธเชฟเชตเชพเชฏ.

เช† เชคเชฎเชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เช•เซ‡เชŸเชฒเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชšเชพเชฒเชตเชพ เชœเซ‹เชˆเช เชคเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช†เชฐเซ‹เช—เซเชฏ เชฆเซ‡เช–เชฐเซ‡เช–

เช†เชตเซ€ เชฆเซ‡เช–เชฐเซ‡เช– เชฌเซ‡ เชฐเซ€เชคเซ‡ เชถเช•เซเชฏ เช›เซ‡: เชฐเซ‡เชกเซ€เชจเซ‡เชธ เช…เชฅเชตเชพ เชฒเชพเช‡เชตเชจเซ‡เชธ เชŸเซ‡เชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡.

เชชเซเชฐเชฅเชฎ เชšเช•เชพเชธเชฃเซ€ (เชคเชคเซเชชเชฐเชคเชพ) เช•เชจเซเชŸเซ‡เชจเชฐเชจเซ€ เชŸเซเชฐเชพเชซเชฟเช• เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซ€ เชคเซˆเชฏเชพเชฐเซ€ เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡.

เชฌเซ€เชœเซเช‚ (เชœเซ€เชตเช‚เชค) เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชธเซเชตเชธเซเชฅ เช›เซ‡ เช•เซ‡ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชธเช‚เชฌเช‚เชงเชฟเชค เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชซเช•เซเชค เชœเชฎเชพเชตเชŸ เชฎเชพเชŸเซ‡ yaml เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเซเชฏเชพเช‚ เชคเชฎเซ‡ เชธเชฎเชฏเชธเชฎเชพเชชเซเชคเชฟ, เชตเชฟเชฒเช‚เชฌเชจเซ‹ เชธเชฎเชฏ เช…เชจเซ‡ เชชเซเชจ:เชชเซเชฐเชฏเชพเชธเซ‹เชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡ เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชœเซเช“ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ.

เชŸเซ…เช—เซเชธ เชธเชฐเซเชตเชคเซเชฐ เช›เซ‡

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชฒเซ‡เชฌเชฒเซเชธ เช เชฎเซ‚เชณเชญเซ‚เชค เชตเชฟเชญเชพเชตเชจเชพเช“เชฎเชพเช‚เชจเซ€ เชเช• เช›เซ‡. เชคเซ‡เช“ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชฎเซเช•เซเชคเชชเชฃเซ‡ เชตเชพเชคเชšเซ€เชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เชคเซ‡เชฎเชœ เชฒเซ‡เชฌเชฒเซเชธ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช•เซเชตเซ‡เชฐเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚, เชคเชฎเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸ เชชเชฐ เชชเชฃ เชœเชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชŸเซ…เช—เซเชธ เชฎเชพเชŸเซ‡ เช‡เชตเซ‡เชจเซเชŸเซเชธ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹.

เชคเชฎเซ‡ เชŸเซ…เช—เซเชธ เชธเชพเชฅเซ‡ เชฒเช—เชญเช— เช•เช‚เชˆเชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชเช• เชธเชพเชฐเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช เชœ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชนเซเชตเชฟเชง เชตเชพเชคเชพเชตเชฐเชฃ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช›เซ‡.

เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เช•เซเชฒเชธเซเชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹ dev ะธ qa. เช†เชจเซ‹ เช…เชฐเซเชฅ เช เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ app-a, เชเช•เชธเชพเชฅเซ‡ เชฌเช‚เชจเซ‡ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ qa ะธ dev. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช…เชฎเซ‡ เชฏเซ‹เช—เซเชฏ เชชเชฐเชฟเชฎเชพเชฃเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€เชจเซ‡ เชšเซ‹เช•เซเช•เชธ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฆเชพเช–เชฒเชพเชจเซ‡ เช…เชฒเช—เชฅเซ€ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช environment. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ app: app-a ะธ environment: dev เชเช• เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฎเชพเชŸเซ‡, เช…เชจเซ‡ app: app-a ะธ environment: qa เชฌเซ€เชœเชพ เชฎเชพเชŸเซ‡.

เช† เชคเชฎเชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เชฌเช‚เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชเช•เชธเชพเชฅเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡.

เชธเช‚เช—เช เชฟเชค เชฅเชพเช“

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช เช–เซ‚เชฌ เชœ เชถเช•เซเชคเชฟเชถเชพเชณเซ€ เชธเชฟเชธเซเชŸเชฎ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เซ‹เชˆเชชเชฃ เชธเชฟเชธเซเชŸเชฎ เช†เช–เชฐเซ‡ เช˜เชฃเซ€ เชฌเชงเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชธเชพเชฅเซ‡ เชซเชธเชพเชˆ เชถเช•เซ‡ เช›เซ‡. เช•เซเชฌเซ‡เชฒเซ‡เชŸ เชคเชฎเชพเชฎ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชšเชฒเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‹ เช›เซ‹ เชคเซ‡ เชคเชชเชพเชธเซ‹, เชคเซ‡เชฎเชœ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€.

เช…เชฒเชฌเชคเซเชค, เชเช• เช…เชจเชพเชฅ เชธเซ‡เชตเชพ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชงเซ€เชฎเซเช‚ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚, เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‡ เช—เซเชฐเชพเช‰เชจเซเชก เช‰เชชเชฐเชฅเซ€ เชธเซเช•เซ‡เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชชเชฐเช‚เชคเซ เชœเซ‹ เชเช• เชธเซ‡เชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชเช• เชฎเชฟเชฒเชฟเชฏเชจ เชฆเซ‡เช–เชพเชฏ, เชคเซ‹ เช•เซเชฌเซ‡เชฒเซ‡เชŸ เช—เซ‚เช‚เช—เชณเชพเชตเชพ เชฒเชพเช—เซ‡ เช›เซ‡.

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

เช—เซ‹เชจเซ‡ เชฎเชณเซ‹

เช…เชฎเซ‡ เช›เซ‡เชฒเซเชฒเชพ เชฎเชพเชŸเซ‡ เชฎเซเช–เซเชฏ เชธเชฒเชพเชน เชธเชพเชšเชตเซ€. เช—เซ‹ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชญเชพเชทเชพ เชถเซ€เช–เซ‹.

Kubernetes Go เชฎเชพเช‚ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชฌเชงเชพ เชเช•เซเชธเซเชŸเซ‡เชจเซเชถเชจเซเชธ Go เชฎเชพเช‚ เชฒเช–เซ‡เชฒเชพ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ-เช—เซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเชฃ เชธเชคเซเชคเชพเชตเชพเชฐ เชฐเซ€เชคเซ‡ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.

เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชฟเชตเชฟเชง เช…เชจเซ‡ เชฐเชธเชชเซเชฐเชฆ เชตเชธเซเชคเซเช“ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชคเชฎเชพเชฐเชพ เชธเซเชตเชพเชฆเชฎเชพเช‚ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เชคเซ‡เชฅเซ€, เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชกเซ‡เชŸเชพ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ, เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชœเชฎเชพเชตเชตเชพ เช…เชฅเชตเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชธเชพเชซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช—เซ‹ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ เชถเซ€เช–เชตเซ€ เช…เชจเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ-เช—เซ‹เชฎเชพเช‚ เชจเชฟเชชเซเชฃเชคเชพ เชฎเซ‡เชณเชตเชตเซ€ เช เช•เชฆเชพเชš เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชธเชฒเชพเชน เช›เซ‡ เชœเซ‡ เชคเชฎเซ‡ เชจเชตเชพ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เช†เชชเซ€ เชถเช•เซ‹ เช›เซ‹.

Mail.ru เช•เซเชฒเชพเช‰เชก เชธเซ‹เชฒเซเชฏเซเชถเชจเซเชธเชจเชพ เชธเชฎเชฐเซเชฅเชจ เชธเชพเชฅเซ‡ เช…เชจเซเชตเชพเชฆเชฟเชค

เชฌเซ€เชœเซเช‚ เชถเซเช‚ เชตเชพเช‚เชšเชตเซเช‚:

  1. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เช“เชŸเซ‹เชธเซเช•เซ‡เชฒเชฟเช‚เช—เชจเชพ เชคเซเชฐเชฃ เชธเซเชคเชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹.
  2. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชตเชฐเซเช•เชฐ เชจเซ‹เชกเซเชธ: เช˜เชฃเชพ เชจเชพเชจเชพ เช…เชฅเชตเชพ เชฅเซ‹เชกเชพ เชฎเซ‹เชŸเชพ?
  3. 25 เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเชพ เชœเชฎเชพเชตเชŸ เช…เชจเซ‡ เชธเช‚เชšเชพเชฒเชจ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชธเชพเชงเชจเซ‹.

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

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