เชธเซเชŸเซ‹เชฐเซ‡เชœ เช•เซ‡เชชเซ‡เชธเชฟเชŸเซ€ เชŸเซเชฐเซ‡เช•เชฟเช‚เช— เชธเชพเชฅเซ‡ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซเชธ: เชธเซเชŸเซ‡เชฐเซ‹เช‡เชกเซเชธ เชชเชฐ EmptyDir

เชธเซเชŸเซ‹เชฐเซ‡เชœ เช•เซ‡เชชเซ‡เชธเชฟเชŸเซ€ เชŸเซเชฐเซ‡เช•เชฟเช‚เช— เชธเชพเชฅเซ‡ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซเชธ: เชธเซเชŸเซ‡เชฐเซ‹เช‡เชกเซเชธ เชชเชฐ EmptyDir

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

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

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชพเชธเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช˜เชฃเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เช›เซ‡ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ K8s เชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡.

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

เช† เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชฎเชพเชŸเซ‡ เชธเชฎเชธเซเชฏเชพ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชนเซ‹เชธเซเชŸ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เช…เชฅเชตเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเชพเชŸเซ‡ เช•เซ‡ เชœเซ‡ เชซเช•เซเชค เช•เซ‡เชŸเชฒเชพเช• เชฏเชœเชฎเชพเชจเซ‹ เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. เชคเซ‡เชฅเซ€ เชœ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ 1.19 เชฌเซ‡ เชจเชตเชพ เช†เชฒเซเชซเชพ เชชเชฐเซ€เช•เซเชทเชฃ เชตเซ‹เชฒเซเชฏเซเชฎ เชฒเช•เซเชทเชฃเซ‹ เชฐเชœเซ‚ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เช•เชฒเซเชชเชจเชพเชคเซเชฎเช• เชฐเซ€เชคเซ‡ EmptyDir เชตเซ‹เชฒเซเชฏเซเชฎเซเชธ เชธเชฎเชพเชจ เช›เซ‡:

  • เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹;

  • CSI เชธเช‚เช—เซเชฐเชน เช•เซเชทเชฎเชคเชพ เชŸเซเชฐเซ‡เช•เชฟเช‚เช—.

เชจเชตเชพ เช…เชญเชฟเช—เชฎเชจเชพ เชซเชพเชฏเชฆเชพ:

  • เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเซเชฅเชพเชจเชฟเช• เช…เชฅเชตเชพ เชจเซ‡เชŸเชตเชฐเซเช• เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸเซ‡เชก เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡;

  • เชตเซ‹เชฒเซเชฏเซเชฎเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธ เช•เชฆ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฆเซเชตเชพเชฐเชพ เช“เชณเช‚เช—เซ€ เชถเช•เชพเชคเซเช‚ เชจเชฅเซ€;

  • เช•เซ‹เชˆเชชเชฃ CSI เชกเซเชฐเชพเช‡เชตเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชธเชคเชค เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ€ เชœเซ‹เช—เชตเชพเชˆเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡ เช…เชจเซ‡ (เช•เซเชทเชฎเชคเชพ เชŸเซเชฐเซ‡เช•เชฟเช‚เช—เชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡) เช•เซ‰เชฒเชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡ GetCapacity;

  • เชกเซเชฐเชพเช‡เชตเชฐ เช…เชจเซ‡ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเชพ เช†เชงเชพเชฐเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎเชฎเชพเช‚ เชฅเซ‹เชกเซ‹ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชกเซ‡เชŸเชพ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡;

  • เชตเซ‹เชฒเซเชฏเซเชฎ เชธเชพเชฅเซ‡เชจเซ€ เชคเชฎเชพเชฎ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช•เชพเชฎเช—เซ€เชฐเซ€ (เชธเซเชจเซ‡เชชเชถเซ‹เชŸ เชฌเชจเชพเชตเชตเซ€, เชฎเชพเชช เชฌเชฆเชฒเชตเซ€ เชตเช—เซ‡เชฐเซ‡) เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡;

  • เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‹เชˆเชชเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชจเชฟเชฏเช‚เชคเซเชฐเช• เชธเชพเชฅเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชœเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒ เช…เชฅเชตเชพ เชตเซ‹เชฒเซเชฏเซเชฎ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃ เชธเซเชตเซ€เช•เชพเชฐเซ‡ เช›เซ‡;

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

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชตเชฟเช•เชฒเซเชชเซ‹

เชคเซ‡เชฅเซ€, เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซเชจเชพ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชจเซ€เชšเซ‡เชจเชพ เช‰เชชเชฏเซ‹เช—เชจเชพ เช•เชฟเชธเซเชธเชพเช“ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡:

เชฎเซ‡เชฎเช•เซ‡เชถเซเชก เชฎเชพเชŸเซ‡ RAM เชจเชพ เชฐเชฟเชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชคเชฐเซ€เช•เซ‡ เชธเชคเชค เชฎเซ‡เชฎเชฐเซ€

memcached เชจเชพ เชจเชตเซ€เชจเชคเชฎ เชชเซเชฐเช•เชพเชถเชจเซ‹ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เช†เชงเชพเชฐ เชธเชคเชค เชฎเซ‡เชฎเชฐเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ (Intel Optane, เชตเช—เซ‡เชฐเซ‡, เช†เชถเชฐเซ‡ เช…เชจเซเชตเชพเชฆเช•) เชจเชฟเชฏเชฎเชฟเชค RAM เชจเซ‡ เชฌเชฆเชฒเซ‡. เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒเชฐ เชฆเซเชตเชพเชฐเชพ เชฎเซ‡เชฎเช•เซ‡เชถเซเชก เชœเชฎเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ CSI เชกเซเชฐเชพเช‡เชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ PMEM เชฎเชพเช‚เชฅเซ€ เช†เชชเซ‡เชฒ เช•เชฆเชจเชพ เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ€ เชซเชพเชณเชตเชฃเซ€ เช•เชฐเชตเชพ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซเชจเชพ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ PMEM-CSI.

เชตเชฐเซเช•เชธเซเชชเซ‡เชธ เชคเชฐเซ€เช•เซ‡ LVM เชธเซเชฅเชพเชจเชฟเช• เชธเช‚เช—เซเชฐเชน

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

เชกเซ‡เชŸเชพ เชตเซ‹เชฒเซเชฏเซเชฎเซเชธ เชฎเชพเชŸเซ‡ เชซเช•เซเชค เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชเช•เซเชธเซ‡เชธ

เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ€ เชซเชพเชณเชตเชฃเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ€ เชฐเชšเชจเชพเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡:

เช† เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชซเช•เซเชค เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชฎเซ‹เชกเชฎเชพเช‚ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡

เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹

เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซเชจเชพ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹เชจเซ€ เชฎเซเช–เซเชฏ เชตเชฟเชถเซ‡เชทเชคเชพ เช เชจเชตเซ‹ เชตเซ‹เชฒเซเชฏเซเชฎ เชธเซเชคเซเชฐเซ‹เชค เช›เซ‡, EphemeralVolumeSource, เชตเซ‹เชฒเซเชฏเซเชฎ เชตเชฟเชจเช‚เชคเชฟ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฎ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡ (เชเชคเชฟเชนเชพเชธเชฟเช• เชฐเซ€เชคเซ‡ เชธเชคเชค เชตเซ‹เชฒเซเชฏเซเชฎ เชตเชฟเชจเช‚เชคเซ€, PVC เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡). เชฎเชพเช‚ เชจเชตเชพ เชจเชฟเชฏเช‚เชคเซเชฐเช• kube-controller-manager เชชเซ‹เชกเซเชธเชจเซ‡ เชœเซเช เช›เซ‡ เชœเซ‡ เช†เชตเชพ เชตเซ‹เชฒเซเชฏเซเชฎ เชธเซเชคเซเชฐเซ‹เชค เชฌเชจเชพเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡ เชชเซ‹เชกเซเชธ เชฎเชพเชŸเซ‡ เชชเซ€เชตเซ€เชธเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡. CSI เชกเซเชฐเชพเช‡เชตเชฐ เชฎเชพเชŸเซ‡, เช† เชตเชฟเชจเช‚เชคเชฟ เช…เชจเซเชฏ เชœเซ‡เชตเซ€ เชœ เชฒเชพเช—เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชนเซ€เช‚ เช•เซ‹เชˆ เชตเชฟเชถเซ‡เชท เชธเชฎเชฐเซเชฅเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€.

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

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

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

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

เชธเช‚เช—เซเชฐเชน เช•เซเชทเชฎเชคเชพ เชŸเซเชฐเซ‡เช•เชฟเช‚เช—

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

เชจเชตเซ€ API CSIStorageCapacity, เชœเซ‡ เช†เชฒเซเชซเชพ เชธเซเชŸเซ‡เชœเชฎเชพเช‚ เช›เซ‡, เชœเชฐเซ‚เชฐเซ€ เชกเซ‡เชŸเชพเชจเซ‡ etcd เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเซ‡ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เชนเซ‹เชฏ. เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซเชจเชพ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เชฎเชพเชŸเซ‡เชจเชพ เชธเชฎเชฐเซเชฅเชจเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเชจเซ‡ เชœเชฎเชพเชตเชถเซ‹, เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ‡ เชธเช‚เช—เซเชฐเชน เช•เซเชทเชฎเชคเชพ เชŸเซเชฐเซ‡เช•เชฟเช‚เช—เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡: external-provisioner เชธเชพเชฎเชพเชจเซเชฏ เชฎเชพเชฐเชซเชคเซ‡ เชกเซเชฐเชพเชˆเชตเชฐ เชชเชพเชธเซ‡เชฅเซ€ เชชเซเชฐเชพเชชเซเชค เช•เซเชทเชฎเชคเชพ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเซ€ เชœเซ‹เชˆเช GetCapacity.

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

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

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

เชจเซ‹ เชคเชฎเซ‡ เชตเชงเซ เชตเชฟเช—เชคเชตเชพเชฐ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เชคเซ‡เชฎเชœ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ "เชฌเชฟเชฒเชพเชกเซ€เช“เชจเชพ เชธเซเชŸเซ‡เชจเซเชก เชชเชฐ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ" เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เช—เชฎเซเชฏ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชธเช˜เชจ เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเซ‹เชฎเชพเช‚ เชฒเชพเชฏเช• เชคเช•เชจเซ€เช•เซ€ เชธเชนเชพเชฏเชคเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ - เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฌเซ‡เช เชธเชชเซเชŸเซ‡เชฎเซเชฌเชฐ 28-30 เชจเชพ เชฐเซ‹เชœ เชฏเซ‹เชœเชพเชถเซ‡, เช…เชจเซ‡ เชตเชงเซ เช…เชฆเซเชฏเชคเชจ เชจเชฟเชทเซเชฃเชพเชคเซ‹ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เช—เชพ เช“เช•เซเชŸเซ‹เชฌเชฐ 14-16.

เชธเซเชฐเช•เซเชทเชพ

CSISstorageเช•เซเชทเชฎเชคเชพ

CSISstorageCapacity เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชฐเชนเซ‡ เช›เซ‡; เชœเซเชฏเชพเชฐเซ‡ เชฆเชฐเซ‡เช• CSI เชกเซเชฐเชพเช‡เชตเชฐเชจเซ‡ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชฐเซ‹เชฒเช†เช‰เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชœเช—เซเชฏเชพเชฎเชพเช‚ CSIStorageCapacity เชฎเชพเชŸเซ‡ RBAC เช…เชงเชฟเช•เชพเชฐเซ‹เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช•เซ‡ เชกเซ‡เชŸเชพ เช•เซเชฏเชพเช‚เชฅเซ€ เช†เชตเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซ‹เชˆเชชเชฃ เชฐเซ€เชคเซ‡ เช† เชฎเชพเชŸเซ‡ เชคเชชเชพเชธ เช•เชฐเชคเซเช‚ เชจเชฅเซ€, เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเซ‹เชจเซ‡ เชธเชฎเชพเชจ เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เช†เช–เชฐเซ‡ เชกเซเชฐเชพเช‡เชตเชฐเซ‹ เชชเชพเชธเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เช–เซ‹เชŸเซ‹ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชถเชฟเชค เชจ เช•เชฐเชตเชพเชจเซ€ เช…เชชเซ‡เช•เซเชทเชพ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เช…เชจเซ‡ เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฎเชพเชฐเซเช‚ เช•เชพเชฐเซเชก เชจเชฟเชทเซเชซเชณ เชฅเชฏเซเช‚, เช†เชถเชฐเซ‡ เชฆเชพเชขเซ€เชตเชพเชณเชพ เชœเซ‹เช• เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช…เชจเซเชตเชพเชฆเช•)

เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎเซ‹

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

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

เช…เชฒเช— เชถเชพเช–เชพ PMEM-CSI เช QEMU เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹เชจเซ€ เช…เช‚เชฆเชฐ เช†เชฒเซเชซเชพ เชธเซเชŸเซ‡เชœเชจเซ€ เชคเชฎเชพเชฎ เชธเซเชตเชฟเชงเชพเช“ เชธเชพเชฅเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ 1.19 เช•เซเชฒเชธเซเชŸเชฐ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชกเซเชฐเชพเชˆเชตเชฐ เช•เซ‹เชก เชฌเชฆเชฒเชพเชฏเซ‹ เชจเชฅเซ€, เชฎเชพเชคเซเชฐ เชœเชฎเชพเชตเชŸ เชฌเชฆเชฒเชพเชˆ เช›เซ‡.

เชฏเซ‹เช—เซเชฏ เชฎเชถเซ€เชจ เชชเชฐ (เชฒเชฟเชจเช•เซเชธ, เชธเชพเชฎเชพเชจเซเชฏ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ Docker, เชœเซเช“ เช…เชนเซ€เช‚ เชตเชฟเช—เชคเซ‹) เช† เช†เชฆเซ‡เชถเซ‹ เช•เซเชฒเชธเซเชŸเชฐ เชฒเชพเชตเชถเซ‡ เช…เชจเซ‡ PMEM-CSI เชกเซเชฐเชพเช‡เชตเชฐเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชถเซ‡:

git clone --branch=kubernetes-1-19-blog-post https://github.com/intel/pmem-csi.git
cd pmem-csi
export TEST_KUBERNETES_VERSION=1.19 TEST_FEATURE_GATES=CSIStorageCapacity=true,GenericEphemeralVolume=true TEST_PMEM_REGISTRY=intel
make start && echo && test/setup-deployment.sh

เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช†เช‰เชŸเชชเซเชŸเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡เชจเซ€ เชธเซ‚เชšเชจเชพเช“ เชนเชถเซ‡:

The test cluster is ready. Log in with [...]/pmem-csi/_work/pmem-govm/ssh.0, run
kubectl once logged in.  Alternatively, use kubectl directly with the
following env variable:
   KUBECONFIG=[...]/pmem-csi/_work/pmem-govm/kube.config

secret/pmem-csi-registry-secrets created
secret/pmem-csi-node-secrets created
serviceaccount/pmem-csi-controller created
...
To try out the pmem-csi driver ephemeral volumes:
   cat deploy/kubernetes-1.19/pmem-app-ephemeral.yaml |
   [...]/pmem-csi/_work/pmem-govm/ssh.0 kubectl create -f -

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

$ kubectl get 
        -o go-template='{{range .items}}{{if eq .storageClassName "pmem-csi-sc-late-binding"}}{{.metadata.name}} {{.nodeTopology.matchLabels}} {{.capacity}}
{{end}}{{end}}' 
        csistoragecapacities
csisc-2js6n map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker2] 30716Mi
csisc-sqdnt map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker1] 30716Mi
csisc-ws4bv map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker3] 30716Mi

เชเช• เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช›เซ‡:

$ kubectl describe csistoragecapacities/csisc-6cw8j
Name:         csisc-sqdnt
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  storage.k8s.io/v1alpha1
Capacity:     30716Mi
Kind:         CSIStorageCapacity
Metadata:
  Creation Timestamp:  2020-08-11T15:41:03Z
  Generate Name:       csisc-
  Managed Fields:
    ...
  Owner References:
    API Version:     apps/v1
    Controller:      true
    Kind:            StatefulSet
    Name:            pmem-csi-controller
    UID:             590237f9-1eb4-4208-b37b-5f7eab4597d1
  Resource Version:  2994
  Self Link:         /apis/storage.k8s.io/v1alpha1/namespaces/default/csistoragecapacities/csisc-sqdnt
  UID:               da36215b-3b9d-404a-a4c7-3f1c3502ab13
Node Topology:
  Match Labels:
    pmem-csi.intel.com/node:  pmem-csi-pmem-govm-worker1
Storage Class Name:           pmem-csi-sc-late-binding
Events:                       <none>

เชšเชพเชฒเซ‹ เชเช• เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซ เช•เซเชทเชฃเชฟเช• เชตเซ‹เชฒเซเชฏเซเชฎ เชธเชพเชฅเซ‡ เชกเซ‡เชฎเซ‹ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช. เชซเชพเช‡เชฒ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹ pmem-app-ephemeral.yaml:

# This example Pod definition demonstrates
# how to use generic ephemeral inline volumes
# with a PMEM-CSI storage class.
kind: Pod
apiVersion: v1
metadata:
  name: my-csi-app-inline-volume
spec:
  containers:
    - name: my-frontend
      image: intel/pmem-csi-driver-test:v0.7.14
      command: [ "sleep", "100000" ]
      volumeMounts:
      - mountPath: "/data"
        name: my-csi-volume
  volumes:
  - name: my-csi-volume
    ephemeral:
      volumeClaimTemplate:
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 4Gi
          storageClassName: pmem-csi-sc-late-binding

เชฌเชจเชพเชตเซเชฏเชพ เชชเช›เซ€, เช‰เชชเชฐเชจเซ€ เชธเซ‚เชšเชจเชพเช“เชฎเชพเช‚ เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชนเชตเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชชเซ‹เชก เช…เชจเซ‡ เชชเซ€เชตเซ€เชธเซ€ เช›เซ‡:

$ kubectl get pods/my-csi-app-inline-volume -o wide
NAME                       READY   STATUS    RESTARTS   AGE     IP          NODE                         NOMINATED NODE   READINESS GATES
my-csi-app-inline-volume   1/1     Running   0          6m58s   10.36.0.2   pmem-csi-pmem-govm-worker1   <none>           <none>
$ kubectl get pvc/my-csi-app-inline-volume-my-csi-volume
NAME                                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS               AGE
my-csi-app-inline-volume-my-csi-volume   Bound    pvc-c11eb7ab-a4fa-46fe-b515-b366be908823   4Gi        RWO            pmem-csi-sc-late-binding   9m21s

เชชเซ€เชตเซ€เชธเซ€ เชฎเชพเชฒเชฟเช• - เชนเซ‡เช เชณ:

$ kubectl get -o yaml pvc/my-csi-app-inline-volume-my-csi-volume
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: pmem-csi.intel.com
    volume.kubernetes.io/selected-node: pmem-csi-pmem-govm-worker1
  creationTimestamp: "2020-08-11T15:44:57Z"
  finalizers:
  - kubernetes.io/pvc-protection
  managedFields:
    ...
  name: my-csi-app-inline-volume-my-csi-volume
  namespace: default
  ownerReferences:
  - apiVersion: v1
    blockOwnerDeletion: true
    controller: true
    kind: Pod
    name: my-csi-app-inline-volume
    uid: 75c925bf-ca8e-441a-ac67-f190b7a2265f
...

เชฎเชพเชŸเซ‡ เช…เชชเซ‡เช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‡เชฒเซ€ เชฎเชพเชนเชฟเชคเซ€ pmem-csi-pmem-govm-worker1:

csisc-2js6n map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker2] 30716Mi
csisc-sqdnt map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker1] 26620Mi
csisc-ws4bv map[pmem-csi.intel.com/node:pmem-csi-pmem-govm-worker3] 30716Mi

เชœเซ‹ เช…เชจเซเชฏ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ 26620Mi เช•เชฐเชคเชพเช‚ เชตเชงเซเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซ‹ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชถเซ‡ เชจเชนเซ€เช‚ pmem-csi-pmem-govm-worker1 เช•เซ‹เชˆเชชเชฃ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚.

เชถเซเช‚ เช†เช—เชพเชฎเซ€ เช›เซ‡?

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

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

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