Yandex.Cloud เชฎเชพเชŸเซ‡ Kubernetes เชฎเชพเช‚ CSI เชกเซเชฐเชพเช‡เชตเชฐ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซ‹ เช…เชฎเชพเชฐเซ‹ เช…เชจเซเชญเชต

Yandex.Cloud เชฎเชพเชŸเซ‡ Kubernetes เชฎเชพเช‚ CSI เชกเซเชฐเชพเช‡เชตเชฐ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซ‹ เช…เชฎเชพเชฐเซ‹ เช…เชจเซเชญเชต

เช…เชฎเชจเซ‡ เช เชœเชพเชนเซ‡เชฐเชพเชค เช•เชฐเชคเชพเช‚ เช†เชจเช‚เชฆ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เชซเซเชฒเซ‡เช‚เชŸ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชฎเซเช•เซเชค เชธเซเชคเซเชฐเซ‹เชค เชธเชพเชงเชจเซ‹เชฎเชพเช‚ เชคเซ‡เชจเชพ เชฏเซ‹เช—เชฆเชพเชจเชจเซ‡ เชตเชฟเชธเซเชคเชฐเชฃ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡. CSI เชกเซเชฐเชพเช‡เชตเชฐเชจเซเช‚ เช†เชฒเซเชซเชพ เชธเช‚เชธเซเช•เชฐเชฃ (เช•เชจเซเชŸเซ‡เชจเชฐ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ) Yandex.Cloud เชฎเชพเชŸเซ‡.

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

เชชเชฐเชฟเชšเชฏ

เช† เช•เซ‡เชฎ เช›เซ‡?

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

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

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

เชคเซ‡ เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชจเชพ เชฎเชพเชŸเซ‡ เช›เซ‡?

เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชน เชฎเชพเชŸเซ‡เชจเชพ เช†เชงเซเชจเชฟเช• เช…เชญเชฟเช—เชฎ เชตเชฟเชถเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชตเชพเชค เช•เชฐเซ€ เช›เซ‡: CSI เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡? ะธ เชธเชฎเซเชฆเชพเชฏ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช†เชตเซเชฏเซ‹ เช† เช…เชญเชฟเช—เชฎ เชฎเชพเชŸเซ‡.

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

เช…เชฎเซ‡ เชตเชฟเช•เชพเชธ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เชฒเซ€เชงเซ‹ DigitalOcean เช•เซเชฒเชพเช‰เชก เชฎเชพเชŸเซ‡ CSI เชกเซเชฐเชพเช‡เชตเชฐ เช…เชจเซ‡ เชฎเชพเช‚เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช• เชตเชฟเชšเชพเชฐเซ‹ GCP เชฎเชพเชŸเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเซ‹, เช•เชพเชฐเชฃ เช•เซ‡ เช† เชตเชพเชฆเชณเซ‹เชจเชพ API (Google เช…เชจเซ‡ Yandex) เชธเชพเชฅเซ‡เชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เช˜เชฃเซ€ เชธเชพเชฎเซเชฏเชคเชพเช“ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, API เช…เชจเซ‡ เชœเซ€เชธเซ€เชชเซ€, เช…เชจเซ‡ เช–เชพเชคเซ‡ เชฏเชพเชจเซเชกเซ‡เช•เซเชท เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชฐเชค เช•เชฐเซ‹ Operation เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชšเชพเชฒเชคเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เชธเซเชฅเชฟเชคเชฟเชจเซ‡ เชŸเซเชฐเซ…เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเชตเซ€ เชกเชฟเชธเซเช• เชฌเชจเชพเชตเชตเซ€). Yandex.Cloud API เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ Yandex.Cloud Go SDK.

เช•เชฐเซ‡เชฒเชพ เช•เชพเชฎเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ GitHub เชชเชฐ เชชเซเชฐเช•เชพเชถเชฟเชค เช…เชจเซ‡ เชคเซ‡ เชฒเซ‹เช•เซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡เช“, เช…เชฎเซเช• เช•เชพเชฐเชฃเซ‹เชธเชฐ, Yandex.Cloud เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชชเชฐ เชคเซ‡เชฎเชจเชพ เชชเซ‹เชคเชพเชจเชพ Kubernetes เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ (เชชเชฐเช‚เชคเซ เชคเซˆเชฏเชพเชฐ เชธเช‚เชšเชพเชฒเชฟเชค เช•เซเชฒเชธเซเชŸเชฐ เชจเชฅเซ€) เช…เชจเซ‡ CSI เชฆเซเชตเชพเชฐเชพ เชกเชฟเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— (เช“เชฐเซเชกเชฐ) เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡.

ะ ะตะฐะปะธะทะฐั†ะธั

เช•เซ€ เชธเซเชตเชฟเชงเชพเช“

เชนเชพเชฒเชฎเชพเช‚ เชกเซเชฐเชพเช‡เชตเชฐ เชจเซ€เชšเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡:

  • เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชจเซ‹เชกเซเชธเชจเชพ เชŸเซ‹เชชเซ‹เชฒเซ‹เชœเซ€ เช…เชจเซเชธเชพเชฐ เช•เซเชฒเชธเซเชŸเชฐเชจเชพ เชคเชฎเชพเชฎ เชเซ‹เชจเชฎเชพเช‚ เชกเชฟเชธเซเช•เชจเซ‹ เช“เชฐเซเชกเชฐ เช†เชชเชตเซ‹;
  • เช…เช—เชพเช‰ เช“เชฐเซเชกเชฐ เช•เชฐเซ‡เชฒ เชกเชฟเชธเซเช• เชฆเซ‚เชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช;
  • เชกเชฟเชธเซเช• เชฎเชพเชŸเซ‡ เช‘เชซเชฒเชพเช‡เชจ เชฎเชพเชช เชฌเชฆเชฒเซ‹ (Yandex.Cloud เช†เชงเชพเชฐ เช†เชชเชถเซ‹ เชจเชนเซ€เช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชชเชฐ เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เชกเชฟเชธเซเช•เชจเซ‡ เชตเชงเชพเชฐเชตเซ€). เชฎเชพเชช เชฌเชฆเชฒเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซเช‚ เชชเซ€เชกเชพเชฐเชนเชฟเชค เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเชตเซเช‚ เชชเชกเซเชฏเซเช‚ เชคเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡ เชœเซเช“.

เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚, เช…เชฎเซ‡ เชกเชฟเชธเซเช• เชธเซเชจเซ‡เชชเชถเซ‹เชŸ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เชฌเชจเชพเชตเซ€เช เช›เซ€เช.

เชฎเซเช–เซเชฏ เชฎเซเชถเซเช•เซ‡เชฒเซ€ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเซ€

Yandex.Cloud API เชฎเชพเช‚ เชฐเซ€เช…เชฒ เชŸเชพเช‡เชฎเชฎเชพเช‚ เชกเชฟเชธเซเช• เชตเชงเชพเชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชจเซ‹ เช…เชญเชพเชต เช เชเช• เชฎเชฐเซเชฏเชพเชฆเชพ เช›เซ‡ เชœเซ‡ PV (เชธเชคเชค เชตเซ‹เชฒเซเชฏเซเชฎ) เชฎเชพเชŸเซ‡ เชฐเซ€เชธเชพเช‡เช เช“เชชเชฐเซ‡เชถเชจเชจเซ‡ เชœเชŸเชฟเชฒ เชฌเชจเชพเชตเซ‡ เช›เซ‡: เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เช•เซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชชเซ‹เชก เช•เซ‡ เชœเซ‡ เชกเชฟเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชฌเช‚เชง เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เช…เชจเซ‡ เช† เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡.

เช…เชจเซเชธเชพเชฐ CSI เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเซ‹, เชœเซ‹ CSI เชจเชฟเชฏเช‚เชคเซเชฐเช• เช…เชนเซ‡เชตเชพเชฒ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชซเช•เซเชค "เช“เชซเชฒเชพเช‡เชจ" เชกเชฟเชธเซเช•เชจเซเช‚ เช•เชฆ เชฌเชฆเชฒเซ€ เชถเช•เซ‡ เช›เซ‡ (VolumeExpansion.OFFLINE), เชชเช›เซ€ เชกเชฟเชธเซเช•เชจเซ‡ เชตเชงเชพเชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช†เชจเชพ เชœเซ‡เชตเซ€ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช:

เชœเซ‹ เชชเซเชฒเช—เช‡เชจ เชชเชพเชธเซ‡ เชœ เชนเซ‹เชฏ VolumeExpansion.OFFLINE เชตเชฟเชธเซเชคเชฐเชฃ เช•เซเชทเชฎเชคเชพ เช…เชจเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎ เชนเชพเชฒเชฎเชพเช‚ เชชเซเชฐเช•เชพเชถเชฟเชค เช…เชฅเชตเชพ เชชเช›เซ€ เชจเซ‹เชก เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ ControllerExpandVolume เชฌเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เชชเช›เซ€ เชœ เช•เซ‰เชฒ เช•เชฐเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡:

  • เชชเซเชฒเช—เช‡เชจเชฎเชพเช‚ เชจเชฟเชฏเช‚เชคเซเชฐเช• เช›เซ‡ PUBLISH_UNPUBLISH_VOLUME เช•เซเชทเชฎเชคเชพ เช…เชจเซ‡ ControllerUnpublishVolume เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชฌเซ‹เชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.

เช…เชฅเชตเชพ เช…เชจเซเชฏ

  • เชชเซเชฒเช—เช‡เชจ เชชเชพเชธเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเช• เชจเชฅเซ€ PUBLISH_UNPUBLISH_VOLUME เช•เซเชทเชฎเชคเชพ, เชชเซเชฒเช—เช‡เชจ เชจเซ‹เชก เชงเชฐเชพเชตเซ‡ เช›เซ‡ STAGE_UNSTAGE_VOLUME เช•เซเชทเชฎเชคเชพ, เช…เชจเซ‡ NodeUnstageVolume เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชชเซ‚เชฐเซเชฃ เชฅเชฏเซเช‚ เช›เซ‡.

เช…เชฅเชตเชพ เช…เชจเซเชฏ

  • เชชเซเชฒเช—เช‡เชจ เชชเชพเชธเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเช• เชจเชฅเซ€ PUBLISH_UNPUBLISH_VOLUME เช•เซเชทเชฎเชคเชพ, เชจ เชจเซ‹เชก STAGE_UNSTAGE_VOLUME เช•เซเชทเชฎเชคเชพ, เช…เชจเซ‡ NodeUnpublishVolume เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชชเซ‚เชฐเซเชฃ เช•เชฐเซเชฏเซเช‚ เช›เซ‡.

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

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

  • เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ csi-attacher, เชœเซ‡ เชฎเชพเช‰เชจเซเชŸเซ‹ เชตเชšเซเชšเซ‡เชจเชพ เชœเชฐเซ‚เชฐเซ€ เช…เช‚เชคเชฐเชจเซ€ เชนเชพเชœเชฐเซ€ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เชนเซ‹เชตเชพ เชœเซ‹เชˆเช, เช† เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชซเช•เซเชค เช‘เชซเชฒเชพเช‡เชจ เชชเซเชจ: เชฎเชพเชชเชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชจเชฅเซ€. เช† เช…เช‚เช—เซ‡ เชšเชฐเซเชšเชพ เชถเชฐเซ‚ เชฅเชˆ เชนเชคเซ€ เช…เชนเซ€เช‚.
  • เช† เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เชฌเชฐเชพเชฌเชฐ เชถเซเช‚ เช›เซ‡? CSI เชชเซเชฒเช—เช‡เชจ เชชเซ‹เชคเซ‡ Kubernetes API เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฎเชพเชคเซเชฐ เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เชฆเซเชตเชพเชฐเชพ เชคเซ‡เชจเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ gRPC เช•เซ‹เชฒเซเชธเชจเซ‹ เชœเชตเชพเชฌ เช†เชชเซ‡ เช›เซ‡. เชจเชตเซ€เชจเชคเชฎ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชฎเซเชฆเชพเชฏ เชฆเซเชตเชพเชฐเชพ.

เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ (CSI เชชเซเชฒเช—เช‡เชจ), เชกเชฟเชธเซเช• เชตเชงเชพเชฐเชตเชพเชจเซเช‚ เช‘เชชเชฐเซ‡เชถเชจ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡:

  1. เช…เชฎเชจเซ‡ gRPC เช•เซ‰เชฒ เชฎเชณเซ‡ เช›เซ‡ ControllerExpandVolume;
  2. เช…เชฎเซ‡ API เชฎเชพเช‚ เชกเชฟเชธเซเช•เชจเซ‡ เชตเชงเชพเชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช, เชชเชฐเช‚เชคเซ เช…เชฎเชจเซ‡ เช‘เชชเชฐเซ‡เชถเชจ เช•เชฐเชตเชพเชจเซ€ เช…เชถเช•เซเชฏเชคเชพ เชตเชฟเชถเซ‡ เชญเซ‚เชฒ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชกเชฟเชธเซเช• เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡;
  3. เช…เชฎเซ‡ เชกเชฟเชธเซเช• เช“เชณเช–เช•เชฐเซเชคเชพเชจเซ‡ เชจเช•เชถเชพเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‡เชฎเชพเช‚ เชกเชฟเชธเซเช• เชนเซ‹เชฏ เช›เซ‡ เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชจเซ€เชšเซ‡, เชธเช‚เช•เซเชทเชฟเชชเซเชคเชคเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช† เชจเช•เชถเชพเชจเซ‡ เช•เชนเซ€เชถเซเช‚ volumeResizeRequired;
  4. เชกเชฟเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซ‡เชฒเชพ เชชเซ‹เชกเชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฆเซ‚เชฐ เช•เชฐเซ‹. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเชถเซ‡. เชœเซ‡เชฅเซ€ เชกเชฟเชธเซเช•เชจเซ‡ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชฏ เชจ เชฎเชณเซ‡ (ControllerPublishVolume) เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เชชเซ‚เชฐเซเชฃ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ, เช…เชฎเซ‡ เชคเชชเชพเชธเซ€เช เช›เซ€เช เช•เซ‡ เช†เชชเซ‡เชฒ เชกเชฟเชธเซเช• เชนเชœเซ เชชเชฃ เช…เช‚เชฆเชฐ เช›เซ‡ volumeResizeRequired เช…เชจเซ‡ เชญเซ‚เชฒ เชชเชฐเชค เช•เชฐเซ‹;
  5. CSI เชกเซเชฐเชพเช‡เชตเชฐ เชฎเชพเชช เชฌเชฆเชฒเชตเชพเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชšเชฒเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เช‘เชชเชฐเซ‡เชถเชจ เชธเชซเชณ เชฅเชฏเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€ เชกเชฟเชธเซเช•เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‹ volumeResizeRequired;
  6. เช•เชพเชฐเชฃ เช•เซ‡ เชฎเชพเช‚เชฅเซ€ เชกเชฟเชธเซเช• ID เช–เซ‚เชŸเซ‡ เช›เซ‡ volumeResizeRequired, ControllerPublishVolume เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชชเชธเชพเชฐ เชฅเชพเชฏ เช›เซ‡, เชกเชฟเชธเซเช• เชฎเชพเช‰เชจเซเชŸ เชฅเชพเชฏ เช›เซ‡, เชชเซ‹เชก เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡.

เชฌเชงเซเช‚ เชชเซ‚เชฐเชคเซเช‚ เชธเชฐเชณ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ เชฎเซเชถเซเช•เซ‡เชฒเซ€เช“ เช›เซ‡. เชกเชฟเชธเซเช•เชจเซ‡ เชฎเซ‹เชŸเซเช‚ เช•เชฐเซ‡ เช›เซ‡ เชฌเชพเชนเซเชฏ-เชฐเชฟเชธเชพเชˆเชเชฐ, เชœเซ‡ เช“เชชเชฐเซ‡เชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชญเซ‚เชฒเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช•เชคเชพเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ 1000 เชธเซ‡เช•เชจเซเชก เชธเซเชงเซ€เชจเชพ เชธเชฎเชฏเชธเชฎเชพเชชเซเชคเชฟ เชธเชฎเชฏเชฎเชพเช‚ เช˜เชพเชคเชพเช‚เช•เซ€เชฏ เชตเชงเชพเชฐเชพ เชธเชพเชฅเซ‡:

func DefaultControllerRateLimiter() RateLimiter {
  return NewMaxOfRateLimiter(
  NewItemExponentialFailureRateLimiter(5*time.Millisecond, 1000*time.Second),
  // 10 qps, 100 bucket size.  This is only for retry speed and its only the overall factor (not per item)
  &BucketRateLimiter{Limiter: rate.NewLimiter(rate.Limit(10), 100)},
  )
}

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

เชเช•เชฎเชพเชคเซเชฐ เชตเชฟเช•เชฒเซเชช เช•เซ‡ เชœเซ‡เชฃเซ‡ เช…เชฎเชจเซ‡ เชธเช‚เชญเชตเชฟเชค เชกเชพเช‰เชจเชŸเชพเช‡เชฎ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฆเซเชฆเชจ เชธเชนเซ‡เชฒเชพเชˆเชฅเซ€ เช…เชจเซ‡ เชชเซ€เชกเชพเชฐเชนเชฟเชค เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ€ เชนเชคเซ€ เชคเซ‡ เชฎเชนเชคเซเชคเชฎ เชธเชฎเชฏเชธเชฎเชพเชชเซเชคเชฟ เชฎเชฐเซเชฏเชพเชฆเชพ เชธเชพเชฅเซ‡ เชฌเชพเชนเซเชฏ-เชฐเชฟเชธเชพเชˆเชเชฐเชจเชพ เช…เชฎเชพเชฐเชพ เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชนเชคเซ‹. 5 เชธเซ‡เช•เชจเซเชกเชฎเชพเช‚:

workqueue.NewItemExponentialFailureRateLimiter(5*time.Millisecond, 5*time.Second)

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

เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชถเชฐเซ‚ เช•เชฐเชตเซ‹?

เชกเซเชฐเชพเช‡เชตเชฐ Kubernetes เช†เชตเซƒเชคเซเชคเชฟ 1.15 เช…เชจเซ‡ เช‰เชšเซเชš เชชเชฐ เช†เชงเชพเชฐเชญเซ‚เชค เช›เซ‡. เชกเซเชฐเชพเช‡เชตเชฐเชจเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชจเซ€เชšเซ‡เชจเซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“เชจเซ‡ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡:

  • เชงเซเชตเชœ --allow-privileged เชฎเซ‚เชฒเซเชฏ เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ‹ true API เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เช•เซเชฌเซ‡เชฒเซ‡เชŸ เชฎเชพเชŸเซ‡;
  • เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ --feature-gates=VolumeSnapshotDataSource=true,KubeletPluginsWatcher=true,CSINodeInfo=true,CSIDriverRegistry=true API เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เช•เซเชฌเซ‡เชฒเซ‡เชŸ เชฎเชพเชŸเซ‡;
  • เชฎเชพเช‰เชจเซเชŸ เชชเซเชฐเชšเชพเชฐ (เชฎเชพเช‰เชจเซเชŸ เชชเซเชฐเชšเชพเชฐ) เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชธเช•เซเชทเชฎ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชกเซ‹เช•เชฐ เชตเชพเชชเชฐเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชฎเชพเช‰เชจเซเชŸเซ‹เชจเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชกเชฟเชฎเชจเชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.

เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชœ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เชชเช—เชฒเชพเช‚ README เชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡. เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจเชฎเชพเช‚ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชฎเชพเช‚เชฅเซ€ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

เชกเซเชฐเชพเช‡เชตเชฐ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชจเซ€เชšเซ‡เชจเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡:

  • เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชฎเชพเช‚ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช“เชณเช–เช•เชฐเซเชคเชพเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ (folder-id) Yandex.Cloud (เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชœเซเช“);
  • Yandex.Cloud API เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, CSI เชกเซเชฐเชพเช‡เชตเชฐ เชธเซ‡เชตเชพ เช–เชพเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชฎเชพเช‚, เชธเชฟเช•เซเชฐเซ‡เชŸ เชชเชพเชธ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เช…เชงเชฟเช•เซƒเชค เช•เซ€เช“ เชธเซ‡เชตเชพ เช–เชพเชคเชพเชฎเชพเช‚เชฅเซ€. เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ, เชธเซ‡เชตเชพ เช–เชพเชคเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเซเช‚ เช…เชจเซ‡ เชšเชพเชตเซ€เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฎเซ‡เชณเชตเชตเซ€.

เชฌเชงเชพ เชฎเชพเช‚ เชฌเชงเซเช‚ - เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‹, เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชจเช‚เชฆ เชฅเชถเซ‡ เช…เชจเซ‡ เชจเชตเชพ เชฎเซเชฆเซเชฆเชพเช“, เชœเซ‹ เชคเชฎเชจเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เช†เชตเซ‡ เชคเซ‹!

เชตเชงเซ เช†เชงเชพเชฐ

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

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

PS

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

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

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