"เชฆเซ‡เชตเช“เชชเซเชธ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ" เชฌเซเช• เช•เชฐเซ‹

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

โ€ข เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเชฌเชคเซ‹เชฅเซ€ เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ‹: เชตเชฟเชทเชฏ เชถเซ€เช–เชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชตเชฟเชถเซ‡เชท เช…เชจเซเชญเชตเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. โ€ข เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เช•เซเชฒเชธเซเชŸเชฐเซ‹ เชšเชฒเชพเชตเซ‹ เช…เชฅเชตเชพ Amazon, Google, เชตเช—เซ‡เชฐเซ‡เชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเซ‡เชฒ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเซ‡เชตเชพ เชชเชธเช‚เชฆ เช•เชฐเซ‹. โ€ข เช–เชฐเซเชš, เชชเซเชฐเชฆเชฐเซเชถเชจ, เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช•เชคเชพ, เชถเช•เซเชคเชฟ เช…เชจเซ‡ เชฎเชพเชชเชจเซ€เชฏเชคเชพเชจเชพ เช†เชงเชพเชฐเซ‡ เช•เซเชฒเชธเซเชŸเชฐเซ‹เชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเซ‹. โ€ข เชคเชฎเชพเชฐเซ€ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเซ‹ เชตเชฟเช•เชธเชพเชตเชตเชพ, เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชธเชพเชงเชจเซ‹ เชœเชพเชฃเซ‹. เชธเซเชฐเช•เซเชทเชพ เช…เชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เช‰เชฆเซเชฏเซ‹เช— เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เชฒเชพเชญ เชฒเซ‹. โ€ข เชคเชฎเชพเชฐเซ€ เชธเชฎเช—เซเชฐ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ DevOps เชธเชฟเชฆเซเชงเชพเช‚เชคเซ‹เชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‹ เชœเซ‡เชฅเซ€ เชตเชฟเช•เชพเชธ เชŸเซ€เชฎเซ‹ เชตเชงเซ เชฒเชตเชšเซ€เช•, เชเชกเชชเชฅเซ€ เช…เชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ€ เชถเช•เซ‡.

เชชเซเชธเซเชคเช• เช•เซ‹เชจเชพ เชฎเชพเชŸเซ‡ เช›เซ‡?

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

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

เชชเซเชธเซเชคเช• เช•เชฏเชพ เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌ เช†เชชเซ‡ เช›เซ‡?

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

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

เช…เชจเซ‡ เช•เชฆเชพเชš เชฌเชงเชพ เชชเซเชฐเชถเซเชจเซ‹เชฎเชพเช‚ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ:

  • "เชฎเชพเชฐเซ€ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เช–เชฒเซ‡เชฒ เชชเชนเซ‹เช‚เชšเชพเชกเซเชฏเชพ เชตเชฟเชจเชพ เชนเซเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซ€ เชถเช•เซเช‚?"

เช…เชตเชคเชฐเชฃ. เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เช…เชจเซ‡ เช—เซเชชเซเชค เชตเชธเซเชคเซเช“

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

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

Kubernetes เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชตเชฟเชง เชฎเชพเชฐเซเช—เซ‹ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡. เชชเซเชฐเชฅเชฎ, เชคเชฎเซ‡ เชชเซ‹เชก เชฐเซ‡เชชเชฐ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹ เชฆเซเชตเชพเชฐเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ เชฎเซ‚เชฒเซเชฏเซ‹ เชชเชธเชพเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ (เชชเซƒเชทเซเช  192 เชชเชฐ "เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซ‡เชฐเซ€เชเชฌเชฒเซเชธ" เชœเซเช“). เชฌเซ€เชœเซเช‚, ConfigMap เช…เชจเซ‡ เชธเชฟเช•เซเชฐเซ‡เชŸ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชกเซ‡เชŸเชพ เชธเซ€เชงเชพ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

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

เชœเซเชฏเชพเชฐเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฌเชฆเชฒเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชชเซ‹เชก เชถเซ‡เชฒเซเชธเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

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

checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") .
       | sha256sum }}

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

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ เชกเซ‡เชŸเชพ

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

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

เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชธเชฟเช•เซเชฐเซ‡เชŸ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชชเชฐ เชเช• เชจเชœเชฐ เชจเชพเช–เซ‹ (เชœเซเช“ hello-secret-env/k8s/secret.yaml):

apiVersion: v1
kind: Secret
metadata:
    name: demo-secret
stringData:
    magicWord: xyzzy

เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เชฎเซ‡เชœเชฟเช•เชตเชฐเซเชก เช–เชพเชจเช—เซ€ เช•เซ€ xyzzy (en.wikipedia.org/wiki/Xyzzy_(computing)) เช›เซ‡. xyzzy เชถเชฌเซเชฆ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชจเซ€ เชฆเซเชจเชฟเชฏเชพเชฎเชพเช‚ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡. ConfigMap เชจเซ€ เชœเซ‡เชฎ, เชคเชฎเซ‡ เชธเชฟเช•เซเชฐเซ‡เชŸ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชฌเชนเซเชตเชฟเชง เช•เซ€ เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏเซ‹ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช…เชนเซ€เช‚, เชธเชฐเชณเชคเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชซเช•เซเชค เชเช• เช•เซ€-เชตเซ‡เชฒเซเชฏเซ เชœเซ‹เชกเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช.

เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒ เชคเชฐเซ€เช•เซ‡ เช—เซเชชเซเชค เชตเชธเซเชคเซเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹

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

spec:
   containers:
       - name: demo
          image: cloudnatived/demo:hello-secret-env
          ports:
             - containerPort: 8888
          env:
             - name: GREETING
               valueFrom:
               secretKeyRef:
                  name: demo-secret
                  key: magicWord

เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชฒเชพเช—เซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชฎเซ‹ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

kubectl apply -f hello-secret-env/k8s/
deployment.extensions "demo" configured
secret "demo-secret" created

เชชเชนเซ‡เชฒเชพเชจเซ€ เชœเซ‡เชฎ, เชคเชฎเชพเชฐเชพ เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เชชเชฐเชฟเชฃเชพเชฎ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชชเซ‹เชฐเซเชŸเชจเซ‡ เชœเชฎเชพเชตเชŸ เชชเชฐ เชซเซ‹เชฐเชตเชฐเซเชก เช•เชฐเซ‹:

kubectl port-forward deploy/demo 9999:8888
Forwarding from 127.0.0.1:9999 -> 8888
Forwarding from [::1]:9999 -> 8888

เชธเชฐเชจเชพเชฎเซเช‚ เช–เซ‹เชฒเชคเซ€ เชตเช–เชคเซ‡ เชฒเซ‹เช•เชฒเชนเซ‹เชธเซเชŸ:9999/ เชคเชฎเชพเชฐเซ‡ เชจเซ€เชšเซ‡เชจเซเช‚ เชœเซ‹เชตเซเช‚ เชœเซ‹เชˆเช:

The magic word is "xyzzy"

เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เช—เซเชชเซเชค เชตเชธเซเชคเซเช“ เชฒเช–เชตเซ€

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

เชธเชฟเช•เซเชฐเซ‡เชŸเชจเซ‡ เชซเชพเช‡เชฒ เชคเชฐเซ€เช•เซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชœเชฎเชพเชตเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚:

spec:
   containers:
       - name: demo
          image: cloudnatived/demo:hello-secret-file
          ports:
              - containerPort: 8888
          volumeMounts:
              - name: demo-secret-volume
                mountPath: "/secrets/"
                readOnly: true
   volumes:
      - name: demo-secret-volume
        secret:
           secretName: demo-secret

เชชเซ‡เชŸเชพเชตเชฟเชญเชพเช—เชจเซ€ เชœเซ‡เชฎ "ConfigMap เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเซ‹ เชฌเชจเชพเชตเชตเซ€" p. 240, เช…เชฎเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎ เชฌเชจเชพเชตเซ€เช เช›เซ€เช (เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชกเซ‡เชฎเซ‹-เชธเชฟเช•เซเชฐเซ‡เชŸ-เชตเซ‹เชฒเซเชฏเซเชฎ) เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชธเซเชชเชทเซเชŸเซ€เช•เชฐเชฃเชจเชพ เชตเซ‹เชฒเซเชฏเซเชฎเชฎเชพเช‰เชจเซเชŸ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เช•เชจเซเชŸเซ‡เชจเชฐ เชชเชฐ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ€เช เช›เซ€เช. mountPath เชซเซ€เชฒเซเชก เช /secrets เช›เซ‡, เชคเซ‡เชฅเซ€ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชฟเช•เซเชฐเซ‡เชŸ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชฆเชฐเซ‡เช• เช•เซ€/เชฎเซ‚เชฒเซเชฏ เชœเซ‹เชกเซ€ เชฎเชพเชŸเซ‡ เช† เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชเช• เชซเชพเช‡เชฒ เชฌเชจเชพเชตเชถเซ‡.

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

เชœเซ‹ เชคเชฎเซ‡ เช† เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‡ เช…เช—เชพเช‰เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชจเซ€ เชœเซ‡เชฎ เชœ เชฒเชพเช—เซ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชธเชฎเชพเชจ เชชเชฐเชฟเชฃเชพเชฎ เชฎเซ‡เชณเชตเชตเซเช‚ เชœเซ‹เชˆเช:

The magic word is "xyzzy"

เช—เซเชชเซเชค เชตเชธเซเชคเซเช“ เชตเชพเช‚เชšเชตเซ€

เช…เช—เชพเช‰เชจเชพ เชตเชฟเชญเชพเช—เชฎเชพเช‚, เช…เชฎเซ‡ เช•เชจเซเชซเชฟเช—เชฎเซ‡เชชเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ kubectl describe เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹. เชถเซเช‚ เชธเชฟเช•เซเชฐเซ‡เชŸ เชธเชพเชฅเซ‡ เชชเชฃ เช†เชตเซเช‚ เช•เชฐเซ€ เชถเช•เชพเชฏ?

kubectl describe secret/demo-secret
Name:          demo-secret

Namespace:      default
Labels:             <none>
Annotations:
Type:               Opaque

Data
====
magicWord: 5   bytes

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

เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ เชกเซ‡เชŸเชพเชจเซเช‚ เชเชจเซเช•เซ‹เชกเซ‡เชก YAML เชธเช‚เชธเซเช•เชฐเชฃ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡, kubectl get เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹:

kubectl get secret/demo-secret -o yaml
apiVersion: v1
data:
   magicWord: eHl6enk=
kind: Secret
metadata:
...
type: Opaque

base64

eHl6enk= เชถเซเช‚ เช›เซ‡, เชœเซ‡ เช†เชชเชฃเชพ เชฎเซ‚เชณ เชฎเซ‚เชฒเซเชฏเชฅเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฒเช— เช›เซ‡? เช† เช–เชฐเซ‡เช–เชฐ เชเช• เชธเชฟเช•เซเชฐเซ‡เชŸ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เช›เซ‡, เชœเซ‡ base64 เชเชจเซเช•เซ‹เชกเชฟเช‚เช—เชฎเชพเช‚ เชฐเชœเซ‚ เชฅเชพเชฏ เช›เซ‡. เชฌเซ‡เช 64 เช เช…เช•เซเชทเชฐเซ‹เชจเซ€ เชธเซเชŸเซเชฐเชฟเช‚เช— เชคเชฐเซ€เช•เซ‡ เชฎเชจเชธเซเชตเซ€ เชฆเซเชตเชฟเชธเช‚เช—เซ€ เชกเซ‡เชŸเชพเชจเซ‡ เชเชจเซเช•เซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชฏเซ‹เชœเชจเชพ เช›เซ‡.

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

beHl6enk= เชŸเซ‡เช•เซเชธเซเชŸ เช เช…เชฎเชพเชฐเชพ เช—เซเชชเซเชค เชถเชฌเซเชฆ xyzzy เชจเซเช‚ เชฌเซ‡เช 64 เชเชจเซเช•เซ‹เชกเซ‡เชก เชธเช‚เชธเซเช•เชฐเชฃ เช›เซ‡. เชคเชฎเซ‡ เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ base64 โ€”decode เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ€เชจเซ‡ เช† เชšเช•เชพเชธเซ€ เชถเช•เซ‹ เช›เซ‹:

echo "eHl6enk=" | base64 --decode
xyzzy

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

เชœเซ‹ เชคเชฎเชพเชฐเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชŸเซ‡เช•เซเชธเซเชŸเชจเซ‡ เชฌเซ‡เช 64 เชเชจเซเช•เซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡เชจเซ‡ เชธเชฟเช•เซเชฐเซ‡เชŸเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ), เชคเซ‹ เชฆเชฒเซ€เชฒเซ‹ เชตเชฟเชจเชพ base64 เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹:

echo xyzzy | base64
eHl6enkK

เช—เซเชชเซเชค เชตเชธเซเชคเซเช“เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเซ€

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

เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เชกเซ‡เชŸเชพ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ

เชœเซ‡เช“ etcd เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชเช•เซเชธเซ‡เชธ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชคเซ‡เชฎเชจเชพ เชตเชฟเชถเซ‡ เชถเซเช‚ เช•เซ‡ เชœเซเชฏเชพเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชคเซ‡เชจเซ€ เชคเชฎเชพเชฎ เชฎเชพเชนเชฟเชคเซ€ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‡ เช›เซ‡? เชถเซเช‚ เชคเซ‡เช“ API เชฆเซเชตเชพเชฐเชพ เช—เซเชชเซเชค เชตเชธเซเชคเซเช“ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เชตเชฟเชจเชพ เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเซ€ เชถเช•เซ‡ เช›เซ‡?

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

เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เชคเชฎเชพเชฐเชพ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช† เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชคเชฎเซ‡ เชšเช•เชพเชธเซ€ เชถเช•เซ‹ เช›เซ‹:

kubectl describe pod -n kube-system -l component=kube-apiserver |grep encryption
        --experimental-encryption-provider-config=...

เชœเซ‹ เชคเชฎเชจเซ‡ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช•-เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ-เชชเซเชฐเชฆเชพเชคเชพ-เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชงเซเชตเชœ เชฆเซ‡เช–เชพเชคเซ‹ เชจเชฅเซ€, เชคเซ‹ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เชธเช•เซเชทเชฎ เชจเชฅเซ€. Google Kubernetes Engine เช…เชฅเชตเชพ เช…เชจเซเชฏ Kubernetes เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชธเซ‡เชตเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเชพเชฐเซ‹ เชกเซ‡เชŸเชพ เช…เชฒเช— เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชงเซเชตเชœ เชนเชพเชœเชฐ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚. etcd เชธเชพเชฎเช—เซเชฐเซ€ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸเซ‡เชก เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเชพ Kubernetes เชตเชฟเช•เซเชฐเซ‡เชคเชพ เชธเชพเชฅเซ‡ เชคเชชเชพเชธ เช•เชฐเซ‹.

เช—เซ‹เชชเชจเซ€เชฏ เชกเซ‡เชŸเชพเชจเซ‹ เชธเช‚เช—เซเชฐเชน

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

kind: Secret
metadata:
    annotations:
        "helm.sh/resource-policy": keep

เชธเชฟเช•เซเชฐเซ‡เชŸ เช“เชฌเซเชœเซ‡เช•เซเชŸ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ

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

เชตเชฐเซเชเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒเชฎเชพเช‚ เชนเซ‹เชฏ เชคเซ‡เชตเซ€ เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชคเชฎเชพเชฐเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เช—เซ‹เชชเชจเซ€เชฏ เชฎเชพเชนเชฟเชคเซ€ เชจ เชฎเซ‚เช•เชตเซ€ เชœเซ‹เชˆเช. เชคเชฎเซ‡ เช† เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชคเชฎเชพเชฐเชพ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเชคเชพเช‚ เชชเชนเซ‡เชฒเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ เชฎเซ‡เชจเซ‡เชœ เช…เชจเซ‡ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹?

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

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

เชฒเซ‡เช–เช•เซ‹ เชตเชฟเชถเซ‡

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

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

ยป เชชเซเชธเซเชคเช• เชตเชฟเชถเซ‡ เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡, เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ‹ เชชเซเชฐเช•เชพเชถเช•เชจเซ€ เชตเซ‡เชฌเชธเชพเช‡เชŸ
ยป เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซเช‚ เช•เซ‹เชทเซเชŸเช•
ยป เช…เชตเชคเชฐเชฃ

Khabrozhiteli เชฎเชพเชŸเซ‡ เช•เซ‚เชชเชจ เชชเชฐ 25% เชกเชฟเชธเซเช•เชพเช‰เชจเซเชŸ - เช•เซเชฏเซเชฌเชฐเซเชจเซ‡เชŸเชฟเชธ

เชชเซเชธเซเชคเช•เชจเชพ เชชเซ‡เชชเชฐ เชตเชฐเซเชเชจเชจเซ€ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชˆ-เชฎเซ‡เชฒ เชชเชฐ เชˆ-เชฌเซเช• เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

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

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