เชฆเซเชข เชตเชฐเซเชท เชชเชนเซเชฒเชพเช, 5 เชฎเชพเชฐเซเช, 2018เชจเชพ เชฐเซเช, Google เช CI/CD เชฎเชพเชเซ เชคเซเชจเชพ เชเชชเชจ เชธเซเชฐเซเชธ เชชเซเชฐเซเชเซเชเซเชเชจเซเช เชชเซเชฐเชฅเชฎ เชเชฒเซเชซเชพ เชตเชฐเซเชเชจ เชฌเชนเชพเชฐ เชชเชพเชกเซเชฏเซเช
NB: เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เช
เชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เช
เชฎเชพเชฐเชพ เชเชจเชฐเชฒเชฎเชพเช เชธเซเชเชพเชซเซเชฒเซเชก เชตเชฟเชถเซ เชเซเชเชเชฎเชพเช เชตเชพเชค เชเชฐเซ เชเซ
เชฅเชฟเชฏเชฐเซ. เชนเซเชคเซ เช เชจเซ เชเซเชทเชฎเชคเชพเช
เชคเซเชฅเซ, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชนเซเช เชคเซ, Skaffold CI/CD เชเชเซเชฐเชจเซ เชธเซเชตเชเชพเชฒเชฟเชค เชเชฐเชตเชพเชจเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชนเชฒ เชเชฐเซ เชเซ (เชฌเชฟเชฒเซเชก, เชชเซเชถ, เชกเชฟเชชเซเชฒเซเชฏ เชธเซเชเซเช เชชเชฐ), เชกเซเชตเชฒเชชเชฐเชจเซ เชชเซเชฐเซเชฎเซเชชเซเช เชซเซเชกเชฌเซเช เชเชซเชฐ เชเชฐเซ เชเซ, เชเชเชฒเซ เชเซ. เช เชจเซเชเชพเชฎเซ เชเซเชก เชซเซเชฐเชซเชพเชฐเซเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เชเชกเชชเชฅเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ - เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชเชพเชฒเชคเซ เช เชชเชกเซเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชธเซเชตเชฐเซเชชเชฎเชพเช. เช เชจเซ เชคเซ เชตเชฟเชตเชฟเชง เชธเชฐเซเชเชฟเชเชฎเชพเช เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ (เชฆเซเชต, เชธเซเชเซเช, เชเชคเซเชชเชพเชฆเชจ...), เชเซเชจเชพ เชฎเชพเชเซ เชธเซเชเชพเชซเซเชฒเซเชก เชฐเซเชฒเชเชเช เชฎเชพเชเซ เช เชจเซเชฐเซเชช เชชเชพเชเชชเชฒเชพเชเชจเซเชธเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชเซ.
เชธเซเชเชพเชซเซเชฒเซเชกเชจเซ เชธเซเชฐเซเชธ เชเซเชก เชเซเชฎเชพเช เชฒเชเชพเชฏเซเชฒเซ เชเซ,
เชเชพเชฒเซ เชฎเซเชเซเชฏ เชเชพเชฐเซเชฏเซ เช เชจเซ เชฒเชเซเชทเชฃเซ เชเซเชเช. เชชเซเชฐเชฅเชฎเชฎเชพเช เชจเซเชเซเชจเชพเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ:
- เชธเซเชเชพเชซเซเชฒเซเชก CI/CD เชชเชพเชเชชเชฒเชพเชเชจเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเชพเชงเชจเซ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ.
- เชคเชฎเชจเซ เชฌเซเชเชเซเชฐเชพเชเชจเซเชกเชฎเชพเช เชธเซเชฐเซเชธ เชเซเชกเชฎเชพเช เชฅเชคเชพ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชฎเซเชจเชฟเชเชฐ เชเชฐเชตเชพเชจเซ เช เชจเซ เชเชจเซเชเซเชจเชฐ เชเชฎเซเชเซเชธเชฎเชพเช เชเซเชก เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชจเซ เชเชเซเชฎเซเชเซเชก เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฒเชพเชตเชตเชพเชจเซ, เช เชเชฎเซเชเซเชจเซ เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซเชฎเชพเช เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชจเซ เช เชจเซ เชคเซเชฎเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชกเชฟเชชเซเชฒเซเชฏ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ.
- เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ เชธเชพเชฅเซ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชซเชพเชเชฒเซเชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเซ เชเซ.
- เชเชจเซเชเซเชจเชฐ-เชธเซเชเซเชฐเชเซเชเชฐ-เชเซเชธเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเชฎเซเชณเซ เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ เชเซ.
- เชชเซเชฐเซเช เชซเซเชฐเชตเชฐเซเชก เชเชฐเซ เชเซ.
- เชเชจเซเชเซเชจเชฐเชฎเชพเช เชเชพเชฒเชคเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชฒเซเช เชตเชพเชเชเซ เชเซ.
- Java, Node.js, Python, Go เชฎเชพเช เชฒเชเชพเชฏเซเชฒ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชกเซเชฌเช เชเชฐเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชเซ.
เชนเชตเซ เชฒเชเซเชทเชฃเซ เชตเชฟเชถเซ:
- เชธเซเชเชพเชซเซเชฒเซเชกเชฎเชพเช เชชเซเชคเซ เชเซเช เชเซเชฒเชธเซเชเชฐ-เชธเชพเชเชก เชเชเชเซ เชจเชฅเซ. เชเชเชฒเซ เชเซ, เช เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฌเชฐเชจเซเชเซเชธเชจเซ เชตเชงเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
- เชคเชฎเชพเชฐเซ เช
เชฐเชเซ เชฎเชพเชเซ เชตเชฟเชตเชฟเชง เชชเชพเชเชชเชฒเชพเชเชจเซเชธ. เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชตเชฟเชเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพ เชนเซเชต เชคเซเชฏเชพเชฐเซ เชถเซเช เชคเชฎเชพเชฐเซ เชธเซเชฅเชพเชจเชฟเช เชฎเชฟเชจเซเชเซเชฏเซเชฌ เชชเชฐ เชเซเชก เชฐเซเชฒ เชเชเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เช
เชจเซ เชชเชเซ เชธเซเชเซเช เช
เชฅเชตเชพ เชชเซเชฐเซเชกเชเซเชถเชจ เชฎเชพเชเซ? เช เชนเซเชคเซ เชฎเชพเชเซ เชคเซเชฏเชพเช เชเซ
เชฐเซเชชเชฐเซเชเชพเช เช เชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจเซ, เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชเชฒเซ เช เชจเซ เชซเซเชฒเซเชเซเชธ, เชเซ เชคเชฎเชจเซ เชเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชตเชฟเชตเชฟเชง เชชเชพเชเชชเชฒเชพเชเชจเซเชธเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. - CLI. YAML เชฎเชพเช เชฎเชพเชคเซเชฐ เชเชจเซเชธเซเชฒ เชเชชเชฏเซเชเชฟเชคเชพ เช
เชจเซ เชเซเช เชตเชฃเซเช. เชเชจเซเชเชฐเชจเซเช เชชเชฐ เชคเชฎเซ เชฌเชจเชพเชตเชตเชพเชจเชพ เชชเซเชฐเชฏเชพเชธเซเชจเชพ เชธเชเชฆเชฐเซเชญเซ เชถเซเชงเซ เชถเชเซ เชเซ
เชชเซเชฐเชพเชฏเซเชเชฟเช GUI , เชเซ เชเซ, เช เชเซเชทเชฃเซ เชฎเซเชเซ เชญเชพเชเซ เชเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชเซเชเชจเซ เชคเซเชจเซ เชเชฐเซเชฐ เชเซ, เชชเชฐเชเชคเซ เชเชฐเซเชเชฐ เชจเชนเซเช. - เชฎเซเชกเซเชฏเซเชฒเชฐเชฟเชเซ. เชธเซเชเชพเชซเซเชฒเซเชก เช เชเชเชฒ เชนเชพเชฐเซเชตเซเชธเซเชเชฐ เชจเชฅเซ, เชชเชฐเชเชคเซ เชเซเชเซเชเชธ เชเชพเชฐเซเชฏเซ เชฎเชพเชเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชฎเซเชกเซเชฏเซเชฒเซ เช เชฅเชตเชพ เชนเชพเชฒเชจเชพ เชเชเซเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ.
เชฌเชพเชฆเชจเซเช เชเชฆเชพเชนเชฐเชฃ:
- เชเชธเซเชฎเซเชฌเชฒเซเชจเชพ เชคเชฌเชเซเชเซ เชคเชฎเซ เชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ:
- เชกเซเชเชฐ เชฌเชฟเชฒเซเชก เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ, เชเชจเชฟเชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เช เชฅเชตเชพ เชเซเชเชฒ เชเซเชฒเชพเชเชก เชฌเชฟเชฒเซเชกเชฎเชพเช;
- เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชฌเซเชเชฒ;
- Jib Maven เช เชจเซ Jib Gradle เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เช เชฅเชตเชพ Google เชเซเชฒเชพเชเชก เชฌเชฟเชฒเซเชกเชฎเชพเช;
- เชเชธเซเชเชฎ เชฌเชฟเชฒเซเชก เชธเซเชเซเชฐเชฟเชชเซเชเซ เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชเชพเชฒเซ เชเซ. เชเซ เชคเชฎเชพเชฐเซ เชฌเซเชเซเช (เชตเชงเซ เชฒเชตเชเซเช/เชชเชฐเชฟเชเชฟเชค/...) เชฌเชฟเชฒเซเชก เชธเซเชฒเซเชฏเซเชถเชจ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชคเซ เชธเซเชเซเชฐเชฟเชชเซเชเชฎเชพเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ เชเซเชฅเซ เชธเซเชเชพเชซเซเชฒเซเชก เชคเซเชจเซ เชฒเซเชจเซเช เชเชฐเซ (
เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเชเชฅเซ เชเชฆเชพเชนเชฐเชฃ ). เช เชคเชฎเชจเซ เชเซเชเชชเชฃ เชเชฒเซเชเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชเซเชจเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชนเซ เชถเชเชพเชฏ;
- เชชเชฐเซเชเซเชทเชฃ เชคเชฌเชเซเชเซ, เชชเชนเซเชฒเซเชฅเซ เช เชเชฒเซเชฒเซเชเชฟเชค
เชเชจเซเชเซเชจเชฐ-เชธเซเชเซเชฐเชเซเชเชฐ-เชเซเชธเซเช ; - เชเชฎเชพเชตเช เชฎเชพเชเซ เชจเซเชเซ เชเชชเซเชฒ เชเซ:
- เชเซเชฌเซเชเซเชเชฒ;
- เชธเซเชเชพเชจ;
- เชเชธเซเชเชฎเชพเชเช เชเชฐเซ.
เชเชจเซ เชเชญเชพเชฐ, เชธเซเชเชพเชซเซเชฒเซเชกเชจเซ เช เชจเชจเซเชฏ เชเชนเซ เชถเชเชพเชฏ เชธเซเชเช/เชธเซเชกเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซเชจเซเช เชฎเชพเชณเชเซเช. เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชตเชเชคเซ เชตเชฐเซเชเชซเซเชฒเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ เช เชนเซเช เชเซ (เชชเซเชฐเซเชเซเชเซเช เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃเชฎเชพเชเชฅเซ):
เชธเชพเชฎเชพเชจเซเชฏ เชฆเซเชฐเชทเซเชเชฟเช เชธเซเชเชพเชซเซเชฒเซเชกเชจเซเช เชเชพเชฐเซเชฏ เชเซเชตเซเช เชฆเซเชเชพเชฏ เชเซ?
- เชฏเซเชเชฟเชฒเชฟเชเซ เชธเซเชฐเซเชธ เชเซเชก เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐเซเชจเซ เชฎเซเชจเชฟเชเชฐ เชเชฐเซ เชเซ. เชเซ เชซเชพเชเชฒเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เชคเซ เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเซเชก เชธเชพเชฅเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชฅเชพเชฏ เชเซ. เชเซ เชถเชเซเชฏ เชนเซเชฏ เชคเซ, เชเชฌเซเชจเซ เชซเชฐเซเชฅเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ. เชจเชนเชฟเชเชคเชฐ, เชเช เชจเชตเซ เชเชฌเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
- เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซเชฒเซ เชเชฌเซ เชเชจเซเชเซเชจเชฐ-เชธเซเชเซเชฐเชเซเชเชฐ-เชเซเชธเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเชชเชพเชธเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช เชจเซ เชกเซเชเชฐ เชฐเชเชฟเชธเซเชเซเชฐเซเชฎเชพเช เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
- เช เชชเชเซ, เชเชฌเซ เชเชฎเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ - เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชคเซเชจเชพเชค.
- เชเซ เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฒเซเชจเซเช เชถเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช
skaffold dev
, เชชเชเซ เช เชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเชเชฅเซ เชฒเซเชเซเชธ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเช เชเซเช, เช เชจเซ Skaffold เชฌเชงเซ เชเซเชฐเชฟเชฏเชพเชเชจเซ เชซเชฐเซเชฅเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชฐเชพเชน เชเซเช เชเซ.
เชธเซเชเชพเชซเซเชฒเซเชก เชเชชเชฐเซเชถเชจเชจเชพ เชฎเซเชเซเชฏ เชคเชฌเชเซเชเชพเชเชจเซเช เชเชฟเชคเซเชฐเชฃ
เชชเซเชฐเซเชเซเชเชฟเชธ เชเชฐเซ. Skaffold เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชธเซเชเชพเชซเซเชฒเซเชกเชจเซ เชเชชเชฏเซเช เชฆเชฐเซเชถเชพเชตเชตเชพ เชฎเชพเชเซ, เชนเซเช เชเช เชเชฆเชพเชนเชฐเชฃ เชฒเชเชถ
เชธเซเชเชพเชซเซเชฒเซเชก เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ:
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
chmod +x skaffold
sudo mv skaffold /usr/local/bin
skaffold version
v0.37.1
เชเชพเชฒเซ เชเชฐเซเชฐเซ เชเชฆเชพเชนเชฐเชฃเซ เชธเชพเชฅเซ เชธเซเชเชพเชซเซเชฒเซเชกเชจเชพ เชฐเซเชชเซเชเซเชเชฐเซเชจเซ เชเซเชฒเซเชจ เชเชฐเซเช:
git clone https://github.com/GoogleContainerTools/skaffold
cd skaffold/examples/microservices
เชฎเซเช เชฌเซ เชถเซเชเชเซ เชธเชพเชฅเซเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชชเชธเชเชฆ เชเชฐเซเชฏเซเช, เชเซเชฎเชพเช เชฆเชฐเซเชเชฎเชพเช เชเช เชจเชพเชจเซ เชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซ. เชเช เชเชชเซเชฒเชฟเชเซเชถเชจ เช เชซเซเชฐเชจเซเชเชเชจเซเชก (เชฒเซเชฐเซเชฏ-เชตเซเชฌ) เชเซ, เชเซ เชตเชฟเชจเชเชคเซเชจเซ เชฌเซเชเซ เชเชชเซเชฒเชฟเชเซเชถเชจ - เชฌเซเชเชเชจเซเชก (เชฒเซเชฐเซเชฏ-เชเชช) เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเซ เชเซ. เชเชพเชฒเซ เชเซเชเช เชเซ เชคเซ เชเซเชตเซเช เชฆเซเชเชพเชฏ เชเซ:
~/skaffold/examples/microservices # tree
.
โโโ leeroy-app
โ โโโ app.go
โ โโโ Dockerfile
โ โโโ kubernetes
โ โโโ deployment.yaml
โโโ leeroy-web
โ โโโ Dockerfile
โ โโโ kubernetes
โ โ โโโ deployment.yaml
โ โโโ web.go
โโโ README.adoc
โโโ skaffold.yaml
4 directories, 8 files
leeroy-app เช เชจเซ leeroy-web เช เชเซเชกเชจเซ เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ Go เชเซเชก เช เชจเซ เชธเชฐเชณ เชกเซเชเชฐเชซเชพเชเชฒเซเชธ เชงเชฐเชพเชตเซ เชเซ:
~/skaffold/examples/microservices # cat leeroy-app/Dockerfile
FROM golang:1.12.9-alpine3.10 as builder
COPY app.go .
RUN go build -o /app .
FROM alpine:3.10
CMD ["./app"]
COPY --from=builder /app .
เชนเซเช เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชก เชเชชเซเชถ เชจเชนเซเช - เชคเซ เชเชพเชฃเชตเชพ เชฎเชพเชเซ เชคเซ เชชเซเชฐเชคเซเช เชเซ leeroy-web
เชตเชฟเชจเชเชคเซเช เชธเซเชตเซเชเชพเชฐเซ เชเซ เช
เชจเซ เชคเซเชฎเชจเซ เชชเซเชฐเซเชเซเชธเซ เชเชชเซ เชเซ leeroy-app
. เชคเซเชฅเซ เชซเชพเชเชฒเซเชฎเชพเช Deployment.yaml
เชฎเชพเชเซ เช เชธเซเชตเชพ เชเซ app
(เชเชเชคเชฐเชฟเช เชฐเซเชเซเชเช เชฎเชพเชเซ). เชชเซเชก เชชเซเชฐเซเช web
เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชกเชชเซ เชเชเซเชธเซเชธ เชฎเชพเชเซ เช
เชฎเซ เชคเซเชจเซ เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชซเซเชฐเชตเชฐเซเชก เชเชฐเซเชถเซเช.
เชคเซ เชเซเชตเซ เชฒเชพเชเซ เชเซ skaffold.yaml
:
~/skaffold/examples/microservices # cat skaffold.yaml
apiVersion: skaffold/v1beta13
kind: Config
build:
artifacts:
- image: leeroy-web
context: ./leeroy-web/
- image: leeroy-app
context: ./leeroy-app/
deploy:
kubectl:
manifests:
- ./leeroy-web/kubernetes/*
- ./leeroy-app/kubernetes/*
portForward:
- resourceType: deployment
resourceName: leeroy-web
port: 8080
localPort: 9000
เชเชชเชฐ เชเชฃเชพเชตเซเชฒ เชคเชฎเชพเชฎ เชคเชฌเชเซเชเชพเช เช
เชนเซเช เชตเชฐเซเชฃเชตเซเชฒ เชเซ. เช เชฐเซเชชเชฐเซเชเชพ เชเชชเชฐเชพเชเชค, เชตเซเชถเซเชตเชฟเช เชธเซเชเชฟเชเชเซเชธ เชธเชพเชฅเซเชจเซ เชซเชพเชเชฒ เชชเชฃ เชเซ - ~/.skaffold/config
. เชคเซ เชเชพเชคเซ เช
เชฅเชตเชพ CLI เชฆเซเชตเชพเชฐเชพ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ - เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชจเชพ เชเซเชตเซเช:
skaffold config set --global local-cluster true
เช เชเชฆเซเชถ เชตเซเชถเซเชตเชฟเช เชเชฒ เชธเซเช เชเชฐเชถเซ local-cluster
เช
เชฐเซเชฅเชฎเชพเช true
, เชเซ เชชเชเซ เชธเซเชเชพเชซเซเชฒเซเชก เชเชฌเซเชเชจเซ เชฐเชฟเชฎเซเช เชฐเชเชฟเชธเซเชเซเชฐเซเชฎเชพเช เชฆเชฌเชพเชฃ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชถเซ เชจเชนเซเช. เชเซ เชคเชฎเซ เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชตเชฟเชเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเชพเช เชนเซเชต, เชคเซ เชคเชฎเซ เช เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชเชฎเซเชเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเซ เชถเชเซ เชเซ.
เชชเชพเชเชณ skaffold.yaml
:
- เชฎเชเช เชเชชเชฐ
build
เช เชฎเซ เชธเซเชชเชทเซเช เชเชฐเซเช เชเซเช เชเซ เชคเชฎเชพเชฐเซ เชเชฌเซเชจเซ เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เช เชจเซ เชธเชพเชเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชฌเชฟเชฒเซเชก เชชเซเชฐเชฅเชฎ เชตเชเชค เชเชพเชฒเซ เชคเซ เชชเชเซ, เชเชชเชฃเซ เชจเซเชเซเชจเชพ เชเซเชถเซเช:// ั.ะบ. Minikube ัะพะทะดะฐะตั ะบะปะฐััะตั ะฒ ะพัะดะตะปัะฝะพะน ะฒะธัััะฐะปัะฝะพะน ะผะฐัะธะฝะต, // ะฟัะธะดะตััั ะฟัะพะฝะธะบะฝััั ะฒะฝัััั, ััะพะฑั ะฝะฐะนัะธ ะพะฑัะฐะทั # minikube ssh $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE leeroy-app 7d55a50803590b2ff62e47e6f240723451f3ef6f8c89aeb83b34e661aa287d2e 7d55a5080359 4 hours ago 13MB leeroy-app v0.37.1-171-g0270a0c-dirty 7d55a5080359 4 hours ago 13MB leeroy-web 5063bfb29d984db1ff70661f17d6efcc5537f2bbe6aa6907004ad1ab38879681 5063bfb29d98 5 hours ago 13.1MB leeroy-web v0.37.1-171-g0270a0c-dirty 5063bfb29d98 5 hours ago 13.1MB
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เชธเซเชเชพเชซเซเชฒเซเชกเซ เชชเซเชคเซ เชเชฌเซเชเชจเซ เชเซเช เชเชฐเซเชฏเชพ เชเซ. เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เชเชฃเซ เชเซเชเชฟเชเช เชจเซเชคเชฟเช เชธเชฎเชฐเซเชฅเชฟเชค เชเซ.
- เชฐเซเชชเชฐเซเชเชพเชฎเชพเช เชเชเชณ เชคเซ เชธเซเชเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ
context: ./leeroy-app/
, เชเชเชฒเซ เชเซ เชเซ เชธเชเชฆเชฐเซเชญเชฎเชพเช เชเชฌเซ เชเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชคเซ เชเชฒเซเชฒเซเชเชฟเชค เชเซ. - เชเชฎเชพเชตเชเชจเชพ เชคเชฌเชเซเชเซ, เชคเซ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เช เชฎเซ เชเชฐเซเชฐเซ เชฎเซเชจเชฟเชซเซเชธเซเช เชฎเชพเชเซ kubectl เช เชจเซ เชฎเชพเชธเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
-
PortForward
: เชเชชเชฃเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเซเชตเซ เชฐเซเชคเซ เชซเซเชฐเชตเชฐเซเชก เชเชฐเซเช เชเซเช เชคเซเชจเชพ เชเซเชตเซเช เชkubectl port-forward
, เช เชฎเซ เช เชเชฆเซเชถเชจเซ เชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ Skaffold เชจเซ เชธเซเชเชจเชพเช เชเชชเซเช เชเซเช. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชธเซเชฅเชพเชจเชฟเช เชชเซเชฐเซเช 9000 เชจเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเชเชฎเชพเช เชจเชพเชฎ เชธเชพเชฅเซ 8080 เชชเชฐ เชซเซเชฐเชตเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.leeroy-web
.
เชคเซ เชฒเซเชจเซเช เชเชฐเชตเชพเชจเซ เชธเชฎเชฏ เชเซ skaffold dev
: เชเซเชฎ เชเชพเชฒเซ "เชซเซเชกเชฌเซเช เชฒเซเชช" เชฌเชจเชพเชตเชถเซ, เชเชเชฒเซ เชเซ. เชคเซ เชฎเชพเชคเซเชฐ เชฌเชงเซเช เช เชเชเชคเซเชฐเชฟเชค เชเชฐเชถเซ เช
เชจเซ เชคเซเชจเซ เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชเชฎเชพเชตเชถเซ เชเชเชฒเซเช เช เชจเชนเซเช, เชชเชฃ เชคเชฎเชจเซ เช เชเซเชทเชฃเซ เชถเซเชเชเซเชจเซ เชธเซเชฅเชฟเชคเชฟ เชตเชฟเชถเซ เชชเชฃ เชเชฃเชพเชตเชถเซ, เชซเซเชฐเชซเชพเชฐเซเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเชถเซ เช
เชจเซ เชถเซเชเชเซเชจเซ เชธเซเชฅเชฟเชคเชฟเชจเซ เช
เชชเชกเซเช เชเชฐเชถเซ.
เช
เชนเซเช เชฒเซเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เชเซ skaffold dev --port-forward
เชซเชฐเซเชฅเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชคเซ เชตเชเชคเซ:
เชชเซเชฐเชฅเชฎ, เชคเชฎเซ เชเซเช เชถเชเซ เชเซ เชเซ เชเซเชถเชจเซ เชเชชเชฏเซเช เชฅเช เชฐเชนเซเชฏเซ เชเซ. เชเชเชณ, เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชฎเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช
เชจเซ เชชเซเชฐเซเช เชซเซเชฐเชตเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชฒเซเชฒเซเช เชเชฐเซเชฏเซ เชคเซเชฏเชพเชฐเชฅเซ --port-forward
, เชธเซเชเชพเชซเซเชฒเซเชกเซ เชฌเชเชฆเชฐเชจเซ เชซเซเชฐเชตเชฐเซเชก เชเชฐเซเชฏเซเช web
, เชเซเชฎ เชคเซเชจเซ เชชเซเชเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช, เชชเชฐเชเชคเซ เช
เชนเซเช app
เชคเซเชฃเซ เชคเซเชจเชพ เชชเซเชคเชพเชจเชพ เชตเชฟเชตเซเชเชฌเซเชฆเซเชงเชฟเชฅเซ เชซเซเชเชเซ เชฆเซเชงเซเช (เชจเชเซเชเชจเซ เชฎเชซเชค เชชเชธเชเชฆ เชเชฐเซ). เช เชชเชเซ, เช
เชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชฎเชพเชเชฅเซ เชชเซเชฐเชฅเชฎ เชฒเซเช เชชเซเชฐเชพเชชเซเชค เชเชฐเซเช เชเซเช.
เชเชพเชฒเซ เชคเชชเชพเชธ เชเชฐเซเช เชเซ เชคเซ เชเชพเชฎ เชเชฐเซ เชเซ?
~/skaffold/examples/microservices # kubectl get po
NAME READY STATUS RESTARTS AGE
leeroy-app-6998dfcc95-2nxvf 1/1 Running 0 103s
leeroy-web-69f7d47c9d-5ff77 1/1 Running 0 103s
~/skaffold/examples/microservices # curl localhost:9000
leeroooooy app!!!
เชซเชพเชเชฒเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช leeroy-app/app.go
- เชฅเซเชกเซเช เชธเซเชเชเชก เชชเชธเชพเชฐ เชฅเชพเชฏ เชเซ... เช
เชจเซ:
~/skaffold/examples/microservices # kubectl get po
NAME READY STATUS RESTARTS AGE
leeroy-app-ffd79d986-l6nwp 1/1 Running 0 11s
leeroy-web-69f7d47c9d-5ff77 1/1 Running 0 4m59s
~/skaffold/examples/microservices # curl localhost:9000
leeroooooy Habr!!!
เชคเซ เช เชธเชฎเชฏเซ, เชธเซเชเชพเชซเซเชฒเซเชกเซ เชชเซเชคเซ เชเชจเซเชธเซเชฒเชฎเชพเช เชชเชนเซเชฒเชพเชจเซ เชเซเชฎ เช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเซเชฏเซเช, เชเช เชฌเชฟเชเชฆเซเชจเชพ เช
เชชเชตเชพเชฆ เชธเชพเชฅเซ: เชคเซ เชซเชเซเชค เชฐเซเชฒ เชเชเช เชฅเชฏเซเช leeroy-app
, เช
เชจเซ เชฌเชงเชพ เชเช เช เชธเชฎเชฏเซ เชจเชนเซเช.
เชตเชงเซ เชชเซเชฐเซเชเซเชเชฟเชธ
เช เชชเชฃ เชเชฒเซเชฒเซเชเชจเซเชฏ เชเซ เชเซ เชจเชตเซ เชชเซเชฐเซเชเซเชเซเช เชฌเชจเชพเชตเชคเซ เชตเชเชคเซ, เชเชฎเชพเชจเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเซเชเชพเชซเซเชฒเซเชก เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเช เชฌเซเชเชธเซเชเซเชฐเซเชช เชเชฐเซ เชถเชเชพเชฏ เชเซ. init
, เชเซ เชเซเชฌ เช
เชจเซเชเซเชณ เชเซ. เชตเชงเซเชฎเชพเช, เชคเชฎเซ เชเชฃเซ เชฐเซเชชเชฐเซเชเชพเช เชฒเชเซ เชถเชเซ เชเซ: เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเชฐเซเชเชพ เชชเชฐ เชตเชฟเชเชพเชธ เชเชฐเซ เช
เชจเซ เชชเชเซ เชเชฆเซเชถ เชธเชพเชฅเซ เชธเซเชเซเช เชชเชฐ เชฐเซเชฒ เชเชเช เชเชฐเซ run
(เชเซเชฎ เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ dev
, เชฎเชพเชคเซเชฐ เชซเซเชฐเชซเชพเชฐเซเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเชคเซเช เชจเชฅเซ), เชเช เช
เชฒเช เชฐเซเชชเชฐเซเชเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ.
เชเชเชพเชเซเชกเชพ เชชเชฐ เชเซ
เชธเซเชเชพเชซเซเชฒเซเชก เชฎเชพเชเซ เชเช เชธเชเชญเชตเชฟเชค เชเชชเชฏเซเชเชจเซ เชเซเชธ เชฐเชฟเชฎเซเช เชเซเชฒเชธเซเชเชฐ เชชเชฐ เชตเชฟเชเชพเชธ เชนเชพเชฅ เชงเชฐเชตเชพเชจเซ เชเซ. เชฆเชฐเซเช เชเชฃ เชชเซเชคเชพเชจเชพ เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชฎเชฟเชจเชฟเชเซเชฏเซเชฌ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเชพเชฎเชฆเชพเชฏเช เชจเชฅเซ เชนเซเชคเซเช, เชชเชเซ เชเชชเซเชฒเซเชเซเชถเชจเชจเซ เชฐเซเชฒเชเชเช เชเชฐเซ เชเซ เช
เชจเซ เชคเซ เชชเชฐเซเชฏเชพเชชเซเชค เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชคเซเชตเซ เช
เชชเซเชเซเชทเชพ เชฐเชพเชเซ เชเซ... เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชธเซเชเชพเชซเซเชฒเซเชก เชธเชฎเชธเซเชฏเชพเชจเซ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชนเชฒ เชเชฐเซ เชเซ, เชเซเชจเซ เชชเซเชทเซเชเชฟ เชเชฐเซ เชถเชเชพเชฏ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, Reddit เชเชจเซเชเชฟเชจเชฟเชฏเชฐเซ เชฆเซเชตเชพเชฐเชพ, เชเซเชฎ เชเซ เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชเซ. เชชเชนเซเชฒเซเชฅเซ เช เชเชฐเซเชเชพ เชเชฐเซ เชเซ
เช
เชจเซ เชธเชพเชเชจ
เชจเชฟเชทเซเชเชฐเซเชท
เชธเซเชเชพเชซเซเชฒเซเชก เช เชชเชพเชเชชเชฒเชพเชเชจเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซเชจเซเช เชเช เช
เชจเซเชเซเชณ เชธเชพเชงเชจ เชเซ เชเซเชฎเชพเช เชเซเชฌเชฐเชจเซเชเซเชธ เชฎเชพเชเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชฐเซเชฒ เชเชเช เชเชฐเชตเชพเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ เช
เชจเซ เชคเซ เชฎเซเชเซเชฏเชคเซเชตเซ เชตเชฟเชเชพเชธเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชชเชฐ เชเซเชจเซเชฆเซเชฐเชฟเชค เชเซ. เชคเซ "เชเซเชเชเซ" เชชเชพเชเชชเชฒเชพเชเชจ เชฌเชจเชพเชตเชตเชพเชจเซเช เชเซเชฌ เชธเชฐเชณ เชฌเชจเชพเชตเซ เชเซ เชเซ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเชจเซ เชฎเซเชณเชญเซเชค เชเชฐเซเชฐเชฟเชฏเชพเชคเซเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซ เชเซ, เชชเชฐเชเชคเซ เชเซ เชเชเซเชเชฟเชค เชนเซเชฏ, เชคเซ เชคเชฎเซ เชฎเซเชเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชเซเช เชตเซ เชถเชเซ เชเซ. CI/CD เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชฎเชพเช เชธเซเชเชพเชซเซเชฒเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเชพ เชธเซเชชเชทเซเช เชเชฆเชพเชนเชฐเชฃเซเชฎเชพเชเชจเชพ เชเช เชคเชฐเซเชเซ
เชเชฟเชเชนเชฌ เชชเชฐ เชธเซเชเชพเชซเซเชฒเซเชก เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช เชฒเชเชญเช 8000+ เชธเซเชเชพเชฐเซเชธ เชเซ, เชคเซ Google เชฆเซเชตเชพเชฐเชพ เชตเชฟเชเชธเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ เช
เชจเซ เชคเซเชจเซ เชเช เชญเชพเช เชเซ
PS
เช เชฎเชพเชฐเชพ เชฌเซเชฒเซเช เชชเชฐ เชชเชฃ เชตเชพเชเชเซ:
- ยซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชชเชฐ เชเชพเชฒเชคเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชฎเชพเชเซเชจเชพ เชธเชพเชงเชจเซ ยป; - ยซ
werf - เชเซเชฌเชฐเชจเซเชเซเชธเชฎเชพเช CI/CD เชฎเชพเชเซ เช เชฎเชพเชฐเซเช เชธเชพเชงเชจ (เชตเชฟเชนเชเชเชพเชตเชฒเซเชเชจ เช เชจเซ เชตเชฟเชกเชฟเชฏเซ เชฐเชฟเชชเซเชฐเซเช) ยป; - ยซ
เชเชพเชฐเซเชกเชจ v0.10.0: เชคเชฎเชพเชฐเชพ เชฒเซเชชเชเซเชชเชจเซ เชเซเชฌเชฐเชจเซเชเซเชธเชจเซ เชเชฐเซเชฐ เชจเชฅเซ ยป; - ยซ
เชเซเชฌเชฐเชจเซเชเซเชธ เชเซเชชเซเชธ เช เชจเซ เชฏเซเชเซเชคเชฟเช: เชธเซเชฅเชพเชจเชฟเช เชตเชฟเชเชพเชธ เช เชจเซ เชเซเชฒเชฟเชชเซเชฐเซเชเชจเซเชธ เชตเชฟเชถเซ ยป.
เชธเซเชฐเซเชธ: www.habr.com