เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบต CSI เปƒเบ™ Kubernetes เบชเปเบฒเบฅเบฑเบš Yandex.Cloud

เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบต CSI เปƒเบ™ Kubernetes เบชเปเบฒเบฅเบฑเบš Yandex.Cloud

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เบงเบฒเบกเบเบดเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเบ›เบฐเบเบฒเบ”เบงเปˆเบฒ Flan เบเปเบฒเบฅเบฑเบ‡เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™เบ‚เบญเบ‡เบ•เบปเบ™เปƒเบซเป‰เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบท Open Source เบชเปเบฒเบฅเบฑเบš Kubernetes เป‚เบ”เบเบเบฒเบ™เบ›เปˆเบญเบ เป€เบงเบตเบŠเบฑเปˆเบ™เบญเบฑเบ™เบŸเบฒเบ‚เบญเบ‡เป„เบ”เป€เบงเบต CSI (Container Storage Interface) เบชเปเบฒเบฅเบฑเบš Yandex.Cloud.

เปเบ•เปˆเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เปƒเบซเป‰เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบญเบฑเบ™เบ™เบตเป‰เบˆเบถเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ Yandex เบกเบตเบšเปเบฅเบดเบเบฒเบ™เปเบฅเป‰เบง. เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเปเบฒเบฅเบฑเบš Kubernetes.

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ„เบทเบญเบฑเบ™เบ™เบตเป‰?

เบžเบฒเบเปƒเบ™เบšเปเบฅเบดเบชเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ•เบฑเป‰เบ‡เปเบ•เปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Kubernetes เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ” (i. e. เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบผเบฒเบเบ›เบตเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™), เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡ (deckhouse), เป€เบŠเบดเปˆเบ‡, เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปƒเบ™เป„เบงเป†เบ™เบตเป‰เป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™ Open Source. . เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ‚เบญเบ‡เบกเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบเบณเบ™เบปเบ”เบ„เปˆเบฒ เปเบฅเบฐ เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบเบธเปˆเบกเบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบš, เปเบฅเบฐ เบ›เบฐเบˆเบธเบšเบฑเบ™เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 100 เบžเบงเบเบกเบฑเบ™เปเบฅเป‰เบง, เบขเบนเปˆเปƒเบ™เบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบฎเบฒเบ”เปเบงเบ—เบตเปˆเบซเบผเบฒเบเบซเบผเบฒเบ เปเบฅเบฐ เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ„เบฅเบฒเบงเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆ.

เบเบธเปˆเบกเบ—เบตเปˆเปƒเบŠเป‰ deckhouse เบกเบตเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™: เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบชเบฐเบ”เบงเบ, metrics เปเบฅเบฐเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบœเบนเป‰เปƒเบŠเป‰เบœเปˆเบฒเบ™เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเบ™เบญเบเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ dashboards เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบšเปเปˆเบกเบตเบˆเบธเบ”เปƒเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบธเปˆเบก "pumped" เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰เบกเบฑเบเบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบซเบผเบทเบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ›เบดเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš.

NB: เบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบกเบฑเบ™เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบฐเป€เบžเบฒเบฐ. เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เปเบ™เบฐเบ™เบณเปƒเบซเป‰เบ—เบธเบเบ„เบปเบ™เบ„เบงเบ™เบ™เบณเปƒเบŠเป‰เบเบธเปˆเบก Kubernetes เบ”เป‰เบงเบเบ•เบปเบงเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบญเบ‡ เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบžเป‰เบญเบกเปเบฅเป‰เบง. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ Kubernetes เบˆเบฒเบ Yandex เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเปƒเบซเป‰เบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ”เป†เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰.

เบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเปƒเบœ?

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปƒเบ™ Kubernetes เปเบฅเป‰เบง: CSI เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”? ะธ เบŠเบธเบกเบŠเบปเบ™เบกเบฒเปเบ™เบงเปƒเบ” เบ•เปเปˆเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ„เบฅเบฒเบงเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบœเปˆเบ™เป€เบกเบ„เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบ›เบฑเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบ„เบปเบ‡เบ—เบตเปˆเปƒเบ™ Kubernetes. เบ–เป‰เบฒเบœเบนเป‰เบชเบฐเบซเบ™เบญเบ‡เบšเปเปˆเบกเบตเป„เบ”เป€เบงเบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เปเบ•เปˆเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบœเปˆเบฒเบ™ API, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ›เป‰เบญเบ‡เบเบฑเบ™เบ—เปˆเบฒเบ™เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบ‚เบฑเบšเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบš Yandex.Cloud.

เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ เป„เบ”เป€เบงเบต CSI เบชเปเบฒเบฅเบฑเบš DigitalOcean cloud เปเบฅเบฐเบ„เบนเปˆเบ™เปˆเบถเบ‚เบญเบ‡เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบˆเบฒเบ เป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบš GCP, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบš API เบ‚เบญเบ‡เบŸเบฑเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ (Google เปเบฅเบฐ Yandex) เบกเบตเบ„เบงเบฒเบกเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบซเบผเบฒเบ. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, API เปเบฅเบฐ GCP, เปเบฅเบฐเบขเบนเปˆ Yandex เบชเบปเปˆเบ‡เบ„เบทเบ™เบงเบฑเบ”เบ–เบธ Operation เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบเบฒเบงเบ™เบฒเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบœเปˆเบ™เปƒเบซเบกเปˆ). เป€เบžเบทเปˆเบญเป‚เบ•เป‰เบ•เบญเบšเบเบฑเบš Yandex.Cloud API, เปƒเบซเป‰เปƒเบŠเป‰ Yandex.Cloud Go SDK.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ” เบˆเบฑเบ”เบžเบตเบกเบกเบฒเบขเบนเปˆเปƒเบ™ GitHub เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆ, เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เปƒเบŠเป‰เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Kubernetes เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปƒเบ™ Yandex.Cloud virtual machines (เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™ cluster เบ—เบตเปˆเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก) เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰ (เบชเบฑเปˆเบ‡) disks เบœเปˆเบฒเบ™ CSI.

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

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เบปเบ™เบ‚เบฑเบšเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบเบฒเบ™เบชเบฑเปˆเบ‡เปเบœเปˆเบ™เปƒเบ™เบ—เบธเบเป€เบ‚เบ”เบ‚เบญเบ‡เบเบธเปˆเบกเบ•เบฒเบก topology เบ‚เบญเบ‡ nodes เปƒเบ™ cluster;
  • เบ–เบญเบ™เปเบœเปˆเบ™เบ—เบตเปˆเบชเบฑเปˆเบ‡เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰;
  • เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”เบญเบญเบšเบฅเบฒเบเบชเบณเบฅเบฑเบšเปเบœเปˆเบ™ (Yandex.Cloud เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เป€เบžเบตเปˆเบกเปเบœเปˆเบ™เบ—เบตเปˆเบ•เบดเบ”เบขเบนเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual). เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบ„เบปเบ™เบ‚เบฑเบšเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ”เบฑเบ”เปเบ›เบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบšเปเปˆเป€เบˆเบฑเบšเบ›เบงเบ”เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰.

เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”, เบžเบงเบเป€เบฎเบปเบฒเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบฅเบถเบšเบžเบฒเบšเบ–เปˆเบฒเบเปเบœเปˆเบ™.

เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบ•เบปเป‰เบ™เบ•เปเปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบกเบฑเบ™

เบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเปเบœเปˆเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปƒเบ™ Yandex.Cloud API เปเบกเปˆเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบชเปเบฒเบฅเบฑเบš PV (Persistent Volume): เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆ pod เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเปƒเบŠเป‰เปเบœเปˆเบ™เบ–เบทเบเบขเบธเบ”, เปเบฅเบฐเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ downtime.

เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™ เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเป€เบžเบฒเบฐเบ‚เบญเบ‡ CSI, เบ–เป‰เบฒเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก CSI เบฅเบฒเบเบ‡เบฒเบ™เบงเปˆเบฒเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เปเบœเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆ "เบญเบญเบšเป„เบฅเบ™เปŒ" (VolumeExpansion.OFFLINE), เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเปเบœเปˆเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

เบ–เป‰เบฒ plugin เบกเบตเบžเบฝเบ‡เปเบ•เปˆ VolumeExpansion.OFFLINE เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเปเบฅเบฐเบ›เบฐเบฅเบดเบกเบฒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบซเบผเบทเบกเบตเบขเบนเปˆเปƒเบ™ node เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ ControllerExpandVolume เบ•เป‰เบญเบ‡เบ–เบทเบเป€เบญเบตเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡:

  • plugin เบกเบตเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก PUBLISH_UNPUBLISH_VOLUME เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปเบฅเบฐโ€‹ ControllerUnpublishVolume เป„เบ”เป‰เบ–เบทเบเป€เบญเบตเป‰เบ™เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™.

เบซเบผเบทเบญเบทเปˆเบ™เป†

  • เบ›เบฅเบฑเบเบญเบดเบ™เบšเปเปˆเบกเบตเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก PUBLISH_UNPUBLISH_VOLUME เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”, plugin เบกเบต node STAGE_UNSTAGE_VOLUME เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”, เปเบฅเบฐ NodeUnstageVolume เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”.

เบซเบผเบทเบญเบทเปˆเบ™เป†

  • เบ›เบฅเบฑเบเบญเบดเบ™เบšเปเปˆเบกเบตเบ•เบปเบงเบ„เบงเบšเบ„เบธเบก PUBLISH_UNPUBLISH_VOLUME เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”, เบซเบผเบท node STAGE_UNSTAGE_VOLUME เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”, เปเบฅเบฐ NodeUnpublishVolume เป„เบ”เป‰โ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹เบขเปˆเบฒเบ‡โ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹เบœเบปเบ™โ€‹.

เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เปเบเบเปเบœเปˆเบ™เบญเบญเบเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡ virtual เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฐเบซเบเบฒเบเบกเบฑเบ™.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ” เบ‚เปเป‰เบเปเบฒเบ™เบปเบ” CSI เบœเปˆเบฒเบ™ sidecars เบšเปเปˆเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰:

  • เปƒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบฅเบปเบ”เบ‚เป‰เบฒเบ‡ csi-attacher, เบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบกเบตเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบฅเบฐเบซเบงเปˆเบฒเบ‡ mounts, เบซเบ™เป‰เบฒเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบญเบญเบŸเป„เบฅ. เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบฅเบดเป€เบฅเบตเปˆเบก เบ—เบตเปˆเบ™เบตเป‰.
  • เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต sidecar เปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบ—เป‰เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ™เบตเป‰? เบ›เบฑเปŠเบเบญเบดเบ™ CSI เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบšเปเปˆเป„เบ”เป‰เบžเบปเบงเบžเบฑเบ™เบเบฑเบš Kubernetes API, เปเบ•เปˆเบžเบฝเบ‡เปเบ•เปˆเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบเบฑเบšเบเบฒเบ™เป‚เบ— gRPC เบ—เบตเปˆเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบกเบฑเบ™เป‚เบ”เบเบ–เบฑเบ‡เบ‚เป‰เบฒเบ‡. เบฅเปˆเบฒเบชเบธเบ” เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ เป‚เบ”เบเบŠเบธเบกเบŠเบปเบ™ Kubernetes.

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ (CSI plugin), เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเปเบœเปˆเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

  1. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป‚เบ—เบซเบฒ gRPC ControllerExpandVolume;
  2. เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเป€เบžเบตเปˆเบกเปเบœเปˆเบ™เปƒเบ™ API, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบฒเบฐเบงเปˆเบฒเปเบœเปˆเบ™เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡;
  3. เบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเบงเบฅเบฐเบšเบธเบ”เบดเบชเบเปŒเป„เบงเป‰เปƒเบ™เปเบœเบ™เบ—เบตเปˆ, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเปเบœเปˆเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™. เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบชเปเบฒเบฅเบฑเบš brevity, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป‚เบ—เบซเบฒเปเบœเบ™เบ—เบตเปˆเบ™เบตเป‰เป€เบ›เบฑเบ™ volumeResizeRequired;
  4. เป€เบญเบปเบฒเบเบฑเบเบ—เบตเปˆเบเบณเบฅเบฑเบ‡เปƒเบŠเป‰เปเบœเปˆเบ™เบญเบญเบเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡. Kubernetes เบˆเบฐเบ›เบดเบ”เป€เบ›เบตเบ”เบกเบฑเบ™เบ„เบทเบ™เปƒเปเปˆ. เป€เบžเบทเปˆเบญโ€‹เปƒเบซเป‰โ€‹เปเบœเปˆเบ™โ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡ (.ControllerPublishVolume) เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบก mount, เบžเบงเบเป€เบฎเบปเบฒเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเปเบœเปˆเบ™เบ—เบตเปˆเปƒเบซเป‰เปเบกเปˆเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ volumeResizeRequired เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”;
  5. เป„เบ”เป€เบงเบต CSI เบžเบฐเบเบฒเบเบฒเบกเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”เบ„เบทเบ™เปƒเปเปˆ. เบ–เป‰เบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบญเบปเบฒเปเบœเปˆเบ™เบญเบญเบเบˆเบฒเบ volumeResizeRequired;
  6. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ Disk ID เบซเบฒเบเป„เบ›เบˆเบฒเบ volumeResizeRequired, ControllerPublishVolume เบœเปˆเบฒเบ™เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™, เปเบœเปˆเบ™เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบเบฑเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบšเบดเปˆเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบžเบฝเบ‡เบžเป, เปเบ•เปˆเบงเปˆเบฒเบชเบฐเป€เบซเบกเบตเบกเบต pitfalls. เบ‚เบฐเบซเบเบฒเบเปเบœเปˆเบ™ เบ•เบปเบงเบ›เบฑเบšเบ›เปˆเบฝเบ™เบžเบฒเบเบ™เบญเบ, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™ เปƒเบŠเป‰เบ„เบดเบง เบ”เป‰เบงเบเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบงเบฅเบฒเปเบปเบ”เป€เบงเบฅเบฒเป€เบ–เบดเบ‡ 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+ เบ™เบฒเบ—เบต เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบญเบ”เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ”เบฝเบงเบ—เบตเปˆเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเปเบฅเบฐเบšเปเปˆเป€เบˆเบฑเบšเบ›เบงเบ”เป„เบ”เป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบญเบฒเบ”เบกเบต downtime เปเบกเปˆเบ™เบเบฒเบ™เปƒเบŠเป‰เบ•เบปเบงเบ›เบฑเบšเบ›เปˆเบฝเบ™เบžเบฒเบเบ™เบญเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบกเบตเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบชเบนเบ‡เบชเบธเบ”. เปƒเบ™ 5 เบงเบดเบ™เบฒเบ—เบต:

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

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเปˆเบฒเบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ•เป‰เบญเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบขเปˆเบฒเบ‡เบฎเบตเบšเบ”เปˆเบงเบ™ เปเบฅเบฐเปเบเป‰เป„เบ‚เบ•เบปเบงเบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”เบžเบฒเบเบ™เบญเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”เบ‚เบญเบ‡เบ”เบดเบชเปเบšเบšเบญเบญเบšเป„เบฅเบ™เปŒเป€เบ›เบฑเบ™เบเบฒเบ™เบ–เบดเป‰เบกเบ„เบทเบ™เบ—เบตเปˆเบˆเบฐเบซเบฒเบเป„เบ›เบˆเบฒเบเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบŸเบฑเบ‡เบ—เบฑเบ‡เปเบปเบ”เปƒเบ™เป„เบงเป†เบ™เบตเป‰.

เบˆเบฐเป€เบฅเบตเปˆเบกเปƒเบŠเป‰เปเบ™เบงเปƒเบ”?

เป„เบ”เป€เบงเบตเปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™ Kubernetes เป€เบงเบตเบŠเบฑเปˆเบ™ 1.15 เปเบฅเบฐเบชเบนเบ‡เบเบงเปˆเบฒ. เบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบ‚เบฑเบšเบฅเบปเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ, เบ•เป‰เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • Flag --allow-privileged เบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบ„เปˆเบฒ true เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ API เปเบฅเบฐ kubelet;
  • เบฅเบงเบก --feature-gates=VolumeSnapshotDataSource=true,KubeletPluginsWatcher=true,CSINodeInfo=true,CSIDriverRegistry=true เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ API เปเบฅเบฐ kubelet;
  • เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบžเบฑเบ™เบ‚เบญเบ‡เบžเบน (เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบžเบฑเบ™เบ‚เบญเบ‡เบžเบน) เบ•เป‰เบญเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™เบเบธเปˆเบก. เป€เบกเบทเปˆเบญเปƒเบŠเป‰ Docker, daemon เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ configured เป€เบžเบทเปˆเบญเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปเบšเปˆเบ‡เบ›เบฑเบ™ mounts.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡ เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™ README. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบงเบฑเบ”เบ–เบธเปƒเบ™ Kubernetes เบˆเบฒเบ manifests.

เบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบ‚เบฑเบšเป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบฅเบฐเบšเบธเบ•เบปเบงเบฅเบฐเบšเบธเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปƒเบ™ manifest (folder-id) Yandex.Cloud (เป€เบšเบดเปˆเบ‡เป€เบญเบเบฐเบชเบฒเบ™);
  • เป€เบžเบทเปˆเบญเบžเบปเบงเบžเบฑเบ™เบเบฑเบš Yandex.Cloud API, เป„เบ”เป€เบงเบต CSI เปƒเบŠเป‰เบšเบฑเบ™เบŠเบตเบšเปเบฅเบดเบเบฒเบ™. เปƒเบ™ manifest, เบ„เบงเบฒเบกเบฅเบฑเบšเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบœเปˆเบฒเบ™ เบเบฐเปเบˆเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบญเบฐเบ™เบธเบเบฒเบ” เบˆเบฒเบเบšเบฑเบ™เบŠเบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ เบญเบฐเบ—เบดเบšเบฒเบ, เบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบšเบฑเบ™เบŠเบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบฎเบฑเบšเบฅเบฐเบซเบฑเบ”.

เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ” - เบžเบฐเบเบฒเบเบฒเบก, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ”เบตเปƒเบˆเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ„เปเบฒเบ„เบถเบ”เบ„เปเบฒเป€เบซเบฑเบ™เปเบฅเบฐ เบšเบฑเบ™เบซเบฒเปƒเบซเบกเปˆเบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบ—เปˆเบฒเบ™โ€‹เบžเบปเบšโ€‹เบšเบฑเบ™โ€‹เบซเบฒโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹!

เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบ‚เบฑเบš CSI เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบญเบญเบเบˆเบฒเบเบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเบ—เบตเปˆเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบกเปˆเบงเบ™เปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™ Go, เปเบ•เปˆเบเป‰เบญเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฑเบ™เบฎเบตเบšเบ”เปˆเบงเบ™เบžเบฒเบเปƒเบ™เบšเปเบฅเบดเบชเบฑเบ”. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเบˆเบฐเบฎเบฑเบเบชเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒ Yandex เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปเบฅเบฐเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบชเบทเบšเบ•เปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบœเบนเป‰เบ‚เบฑเบšเบ‚เบตเปˆ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบดเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเป‚เบญเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒ.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, Yandex เบญเบฒเบ”เบˆเบฐเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบ‚เบญเบ‡เป„เบ”เป€เบงเบต CSI เปƒเบ™เบเบธเปˆเบก Kubernetes เบ—เบตเปˆเบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™ Open Source. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เป€เบซเบฑเบ™เบงเปˆเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ™เบตเป‰เปเบกเปˆเบ™เป€เบญเบทเป‰เบญเบญเปเบฒเบ™เบงเบ - เบŠเบธเบกเบŠเบปเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป€เบงเบตเบ—เบตเปˆเบžเบดเบชเบนเบ”เปเบฅเป‰เบงเบˆเบฒเบเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบˆเบฒเบเบšเปเบฅเบดเบชเบฑเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก.

PS

เบญเปˆเบฒเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™