เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต เด‰เดณเตเดณ เดŽเดซเต†เดฎเดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ: เดธเตเดฑเตเดฑเดฟเดฑเต‹เดฏเดฟเดกเตเด•เดณเดฟเตฝ EmptyDir

เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต เด‰เดณเตเดณ เดŽเดซเต†เดฎเดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ: เดธเตเดฑเตเดฑเดฟเดฑเต‹เดฏเดฟเดกเตเด•เดณเดฟเตฝ EmptyDir

เดšเดฟเดฒ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เต เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚ เดกเดพเดฑเตเดฑ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเดฟเดฒเตเดฒ เดŽเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเดฟเตฝ เด…เดต เดคเดฟเด•เดšเตเดšเตเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต.

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

Kubernetes เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเดฐเดตเดงเดฟ เดคเดฐเด™เตเด™เดณเตเดฃเตเดŸเต เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ, เดŽเดจเตเดจเดพเตฝ เด…เดตเดฏเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดค K8s-เตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏเดคเดฟเตฝ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดซเต†เดฎเดฑเตฝ CSI เดตเต‹เดณเตเดฏเด™เตเด™เตพ เด•เดจเด‚เด•เตเดฑเดžเตเดž เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดชเดฟเดจเตเดคเตเดฃ เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ CSI เดกเตเดฐเตˆเดตเดฑเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเด•เดณเต† เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเดšเตเดšเต. เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ เดเด•เดชเด•เตเดทเต€เดฏเดฎเดพเดฏ เด˜เดŸเดจเด•เตพ: เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ, เดฐเดนเดธเตเดฏเด™เตเด™เตพ, เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตฝ เดกเดพเดฑเตเดฑ, เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดคเตเดŸเด™เตเด™เดฟเดฏเดต. เดธเดพเดงเดพเดฐเดฃ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒเต†เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดˆ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเดตเดฟเดถเต‡เดทเดคเดฏเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ CSI เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดŽเดจเตเดจเดพเตฝ เดชเต‹เดกเดฟเดจเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เดเดคเต เดจเต‹เดกเดฟเดฒเตเด‚ เด…เดคเตเดคเดฐเด‚ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.

เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเต เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต‹ โ€‹โ€‹เดšเดฟเดฒ เดนเต‹เดธเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดฒเดญเตเดฏเดฎเดพเดฏ เดธเด‚เดญเดฐเดฃเดคเตเดคเดฟเดจเต‹ เด‡เดคเต เด’เดฐเต เดชเตเดฐเดถเตเดจเดฎเดพเด•เดพเด‚. เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต Kubernetes 1.19 เดฐเดฃเตเดŸเต เดชเตเดคเดฟเดฏ เด†เตฝเดซ เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเต‹เดณเดฟเดฏเด‚ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเต เด†เดถเดฏเดชเดฐเดฎเดพเดฏเดฟ EmptyDir เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฃเต:

  • เดชเตŠเดคเต เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ;

  • CSI เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดถเต‡เดทเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต.

เดชเตเดคเดฟเดฏ เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดฏเต‹เดœเดจเด™เตเด™เตพ:

  • เดธเด‚เดญเดฐเดฃเด‚ เดฒเต‹เด•เตเด•เตฝ เด†เด•เดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดตเดดเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดพเด‚;

  • เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดตเดฒเตเดชเตเดชเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เด…เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เด•เดตเดฟเดฏเดพเตป เดชเดพเดŸเดฟเดฒเตเดฒ;

  • เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเตŠเดตเดฟเดทเดจเดฟเด‚เด—เดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ, (เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต) เด•เต‹เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ CSI เดกเตเดฐเตˆเดตเดฑเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต GetCapacity;

  • เดกเตเดฐเตˆเดตเดฑเต†เดฏเตเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเต†เดฏเตเด‚ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดšเดฟเดฒ เดชเตเดฐเดพเดฐเด‚เดญ เดกเดพเดฑเตเดฑ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚;

  • เด’เดฐเต เดตเต‹เดณเดฟเดฏเด‚ เด‰เดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ (เด’เดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตฝ, เดตเดฒเตเดชเตเดชเด‚ เดฎเดพเดฑเตเดฑเตฝ เดฎเตเดคเดฒเดพเดฏเดต) เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต;

  • เด’เดฐเต เดฎเตŠเดกเตเดฏเต‚เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเต‹เดณเดฟเดฏเด‚ เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดเดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เตบเดŸเตเดฐเต‹เดณเดฑเดฟเดฒเตเด‚ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚;

  • เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดทเต†เดกเตเดฏเต‚เดณเตผ เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดจเต‹เดกเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดทเต†เดกเตเดฏเต‚เดณเตผ เดŽเด•เตเดธเตเดฑเตเดฑเตปเดทเดจเตเด•เตพ เดชเตเดฐเตŠเดตเดฟเดทเตป เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดจเต‹ เดตเต†เดฌเตเดนเต‚เด•เตเด•เตเด•เตพ เดชเดฐเดฟเดทเตเด•เตเด•เดฐเดฟเด•เตเด•เดพเดจเต‹ เด‡เดจเดฟ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด“เดชเตเดทเดจเตเด•เตพ

เด…เดคเดฟเดจเดพเตฝ, เดคเดพเดดเต†เดชเตเดชเดฑเดฏเตเดจเตเดจ เด‰เดชเดฏเต‹เด— เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ เดชเตŠเดคเตเดตเดพเดฏ เด‰เดฆเตเดฆเต‡เดถเตเดฏเดฎเตเดณเตเดณ เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต:

เดฎเต†เด‚เด•เดพเดทเต เดšเต†เดฏเตเดคเดคเดฟเดจเต เดฑเดพเดฎเดฟเดจเต เดชเด•เดฐเดฎเดพเดฏเดฟ เดชเต†เตผเดธเดฟเดธเตเดฑเตเดฑเดจเตเดฑเต เดฎเต†เดฎเตเดฎเดฑเดฟ

memcached-เดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดฑเดฟเดฒเต€เดธเตเด•เตพ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดฎเต†เดฎเตเดฎเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต (เด‡เดจเตเดฑเตฝ เด’เดชเตเดฑเตเดฑเต†เดฏเตเตป, เดฎเตเดคเดฒเดพเดฏเดต, เดเด•เดฆเต‡เดถเด‚. เดตเดฟเดตเตผเดคเตเดคเด•เตป) เดธเดพเดงเดพเดฐเดฃ เดฑเดพเดฎเดฟเดจเต เดชเด•เดฐเด‚. เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เตบเดŸเตเดฐเต‹เดณเตผ เดตเดดเดฟ เดฎเต†เด‚เด•เดพเดทเต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเดฟโ€ŒเดŽเดธเตโ€Œเด เดกเตเดฐเตˆเดตเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฟโ€ŒเดŽเด‚โ€Œเด‡โ€ŒเดŽเดฎเตเดฎเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดตเต‹เดณเดฟเดฏเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตŠเดคเต เด‰เดฆเตเดฆเต‡เดถเตเดฏ เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต. เดชเดฟเดŽเด‚เด‡เดŽเด‚-เดธเดฟเดŽเดธเตเด.

เด’เดฐเต เดตเตผเด•เตเด•เตโ€Œเดธเตโ€Œเดชเต‡เดธเต เด†เดฏเดฟ LVM เดฒเต‹เด•เตเด•เตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต

เดฑเดพเดฎเดฟเดจเต‡เด•เตเด•เดพเตพ เดตเดฒเดฟเดฏ เดกเดพเดฑเตเดฑ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด†เดชเตเดชเตเด•เตพเด•เตเด•เต, Kubernetes-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเดพเดงเดพเดฐเดฃ EmptyDir เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดจเตฝเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เดตเดฒเตเดชเตเดชเดฎเต‹ เดชเตเดฐเด•เดŸเดจ เด…เดณเดตเตเด•เดณเต‹ เด‰เดณเตเดณ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดธเด‚เดญเดฐเดฃเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดˆ เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เด‡เดคเต เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต TopoLVM.

เดกเดพเดฑเตเดฑ เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดตเดพเดฏเดจ-เดฎเดพเดคเตเดฐเด‚ เด†เด•เตเดธเดธเต

เด’เดฐเต เดตเต‹เดณเดฟเดฏเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃ เดตเต‹เดณเดฟเดฏเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเด‚:

เดˆ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดฑเต€เดกเต-เด’เตบเดฒเดฟ เดฎเต‹เดกเดฟเตฝ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต.

เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ

เดœเดจเดฑเตฝ เดชเตผเดชเตเดชเดธเต เดŽเดซเต†เดฎเดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ

เดชเตŠเดคเต เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดชเตเดฐเดงเดพเดจ เดธเดตเดฟเดถเต‡เดทเดค เดชเตเดคเดฟเดฏ เดตเต‹เดณเดฟเดฏเด‚ เด‰เดฑเดตเดฟเดŸเดฎเดพเดฃเต, EphemeralVolumeSource, เด’เดฐเต เดตเต‹เดณเดฟเดฏเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดซเต€เตฝเดกเตเด•เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดšเดฐเดฟเดคเตเดฐเดชเดฐเดฎเดพเดฏเดฟ เด’เดฐเต เดชเต†เตผเดธเดฟเดธเตเดฑเตเดฑเดจเตเดฑเต เดตเต‹เดณเดฟเดฏเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจ, PVC เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต). เดชเตเดคเดฟเดฏ เด•เตบเดŸเตเดฐเต‹เดณเตผ kube-controller-manager เด…เดคเตเดคเดฐเด‚ เด’เดฐเต เดตเต‹เดณเดฟเดฏเด‚ เด‰เดฑเดตเดฟเดŸเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เดชเต‹เดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเต‹เด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เด† เดชเต‹เดกเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด’เดฐเต PVC เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. CSI เดกเตเดฐเตˆเดตเตผเด•เตเด•เดพเดฏเดฟ, เดˆ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเต†เดชเตเดชเต‹เดฒเต† เดคเดจเตเดจเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด‡เดตเดฟเดŸเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดฟเดจเตเดคเตเดฃ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

เด…เดคเตเดคเดฐเด‚ เดชเดฟเดตเดฟเดธเดฟเด•เตพ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเดจเตเดจเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดตเต‹เดณเดฟเดฏเดคเตเดคเดฟเดฒเต† เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเต‹เดฒเต† เด…เดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚, เด’เดฐเต เดตเต‹เดณเดฟเดฏเด‚ เดชเด•เตผเดคเตเดคเตเดฎเตเดชเต‹เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดตเต‹เดณเตเดฏเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดต เด’เดฐเต เดกเดพเดฑเตเดฑ เด‰เดฑเดตเดฟเดŸเดฎเดพเดฏเดฟ เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต. เดชเดฟเดตเดฟเดธเดฟ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเดฟเตฝ เดตเต‹เดณเดฟเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดจเดฟเดฒเดตเดฟเดฒเต† เด…เดตเดธเตเดฅเดฏเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

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

เดชเต‹เดกเดฟเดจเตŠเดชเตเดชเด‚ เดตเต‹เดณเดฟเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฟเดฏเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป, เด‰เดŸเดฎเดฏเตเดŸเต† เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดตเต‹เดณเดฟเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตบเดŸเตเดฐเต‹เดณเตผ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดŸเดคเตเดคเตเดจเตเดจเต. เดชเต‹เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเดพเดงเดพเดฐเดฃ เดฎเดพเดฒเดฟเดจเตเดฏ เดถเต‡เด–เดฐเดฃ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด‚ เดตเต‹เดณเดฟเดฏเดตเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต.

เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เตเดฒเดพเดธเตเดธเดฟเดจเตเดฑเต† เดธเดพเดงเดพเดฐเดฃ เดฎเต†เด•เตเด•เดพเดจเดฟเดธเดคเตเดคเดฟเดฒเต‚เดŸเต† เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดกเตเดฐเตˆเดตเตผ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต. เด‰เดŸเดจเดŸเดฟเดฏเตเด‚ เดตเตˆเด•เดฟเดฏเตเด‚ เดฌเตˆเตปเดกเดฟเด‚เด—เต เด‰เดณเตเดณ เด•เตเดฒเดพเดธเตเด•เดณเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚ (เด…เด•เตเด• WaitForFirstConsumer) เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเต WaitForFirstConsumer, เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต เดจเต‹เดกเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ เดทเต†เดกเตเดฏเต‚เดณเตผเด•เตเด•เต เดจเต‹เดกเต เด‰เดชเดฏเต‹เด—เดตเตเด‚ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดฒเดญเตเดฏเดคเดฏเตเด‚ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต. เด’เดฐเต เดชเตเดคเดฟเดฏ เดซเต€เดšเตเดšเตผ เด‡เดตเดฟเดŸเต† เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจเต.

เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต

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

เดชเตเดคเดฟเดฏเดคเต เดŽเดชเดฟเด CSIStorageCapacity, เด†เตฝเดซ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเตเดณเตเดณเดคเต, เดทเต†เดกเตเดฏเต‚เดณเตผเด•เตเด•เต เดฒเดญเตเดฏเดฎเดพเด•เดคเตเดคเด•เตเด•เดตเดฟเดงเด‚, etcd-เดฏเดฟเตฝ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตŠเดคเต เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ เดกเตเดฐเตˆเดตเตผ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฃเด‚: external-provisioner เดธเดพเดงเดพเดฐเดฃ เดตเดดเดฟ เดกเตเดฐเตˆเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเดญเดฟเดšเตเดš เดถเต‡เดทเดฟ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เดฃเด‚ GetCapacity.

เดฒเต‡เดฑเตเดฑเต เดฌเตˆเตปเดกเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด…เตบเดฌเต—เดฃเตเดŸเต เดตเต‹เดณเดฟเดฏเดฎเตเดณเตเดณ เด’เดฐเต เดชเต‹เดกเดฟเดจเดพเดฏเดฟ เดทเต†เดกเตเดฏเต‚เดณเดฑเดฟเดจเต เด’เดฐเต เดจเต‹เดกเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดซเตเดฒเดพเด—เต เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเต เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เดกเตเดฐเตˆเดตเตผ เดˆ เดธเดตเดฟเดถเต‡เดทเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟ CSIDriver.storageCapacity, เด…เดชเตเดชเต‹เตพ เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเต เดธเด‚เดญเดฐเดฃเดถเต‡เดทเดฟ เด‡เดฒเตเดฒเดพเดคเตเดค เดจเต‹เดกเตเด•เตพ เดธเตเดตเดฏเดฎเต‡เดต เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚. เด‡เดคเต เดชเตŠเดคเต เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดŽเดซเต†เดฎเต†เดฑเตฝ, เดชเต†เตผเดธเดฟเดธเตเดฑเตเดฑเดจเตเดฑเต เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดตเต‡เดฃเตเดŸเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ CSI เดŽเดซเดฟเดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพเด•เตเด•เต เดตเต‡เดฃเตเดŸเดฟเดฏเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เด…เดตเดฏเตเดŸเต† เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเต เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.

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

เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป kubernetes เดทเต†เดกเตเดฏเต‚เดณเตผ เดจเดฟเตผเดฌเดจเตเดงเดฟเดคเดจเดพเดฏเดคเดฟเดจเดพเตฝ, เดตเต‹เดณเดฟเดฏเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚ เดถเต‡เดทเดฟ เดฒเดญเตเดฏเดฎเดพเด•เตเดฎเต†เดจเตเดจเดคเดฟเดจเต เดฏเดพเดคเตŠเดฐเต เด‰เดฑเดชเตเดชเตเดฎเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เดพเดคเต† เดคเดจเตเดจเต† เด…เดคเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเดพเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเต.

NB เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเต‡เดŸเดพเดจเตเด‚ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ "เดชเต‚เดšเตเดšเด•เดณเตเดŸเต† เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เดชเดฐเดฟเดถเต€เดฒเดฟเด•เตเด•เดพเดจเตเด‚" เด•เดดเดฟเดฏเตเด‚, เด•เต‚เดŸเดพเดคเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดคเต€เดตเตเดฐเดฎเดพเดฏ เด•เต‹เดดเตเดธเตเด•เดณเดฟเตฝ เดฏเต‹เด—เตเดฏเดคเดฏเตเดณเตเดณ เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดชเดฟเดจเตเดคเตเดฃเดพ เดธเดนเดพเดฏเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด• - เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดฌเต‡เดธเต เดธเต†เดชเตเดคเด‚เดฌเตผ 28-30 เดคเต€เดฏเดคเดฟเด•เดณเดฟเตฝ เดจเดŸเด•เตเด•เตเด‚, เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดธเตเดชเต†เดทเตเดฏเดฒเดฟเดธเตเดฑเตเดฑเตเด•เตพเด•เตเด•เตเด‚ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดฎเต†เด—เดพ เด’เด•เตเดŸเต‹เดฌเตผ 14-16.

เดธเตเดฐเด•เตเดท

CSISเดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟ

CSIStorageCapacity เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต‡เดธเตเด•เดณเดฟเตฝ เดตเดธเดฟเด•เตเด•เตเดจเตเดจเต; เด“เดฐเต‹ CSI เดกเตเดฐเตˆเดตเดฑเตเด‚ เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเตฝ เดฑเต‹เตพ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดกเดพเดฑเตเดฑ เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเดพเดฃเต เดตเดฐเตเดจเตเดจเดคเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ เด† เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเต† CSIStorageCapacity-เดฒเต‡เด•เตเด•เต RBAC เด…เดตเด•เดพเดถเด™เตเด™เตพ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เด‡เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เด’เดฐเต‡ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดฒเดพเดฃเต เด‡เดŸเตเดจเตเดจเดคเต, เด…เดคเดฟเดจเดพเตฝ เด†เดคเตเดฏเดจเตเดคเดฟเด•เดฎเดพเดฏเดฟ เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดคเต†เดฑเตเดฑเดพเดฏ เดกเดพเดฑเตเดฑ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดฎเต†เดจเตเดจเต เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต (เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต เดŽเดจเตเดฑเต† เด•เดพเตผเดกเต เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเดคเต, เดเด•เดฆเต‡เดถเด‚. เดคเดพเดŸเดฟเดฏเตเดณเตเดณ เดคเดฎเดพเดถเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดตเดฟเดตเตผเดคเตเดคเด•เตป)

เดœเดจเดฑเตฝ เดชเตผเดชเตเดชเดธเต เดŽเดซเต†เดฎเดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ

เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เด’เดฐเต เดชเต‹เดกเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต (เดจเต‡เดฐเดฟเดŸเตเดŸเต‹ เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏเต‹) เด…เดตเด•เดพเดถเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดตเต‹เดณเดฟเดฏเดคเตเดคเดฟเตฝ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด…เดตเด•เดพเดถเด‚ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝเดชเตเดชเต‹เดฒเตเด‚, เด…เดตเตผเด•เตเด•เต เดชเตŠเดคเต เด†เดตเดถเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดŽเดซเต†เดฎเต†เดฑเตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด•เดพเดฐเดฃเด‚, RBAC เด…เดจเตเดฎเดคเดฟ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต PVC เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เด•เตบเดŸเตเดฐเต‹เดณเดฑเดฟเดฒเต‡เด•เตเด•เดพเดฃเต, เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเดฒเตเดฒ. เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸ เดชเตเดฐเดงเดพเดจ เดฎเดพเดฑเตเดฑเด‚ เด‡เดคเดพเดฃเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดฒเต‡เด•เตเด•เต, เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดฒเตเดฒเดพเดคเตเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด…เดตเด•เดพเดถเด™เตเด™เตพ เด‡เดฒเตเดฒเดพเดคเตเดค เด•เตเดฒเดธเตเดฑเตเดฑเดฑเตเด•เดณเดฟเตฝ เดˆ เดธเดตเดฟเดถเต‡เดทเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต.

เด‰เดฆเดพเดนเดฐเดฃเด‚:

เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเด• เดถเดพเด– เด†เตฝเดซ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเด‚ เด‰เดณเตเดณ QEMU เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ เด’เดฐเต Kubernetes 1.19 เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเด‚ PMEM-CSI-เตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดกเตเดฐเตˆเดตเตผ เด•เต‹เดกเต เดฎเดพเดฑเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดตเดฟเดจเตเดฏเดพเดธเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดฎเดพเดฑเดฟเดฏเดคเต.

เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฐเต เดฎเต†เดทเต€เดจเดฟเตฝ (เดฒเดฟเดจเด•เตเดธเต, เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ เดกเต‹เด•เตเด•เตผ, เดจเต‹เด•เตเด•เต‚ เด‡เดตเดฟเดŸเต† เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ) เดˆ เด•เดฎเดพเตปเดกเตเด•เตพ เด•เตเดฒเดธเตเดฑเตเดฑเตผ เด•เตŠเดฃเตเดŸเตเดตเดฐเตเด•เดฏเตเด‚ 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 -

CSIStorageCapacity เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เดฎเดจเตเดทเตเดฏเตผ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเตเดณเตเดณเดคเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เดšเดฟเดฒ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. Golang เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดซเดฟเตฝเดŸเตเดŸเดฑเตเด•เตพ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด•เตเดฒเดพเดธเตเด•เตพ เด•เดพเดฃเดฟเด•เตเด•เตเด‚, เดˆ เด‰เดฆเดพเดนเดฐเดฃเด‚ เดชเต‡เดฐเต, เดŸเต‹เดชเตเดชเต‹เดณเดœเดฟ, เดถเต‡เดทเดฟ เดŽเดจเตเดจเดฟเดต เด•เดพเดฃเดฟเด•เตเด•เตเด‚:

$ 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

PVC เด‰เดŸเดฎ - เดคเดพเดดเต†:

$ 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

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