เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ เจ†เจชเจฐเฉ‡เจŸเจฐ: เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆ

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ, เจฒเจพเจ‚เจš เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเจ•เฉ‡เจฒเจฟเฉฐเจ— เจ†เจธเจพเจจ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ‡เจน เจธเจŸเฉ‡เจŸเจฒเฉˆเจธ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจ—เฉ€เจ•เฉเจฐเจฟเจค เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฆเฉ€ เจ—เฉฑเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ. เจกเจพเจŸเจพ เจฌเจšเจพเจ เจฌเจฟเจจเจพเจ‚. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจฎเจฟเจ†เจฐเฉ€ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจญ เจ•เฉเจ "เจฌเจพเจ•เจธ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ" เจนเฉเฉฐเจฆเจพ เจนเฉˆ: เจฎเจฟเจ†เจฐเฉ€ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจœเจพเจ‚ เจœเจพเจฆเฉ‚ เจฆเฉ‡เฅค

เจธเจงเจพเจฐเจจ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš PHP/เจฐเฉ‚เจฌเฉ€/เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจฌเฉˆเจ•เจเจ‚เจก เจฆเฉ€เจ†เจ‚ เจชเฉฐเจœ เจนเฉ‹เจฐ เจ•เจพเจชเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเจฐเจตเจฐ 5 เจตเจพเจฐ เจธเฉˆเจŸ เจ…เจช เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจ…เจคเฉ‡ init เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ‹เจตเฉ‡เจ‚ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจนเจจ, เจ‡เฉฑเจ• เจธเจŸเฉ‡เจŸเจฒเฉˆเฉฑเจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจ•เฉ‡เจฒ เจ•เจฐเจจเจพ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฎเฉเจขเจฒเจพ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจ…เจคเฉ‡ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ‡ เจชเฉเจฐเจธเจผเฉฐเจธเจ• เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเจจ, เจฎเฉเจธเจผเจ•เจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจธเจŸเฉ‡เจŸเจซเฉเจฒ เจเจชเจธ, i.e. เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เจคเฉ‡ เจ•เฉˆเจš (MySQL, PostgreSQL, Redis, ElasticSearch, Cassandra...) เจตเจฐเจ—เฉ‡ เจกเฉ‡เจŸเจพ เจธเจฅเจฟเจฐเจคเจพ เจฆเฉ‡ เจจเจพเจฒ. เจ‡เจน เจฆเฉ‹เจจเจพเจ‚ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐเจพเจ‚ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจธเฉเจคเฉฐเจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ‹เจฐเจฎ เจ•เจฒเฉฑเจธเจŸเจฐ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, Percona XtraDB เจ…เจคเฉ‡ Cassandra) เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจœเจฟเจธ เจฒเจˆ เจตเฉฑเจ–เจฐเฉ€ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ Redis, MySQL, PostgreSQL...) เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจฎเฉเจธเจผเจ•เจฒเจพเจ‚ เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจ…เจคเฉ‡ เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจนเฉเจฃ เจ•เจพเจซเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจนเฉ‹เจฐ เจ•เจฆเจฎ เจšเฉเฉฑเจ•เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ, เจกเฉ‡เจŸเจพ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡/เจœเจพเจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉ‹เจตเฉ‹เฅค เจตเจงเฉ‡เจฐเฉ‡ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจนเจจเจพเจ‚ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจน เจธเจฎเจเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจจเฉเจ•เจธเจพเจจ เจœเจพเจ‚ เจ…เจธเจฅเจพเจˆ เจ…เจฃเจ‰เจชเจฒเจฌเจงเจคเจพ เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจธเจ•เฉ‡เจฒ เจ•เจฐเจจเจพ, เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ‡เจนเจจเจพเจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ "เจธเฉฐเจšเจพเจฒเจจ เจ—เจฟเจ†เจจ" เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

CoreOS เจ†เจชเจฐเฉ‡เจŸเจฐ

เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจ—เจฟเจ†เจจ เจจเฉ‚เฉฐ "เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ" เจ•เจฐเจจ เจฒเจˆ, เจชเจฟเจ›เจฒเฉ‡ เจธเจพเจฒ เจฆเฉ‡ เจ…เจ–เฉ€เจฐ เจตเจฟเฉฑเจš CoreOS เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฒเจˆ "เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจธเจผเฉเจฐเฉ‡เจฃเฉ€" - เจ“เจชเจฐเฉ‡เจŸเจฐ (เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ "เจ“เจชเจฐเฉ‡เจธเจผเจจ" เจคเฉ‹เจ‚, เจญเจพเจต "เจ“เจชเจฐเฉ‡เจธเจผเจจ")เฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ (เจธเจฎเฉ‡เจค. เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจธเฉˆเฉฑเจŸ, เจนเฉ‡เจ เจพเจ‚ เจซเจฐเจ• เจฆเฉ‡เจ–เฉ‹) DevOps เจฎเจพเจนเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจ—เจฟเจ†เจจ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเจ“เฅค

เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเจพ เจฎเจ•เจธเจฆ โ€” เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• API เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเฉ‹ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ•เจˆ เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เจ•เจพเจˆเจ†เจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ‡เจน เจธเฉ‹เจšเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เจฟ เจนเฉเฉฑเจก เจฆเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจ•เฉ€ เจนเฉˆ (เจ•เฉ€ เจกเฉ‡เจŸเจพ เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจ•เฉ€ เจ•เจฐเจจเจพ เจนเฉˆ, เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจฌเจฃเจพเจˆ เจฐเฉฑเจ–เจฃ เจฒเจˆ เจ…เจœเฉ‡ เจตเฉ€ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค ). เจตเจพเจธเจคเจต เจตเจฟเฉฑเจš, เจ†เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ“เจชเจฐเฉ‡เจธเจผเจจเจฒ เจ•เจพเจฐเจœเจพเจ‚ เจฆเฉ‡ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจฒเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉฑเจฅเฉ€เจ‚ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเฉ‡ เจธเจจเฅค

เจ“เจชเจฐเฉ‡เจŸเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ

เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเจŸเจธ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจชเฉŒเจกเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœเฉ€เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจฌเจฃเจพเจˆ เจฐเฉฑเจ–เฉ€ เจ—เจˆ เจนเฉˆ (เจชเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจฃ เจฆเฉเจ†เจฐเจพ)เฅค เจ‡เฉฑเจ• เจ“เจชเจฐเฉ‡เจŸเจฐ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐเฉ€ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเจฐเฉ‹เจค เจ…เจคเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจ• เจตเจฟเฉฑเจš เจธเฉฐเจšเจพเจฒเจจ เจ—เจฟเจ†เจจ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจฒเจˆ เจตเจพเจงเฉ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจตเฉฑเจ–เจฐเจพ เจนเฉˆ เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจธเฉˆเฉฑเจŸ, เจ‰เจนเจจเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเจฟเจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจธเจŸเฉ‡เจŸเจซเฉเจฒ เจธเจฐเฉ‹เจค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจกเจพเจŸเจพ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจœเจพเจ‚ เจธเจฅเจฟเจฐ IPs เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ? เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ, เจ“เจชเจฐเฉ‡เจŸเจฐ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเจจ เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจธเฉˆเฉฑเจŸ (เจฆเฉ€ เจฌเจœเจพเจ เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเจŸเจธ) เจ‡เฉฑเจ• เจ†เจงเจพเจฐ เจตเจœเฉ‹เจ‚, เจชเฉ‡เจธเจผเจ•เจธเจผ เจตเจพเจงเฉ‚ เจ†เจŸเฉ‹เจฎเฉ‡เจธเจผเจจ: เจ•เจฐเฉˆเจธเจผ เจนเฉ‹เจฃ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเฉ‹, เจฌเฉˆเจ•เจ…เฉฑเจช เจฌเจฃเจพเจ“, เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹, เจ†เจฆเจฟเฅค

เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ‡เจน เจธเจญ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ? เจ†เจชเจฐเฉ‡เจŸเจฐ เจ‡เฉฑเจ• เจฎเฉˆเจจเฉ‡เจœเจฐ เจกเฉˆเจฎเจจ เจนเฉˆ เจœเฉ‹:

  1. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจˆเจตเฉˆเจ‚เจŸ API เจฆเฉ€ เจ—เจพเจนเจ•เฉ€ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ;
  2. เจ‡เจธ เจคเฉ‹เจ‚ เจธเจฟเจธเจŸเจฎ เจฌเจพเจฐเฉ‡ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ (เจ‡เจธ เจฆเฉ‡ เจฌเจพเจฐเฉ‡ เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเจŸเจธ, pods, เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจ‡เจคเจ†เจฆเจฟ.);
  3. เจฌเจพเจฐเฉ‡ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจธเจฐเฉ‹เจค (เจนเฉ‡เจ เจพเจ‚ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจฆเฉ‡เจ–เฉ‹);
  4. เจฆเจฟเฉฑเจ–/เจชเจฐเจฟเจตเจฐเจคเจจ เจชเฉเจฐเจคเฉ€ เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจธเจฐเฉ‹เจค (เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ, เจธเฉฐเจธเจ•เจฐเจฃ เจฌเจฆเจฒเฉ‹, เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจนเฉ‹เจฐ);
  5. เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจชเฉเจฐเจคเฉ€ เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ (เจ‡เจธ เจฆเฉ‡ เจฌเจพเจฐเฉ‡ เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเจŸเจธ, pods, เจธเจฐเจตเจฟเจธเจฟเจœเจผ เจ‡เจคเจ†เจฆเจฟ.);
  6. เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ:
    1. เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ API เจจเฉ‚เฉฐ เจนเจฐ เจšเฉ€เจœเจผ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ (เจฆเฉเจฌเจพเจฐเจพ, เจ‡เจธเจฆเจพ เจ†เจชเจฃเจพ เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเจŸเจธ, pods, เจธเจฐเจตเจฟเจธเจฟเจœเจผ...),
    2. เจ•เฉเจ เจœเจพเจฆเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ (เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจธเฉ‹เจš เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ“เจชเจฐเฉ‡เจŸเจฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจชเฉŒเจกเจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃ เจฒเจˆ เจœเจพเจ‚ เจ‡เฉฑเจ• เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจกเฉ‡เจŸเจพ เจซเจพเจฐเจฎเฉˆเจŸ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจ—เจฐเฉ‡เจก เจ•เจฐเจจเจพ)เฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ เจ†เจชเจฐเฉ‡เจŸเจฐ: เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆ
เจตเจพเจธเจคเจต เจตเจฟเฉฑเจš, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเจธเจตเฉ€เจฐ เจคเฉ‹เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ (เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค) เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจกเจฟเจชเจฒเฉ‹เจฎเฉ‡เจŸ ั เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเฉฑเจŸ), เจœเจฟเจธ เจจเฉ‚เฉฐ เจ†เจชเจฐเฉ‡เจŸเจฐ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจ†เจฎ เจชเฉŒเจก (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฟเจฐเจซ เจ‡เฉฑเจ•) เจตเจฟเฉฑเจš เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡, เจ‡เฉฑเจ• เจจเจฟเจฏเจฎ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡, เจธเจฟเจฐเจซ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ เจจเจพเจฎเจธเจชเฉ‡เจธ. เจ‡เจน เจ†เจชเจฐเฉ‡เจŸเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เจธเจฆเฉ‡ API เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ - เจนเจพเจฒเจพเจ‚เจ•เจฟ เจธเจฟเฉฑเจงเฉ‡ เจจเจนเฉ€เจ‚, เจชเจฐ เจฆเฉเจ†เจฐเจพ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจธเจฐเฉ‹เจค Kubernetes เจตเจฟเฉฑเจš.

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ…เฉฐเจฆเจฐ เจฌเจฃเจพเจ‡เจ† เจนเฉˆ เจจเจพเจฎเจธเจชเฉ‡เจธ เจ†เจชเจฐเฉ‡เจŸเจฐ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจธเจฐเฉ‹เจค.

เจ†เจฆเจฟ เจฒเจˆ เจ‰เจฆเจพเจนเจฐเจจ (เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเฉ‡เจ–เฉ‹):

apiVersion: etcd.coreos.com/v1beta1
kind: Cluster
metadata:
  name: example-etcd-cluster
spec:
  size: 3
  version: 3.1.0

Elasticsearch เจฒเจˆ เจ‰เจฆเจพเจนเจฐเจจ:

apiVersion: enterprises.upmc.com/v1
kind: ElasticsearchCluster
metadata:
  name: example-es-cluster
spec:
  client-node-replicas: 3
  master-node-replicas: 2
  data-node-replicas: 3
  zones:
  - us-east-1c
  - us-east-1d
  - us-east-1e
  data-volume-size: 10Gi
  java-options: "-Xms1024m -Xmx1024m"
  snapshot:
    scheduler-enabled: true
    bucket-name: elasticsnapshots99
    cron-schedule: "@every 2m"
  storage:
    type: gp2
    storage-class-provisioner: kubernetes.io/aws-ebs

เจ†เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฒเจˆ เจฒเฉ‹เฉœเจพเจ‚

CoreOS เจจเฉ‡ เจ†เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจฎเฉเฉฑเจ– เจชเฉˆเจŸเจฐเจจ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡เฅค เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ เจ•เจฟ เจธเจพเจฐเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฐ เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจนเจจ (เจ‡เจธเจฆเฉ€เจ†เจ‚ เจ†เจชเจฃเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจฒเฉ‹เฉœเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ–เจพเจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจฌเจฃเจพเจ เจ—เจ เจนเจจ), เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฐเจšเจจเจพ เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเฉ‡ เจขเจพเจ‚เจšเฉ‡ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ:

  1. เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจกเจฟเจชเจฒเฉ‹เจฎเฉ‡เจŸ: kubectl create -f SOME_OPERATOR_URL/deployment.yaml - เจ…เจคเฉ‡ เจตเจพเจงเฉ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
  2. Kubernetes เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ“เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจฆเฉ€ เจ•เจฟเจธเจฎ เจฌเจฃเจพเจˆ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ (ThirdPartyResource). เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ (เจ•เจฒเฉฑเจธเจŸเจฐ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚) เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เจฐเจจ เจฒเจˆ (เจตเจฐเจœเจจ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ, เจฎเฉเฉœ เจ†เจ•เจพเจฐ เจฆเฉ‡เจฃเจพ, เจ†เจฆเจฟ), เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เจธ เจ•เจฟเจธเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค
  3. เจœเจฆเฉ‹เจ‚ เจตเฉ€ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ เจ—เจ เจชเฉเจฐเจพเจšเฉ€เจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจธเจฐเจตเจฟเจธเจฟเจœเจผ ะธ เจฐเจฟเจชเจฒเฉ€เจ•เจพเจธเฉˆเจŸเจธเจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเฉ‡ เจ…เจคเฉ‡ เจธเจฎเจเจฃ เจฏเฉ‹เจ— เจ•เฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆเฅค
  4. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฒเจˆ เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ€ เจชเจ›เฉœเจตเฉ€เจ‚ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจ…เจคเฉ‡ เจธเจฎเจฐเจฅเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
  5. เจœเฉ‡เจ•เจฐ เจ†เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฌเจฆเจฒเจพเจ… เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค
  6. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเฉฐเจธเจ•เจฐเจฃ เจ…เจชเจกเฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจฐเจ•เฉˆเจธเจŸเจฐเฉ‡เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ€ เจ˜เจพเจŸ เจธเฉฐเจšเจพเจฒเจจ เจ…เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ†เจฎ เจธเจฐเฉ‹เจค เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค
  7. เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจ“เจธ เจฎเฉŒเจจเจ•เฉ€ เจตเจฐเจ—เฉ‡ เจŸเฉ‚เจฒ เจจเจพเจฒ เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจชเฉŒเจกเจพเจ‚, เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจจเฉˆเจŸเจตเจฐเจ• เจตเจฟเฉฑเจš เจธเฉฐเจญเจพเจตเฉ€ เจ…เจธเจซเจฒเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

etcd เจ†เจชเจฐเฉ‡เจŸเจฐ

เจ†เจชเจฐเฉ‡เจŸเจฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ - etcd เจ†เจชเจฐเฉ‡เจŸเจฐ, เจคเจฟเจ†เจฐ เจ‡เจธ เจธเฉฐเจ•เจฒเจช เจฆเฉ€ เจ˜เฉ‹เจธเจผเจฃเจพ เจฆเฉ‡ เจฆเจฟเจจ. etcd เจ•เจฒเฉฑเจธเจŸเจฐ เจธเฉฐเจฐเจšเจจเจพ เจ•เฉ‹เจฐเจฎ เจฌเจฃเจพเจˆ เจฐเฉฑเจ–เจฃ, เจ•เจฒเฉฑเจธเจŸเจฐ เจธเจฆเฉฑเจธเจคเจพ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจ, เจฌเฉˆเจ•เจ…เฉฑเจช เจฌเจฃเจพเจ‰เจฃ เจ†เจฆเจฟ เจฆเฉ€ เจฒเฉ‹เฉœ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• etcd เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจธเจ•เฉ‡เจฒ เจ•เจฐเจจ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ เจฎเฉˆเจ‚เจฌเจฐ เจฒเจˆ เจ‡เฉฑเจ• DNS เจจเจพเจฎ เจฌเจฃเจพเจ‰เจฃเจพ, เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ etcd เจธเฉฐเจธเจฅเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ, เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจฎเฉˆเจ‚เจฌเจฐ เจฌเจพเจฐเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจจเฉ‚เฉฐ เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเฉ‡เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ (etcdctl เจฎเฉˆเจ‚เจฌเจฐ เจเจก). เจ“เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเจพ เจ†เจ•เจพเจฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€ - เจฌเจพเจ•เฉ€ เจธเจญ เจ•เฉเจ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ…เจคเฉ‡ เจ•เจฟเจ‰เจ‚เจ•เจฟ etcd เจตเฉ€ CoreOS เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจ‡เจธ เจฆเฉ‡ เจ†เจชเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจฃเจพ เจ•เจพเจซเจผเฉ€ เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจธเฉ€เฅค เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ? เจ†เจชเจฐเฉ‡เจŸเจฐ เจคเจฐเจ• เจ†เจฆเจฟ เจคเจฟเฉฐเจจ เจญเจพเจ—เจพเจ‚ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ:

  1. เจจเจฟเจฐเฉ€เจ–เจฃ เจ•เจฐเฉ‹เฅค เจ†เจชเจฐเฉ‡เจŸเจฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  2. เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ. เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ (เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉเจ†เจฐเจพ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค) เจตเจฟเจšเจ•เจพเจฐ เจ…เฉฐเจคเจฐ เจฒเฉฑเจญเจฆเจพ เจนเฉˆเฅค
  3. เจ•เจพเจฐเจตเจพเจˆ. etcd เจ…เจคเฉ‡/เจœเจพเจ‚ Kubernetes เจธเฉ‡เจตเจพ API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ–เฉ‹เจœเฉ‡ เจ—เจ เจ…เฉฐเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ เจ†เจชเจฐเฉ‡เจŸเจฐ: เจธเจŸเฉ‡เจŸเจซเฉเฉฑเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆ

เจ‡เจธ เจคเจฐเจ• เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจ†เจชเจฐเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš เจซเฉฐเจ•เจธเจผเจจ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจฌเจฃเจพเจ“/เจจเจธเจผเจŸ เจ•เจฐเฉ‹ (etcd เจ•เจฒเฉฑเจธเจŸเจฐ เจฎเฉˆเจ‚เจฌเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจฃเจพ) เจ…เจคเฉ‡ เจฎเฉเฉœ เจ†เจ•เจพเจฐ เจฆเจฟเจ“ (เจ•เจฒเฉฑเจธเจŸเจฐ เจฎเฉˆเจ‚เจฌเจฐเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€)เฅค เจจเฉˆเฉฑเจŸเจซเจฒเจฟเจ•เจธ เจคเฉ‹เจ‚ เจ•เฉˆเจ“เจธ เจฌเจพเจ‚เจฆเจฐ เจฆเฉ€ เจธเจฎเจพเจจเจคเจพ เจตเจฟเฉฑเจš เจฌเจฃเจพเจˆ เจ—เจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธเจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจฏเจพเจจเฉ€. เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ etcd pods เจจเฉ‚เฉฐ เจฎเจพเจฐเจจเจพ.

etcd เจฆเฉ‡ เจชเฉ‚เจฐเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฒเจˆ, เจ†เจชเจฐเฉ‡เจŸเจฐ เจตเจพเจงเฉ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ: เจฌเฉˆเจ•เจ…เฉฑเจช (เจฌเฉˆเจ•เจ…เฉฑเจช เจ•เจพเจชเฉ€เจ†เจ‚ เจฌเจฃเจพเจ‰เจฃ เจตเจพเจฒเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจ…เจคเฉ‡ เจ…เจฆเจฟเฉฑเจ– - เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจนเฉˆ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเฉฐเจจเฉ€ เจตเจพเจฐ เจฌเจฃเจพเจ‰เจฃเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเฉฐเจจเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจนเฉˆ - เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฆเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฌเจนเจพเจฒเฉ€) เจ…เจคเฉ‡ เจ…เฉฑเจชเจ—เจฐเฉ‡เจก (เจกเจพเจ‰เจจเจŸเจพเจˆเจฎ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ etcd เจธเจฅเจพเจชเจจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ)

เจ“เจชเจฐเฉ‡เจŸเจฐ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ?

$ kubectl create -f https://coreos.com/operators/etcd/latest/deployment.yaml
$ kubectl create -f https://coreos.com/operators/etcd/latest/example-etcd-cluster.yaml
$ kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
etcd-cluster-0000                1/1       Running   0          23s
etcd-cluster-0001                1/1       Running   0          16s
etcd-cluster-0002                1/1       Running   0          8s
etcd-cluster-backup-tool-rhygq   1/1       Running   0          18s

etcd เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจ‡เฉฑเจ• เจฌเฉ€เจŸเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจนเฉˆ, เจœเจฟเจธเจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ Kubernetes 1.5.3+ เจ…เจคเฉ‡ etcd 3.0+ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจ…เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ (เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจธเจฎเฉ‡เจค) 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจนเจจ GitHub.

CoreOS เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจจ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ - เจชเฉเจฐเฉ‹เจฎเฉ€เจฅเฉ€เจ…เจธ เจ†เจชเจฐเฉ‡เจŸเจฐ, เจชเจฐ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจ…เจฒเจซเจผเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจนเฉˆ (เจธเจพเจฐเฉ‡ เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจ)เฅค

เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ เจธเฉฐเจญเจพเจตเจจเจพเจตเจพเจ‚

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ†เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจเจฒเจพเจจ เจคเฉ‹เจ‚ 5 เจฎเจนเฉ€เจจเฉ‡ เจฌเฉ€เจค เจšเฉเฉฑเจ•เฉ‡ เจนเจจเฅค เจ…เจงเจฟเจ•เจพเจฐเจค CoreOS เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ…เจœเฉ‡ เจตเฉ€ เจธเจฟเจฐเจซ เจฆเฉ‹ เจธเจฅเจพเจชเจจ เจ‰เจชเจฒเจฌเจง เจนเจจ (etcd เจ…เจคเฉ‡ Prometheus เจฒเจˆ)เฅค เจฆเฉ‹เจตเฉ‡เจ‚ เจ…เจœเฉ‡ เจ†เจชเจฃเฉ‡ เจธเจฅเจฟเจฐ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจชเจนเฉเฉฐเจšเฉ‡ เจนเจจ, เจชเจฐ เจชเฉเจฐเจคเฉ€เจฌเฉฑเจงเจคเจพ เจฐเฉ‹เจœเจผเจพเจจเจพ เจ…เจงเจพเจฐ 'เจคเฉ‡ เจตเฉ‡เจ–เฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจกเจฟเจตเฉˆเจฒเจชเจฐ "เจ‡เฉฑเจ• เจญเจตเจฟเฉฑเจ– เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ†เจชเจฃเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจ•เจฒเฉฑเจธเจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚, เจ•เฉˆเจธเฉˆเจ‚เจกเจฐเจพ เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจœเจพเจ‚ เจฐเฉˆเจกเจฟเจธ เจ†เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจธเจ•เฉ‡เจฒเฉ‡เจฌเจฒ เจ‡เจ•เจพเจˆเจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เฉฑเจœ เจธเจŸเฉ‡เจŸเจฒเฉˆเฉฑเจธ เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค" เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจตเจฟเจ•เจพเจธเจ•เจพเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจ†เจชเจฐเฉ‡เจŸเจฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจ‡เจ†:

เจฌเฉเจฐเจธเฉ‡เจฒเจœเจผ เจตเจฟเฉฑเจš เจซเจฐเจตเจฐเฉ€ 2017 เจตเจฟเฉฑเจš เจนเฉ‹เจˆ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ€ เจฏเฉ‚เจฐเจชเฉ€เจ…เจจ เจฎเฉเจซเจค เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจ•เจพเจจเจซเจฐเฉฐเจธ FOSDEM เจตเจฟเฉฑเจš, CoreOS เจคเฉ‹เจ‚ เจœเฉ‹เจธเจผ เจตเฉเฉฑเจก เจจเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ€ เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เฉ€เจคเฉ€เฅค เจฐเจฟเจชเฉ‹เจฐเจŸ (เจฒเจฟเฉฐเจ• 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉ€เจกเฉ€เจ“ เจ‰เจชเจฒเจฌเจง เจนเฉˆ!), เจœเฉ‹ เจ•เจฟ เจตเจฟเจ†เจชเจ• เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจญเจพเจˆเจšเจพเจฐเฉ‡ เจตเจฟเฉฑเจš เจ‡เจธ เจธเฉฐเจ•เจฒเจช เจฆเฉ€ เจชเฉเจฐเจธเจฟเฉฑเจงเฉ€ เจฆเฉ‡ เจตเจพเจงเฉ‡ เจตเจฟเฉฑเจš เจฏเฉ‹เจ—เจฆเจพเจจ เจชเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

PS เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ! เจธเจพเจกเฉ‡ เจนเฉฑเจฌ เจฆเฉ‡ เจ—เจพเจนเจ• เจฌเจฃเฉ‹, เจคเจพเจ‚ เจ•เจฟ DevOps เจ…เจคเฉ‡ GNU/Linux เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจจ 'เจคเฉ‡ เจจเจตเฉ€เจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€ เจ…เจคเฉ‡ เจชเจ•เจตเจพเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจพ เจ–เฉเฉฐเจเจพเจ‡เจ† เจœเจพเจตเฉ‡ - เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฏเจฎเจฟเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐเจพเจ‚เจ—เฉ‡!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹