Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชตเชฟเช•เชธเชพเชตเชตเซ€

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

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชตเชฟเช•เชธเชพเชตเชตเซ€

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

เชชเชฐเช‚เชชเชฐเชพเช—เชค เชœเชพเชตเชพ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชชเชฐเช‚เชชเชฐเชพเช—เชค เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชœเชพเชตเชพ (เช†เช•เซƒเชคเชฟ 1) เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช•เซ‹เชก เชฒเช–เชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเซ‡ เช›เซ‡, เชชเช›เซ€ JAR เช…เชฅเชตเชพ WAR เชซเชพเช‡เชฒเซ‹เชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เชœเชฎเชพเชตเชŸ เชเช•เชฎเซ‹ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เช† เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชตเซ‡เชฌ เช…เชฅเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชฐเซเชตเชฐ เชชเชฐ เชœเชฎเชพเชตเชคเชพ เช…เชจเซ‡ เชšเชฒเชพเชตเซ‡ เช›เซ‡. เช† เช•เชฐเชตเชพเชจเซ€ เชฎเซเช–เซเชฏ เชฐเซ€เชค เช เช›เซ‡ เช•เซ‡ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€ เชฎเชพเชตเซ‡เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช…เชฅเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช•เซ‹เชก เช…เชจเซ‡ เชชเซ‡เช•เซ‡เชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ IntelliJ เช…เชฅเชตเชพ Eclipse เชœเซ‡เชตเชพ IDE เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช•เซ‹เชกเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเชตเชพ เช…เชจเซ‡ เช•เซ‹เชก เช•เชฎเชฟเชŸ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชตเชฐเซเชเชจ เช•เช‚เชŸเซเชฐเซ‹เชฒเชฎเชพเช‚ เชธเชฌเชฎเชฟเชŸ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡.

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชตเชฟเช•เชธเชพเชตเชตเซ€

เชšเซ‹เช–เชพ. 1. เชชเชฐเช‚เชชเชฐเชพเช—เชค เชœเชพเชตเชพ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ.

เชฎเซ‡เช˜ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

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

เช•เซเชฒเชพเช‰เชกเชฎเชพเช‚ เชธเช‚เช•เซเชฐเชฎเชฃเชฎเชพเช‚ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชœเชพเชตเชพ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซเช‚ เชฎเซ‡เชŸเชพเชฎเซ‹เชฐเซเชซเซ‹เชธเชฟเชธ เชซเชฟเช—เชฎเชพเช‚ เชฌเชคเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡. 2.

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชตเชฟเช•เชธเชพเชตเชตเซ€

เชšเซ‹เช–เชพ. 2. เชฎเซ‡เช˜ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ.

เช—เซเชฐเชนเชฃ JKube

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เชฅเชตเชพเชฅเซ€ เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เช…เชจเซเชฏ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชธเซเชคเชฐ เช‰เชฎเซ‡เชฐเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช˜เชฃเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชคเซ‡เชจเชพเชฅเซ€ เชจเชฐเซเชตเชธ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เชคเซ‡เชฎเชจเชพ เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡-เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฒเซ‹เชœเชฟเช•-เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชฎเชพเชตเชตเซเช‚ เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡. เช…เชจเซ‡ เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชคเซ‡ เชฐเชฎเชคเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช—เซเชฐเชนเชฃ JKube, เชœเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ‡ เชคเซ‡เชฎเชจเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เช…เชจเซ‡ เชชเซเชฒเช—เชฟเชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ (JKube เช•เชฟเชŸ เชธเชพเชฅเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เชตเซ‡เชจ เชชเซเชฒเช—เช‡เชจ เช…เชฅเชตเชพ OpenShift Maven เชชเซเชฒเช—เช‡เชจ) เช†เช•เซƒเชคเชฟเชฎเชพเช‚ เช†เช•เซƒเชคเชฟเชจเซ‡ เช…เชจเซเชธเชฐเซ€เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเชธ-เชธเช‚เชฌเช‚เชงเชฟเชค เช•เชพเชฎเช—เซ€เชฐเซ€ เชธเชนเซ‡เชฒเชพเชˆเชฅเซ€ เช•เชฐเชตเชพ. 2.

เช† เชฒเซ‡เช–เชจเชพ เชฌเชพเช•เซ€เชจเชพ เชญเชพเช—เชฎเชพเช‚, เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชฌเชคเชพเชตเซ€เชถเซเช‚ เช•เซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เชตเซ‡เชจ เชชเซเชฒเช—เช‡เชจ เชธเชพเชฅเซ‡ Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช‚ Java เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเซ€.

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฒเชพเช‰เชก เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เชšเชพเชฒเซ‹ เช†เช•เซƒเชคเชฟ 2 เชฎเชพเช‚เชฅเซ€ เช•เซเชฒเชพเช‰เชก เชฎเชพเชŸเซ‡ เชฅเซ‹เชกเซ€ เชธเช‚เชถเซ‹เชงเชฟเชค เชœเชพเชตเชพ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชธเซเช•เซ€เชฎเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเช, เชคเซ‡เชฎเชพเช‚ Eclipse JKube เช…เชจเซ‡ Kubernetes Maven Plugin เชฐเชœเซ‚ เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‡เชฎ เช•เซ‡ เชซเชฟเช—เชฎเชพเช‚ เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ‡. 3.

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชตเชฟเช•เชธเชพเชตเชตเซ€

เชšเซ‹เช–เชพ. 3. Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฒเชพเช‰เชก เชฎเชพเชŸเซ‡ Java เชตเชฟเช•เชพเชธ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ.

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

เชŸเซ‡เชฌเชฒ 1. Eclipse JKube เชกเชฟเชซเซ‰เชฒเซเชŸ เช•เชพเชฐเซเชฏเซ‹.

เช‰เชฆเซเชฆเซ‡เชถ
เชธเซเชŸเซ‡เชœ
เชตเชฐเซเชฃเชจ

k8s:เชฌเชฟเชฒเซเชก
PRE_INTEGRATION_TEST
เชฌเชฟเชฒเซเชกเซ€เช‚เช— เชกเซ‹เช•เชฐ เช›เชฌเซ€เช“

k8s:เชชเซเชถ
เชธเซเชฅเชพเชชเชฟเชค
เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชกเซ‹เช•เชฐ เช›เชฌเซ€เช“ เช…เชชเชฒเซ‹เชก เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ€เช

k8s:เชธเช‚เชธเชพเชงเชจ
PROCESS_RESOURCES
K8s เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

k8s:เชฒเชพเช—เซ เช•เชฐเซ‹
เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเซ‹
K8s เชชเชฐ เชœเชจเชฐเซ‡เชŸเซ‡เชก เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชฒเชพเช—เซ เช•เชฐเชตเซเช‚

k8s: undeploy
เช…เชจเชกเซ‡เชชเซเชฒเซ‹เชฏ
K8s เชธเช‚เชธเชพเชงเชจเซ‹ เชฆเซ‚เชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชœเซ‡ k8s:apply เช…เชจเซ‡ k8s:deploy เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเชฎเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ

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

เชนเชตเซ‡ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ Eclipse JKube เช…เชจเซ‡ Kubernetes Maven Plugin เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชœเซ‹เชˆเช.

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชœเชฎเชพเชตเชตเซ€

เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เช†เชชเชฃเซ‡ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชเช• เชธเชฐเชณ Java เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชœเชฎเชพเชตเซ€เชถเซเช‚ เชฎเชฟเชจเซ€เช•เซเชฌเซ‡ Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡. Kubernetes Maven Plugin เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เช…เชฎเซ‡ เช•เซ‹เชˆเชชเชฃ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฒเช–เซเชฏเชพ เชตเชฟเชจเชพ เชœเชฎเชพเชตเชŸ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เชธเชฐเชณ เชฐเซ‡เชจเซเชกเชฎ เชจเช‚เชฌเชฐ เชœเชจเชฐเซ‡เชŸเชฐ, เชœเซ‡ /เชฐเซ‡เชจเซเชกเชฎ เชเชจเซเชกเชชเซ‹เช‡เชจเซเชŸ เชชเชฐ JSON เช†เช‰เชŸเชชเซเชŸ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ‡ เช›เซ‡:

~/work/repos/eclipse-jkube-demo-project : $ curl localhost:8080/random | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    45    0    45    0     0    818      0 --:--:-- --:--:-- --:--:--   818
{
  "id": "e80a4d10-c79b-4b9a-aaac-7c286cb37f3c"
}

เชชเช—เชฒเซเช‚ 1. Kubernetes Maven เชชเซเชฒเช—เช‡เชจ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹

เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เชตเซ‡เชจ เชชเซเชฒเช—เช‡เชจ เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช›เซ‡ เชฎเชพเชตเซ‡เชจ เชธเซ‡เชจเซเชŸเซเชฐเชฒ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€. Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพ pom.xml เชฎเชพเช‚ เชชเชฐเชพเชงเซ€เชจเชคเชพ เชคเชฐเซ€เช•เซ‡ Kubernetes Maven Plugin เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

<plugin>
     <groupId>org.eclipse.jkube</groupId>
     <artifactId>kubernetes-maven-plugin</artifactId>
     <version>${jkube.version}</version>
 </plugin>

เชœเซ‹ เชถเซเชฆเซเชง Kubernetes เชจเซ‡ เชฌเชฆเชฒเซ‡ OpenShift เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซ‹ เชชเช›เซ€ pom.xml เชจเซ‡ เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เชธเช‚เชถเซ‹เชงเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

<plugin>
     <groupId>org.eclipse.jkube</groupId>
     <artifactId>openshift-maven-plugin</artifactId>
     <version>${jkube.version}</version>
 </plugin>

เชชเช—เชฒเซเช‚ 2. เชกเซ‹เช•เชฐ เช‡เชฎเซ‡เชœ เชฌเชจเชพเชตเซ‹

เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ JAR เชซเชพเช‡เชฒ mvn เชชเซ‡เช•เซ‡เชœ เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ mvn เชฒเช•เซเชทเซเชฏ เช•เชพเชฐเซเชฏ k8s:buil เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ€ เชกเซ‹เช•เชฐ เชˆเชฎเซ‡เชœ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช…เชฎเซ‡ เช† เช—เซเชฃเชงเชฐเซเชฎ เชธเชพเชฅเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เช‡เชฎเซ‡เชœ เชจเชพเชฎเชจเซ‡ เช“เชตเชฐเชฐเชพเช‡เชก เช•เชฐเซเชฏเซเช‚ เช›เซ‡:

<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>

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

$ eval $(minikube docker-env)

เชชเช›เซ€ เช†เชชเชฃเซ‡ mvn k8s:build เช†เชฆเซ‡เชถ เชฆเชพเช–เชฒ เช•เชฐเซ€เช เช›เซ€เช, เช…เชจเซ‡ Eclipse JKube เชฌเชฟเชฒเซเชก เชŸเชพเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‹เช•เชฐ เชˆเชฎเซ‡เชœ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เช†เชชเชฃเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เช† เชœเซ‹เชˆเชถเซเช‚:

~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:build
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:build (default-cli) @ random-generator ---
[INFO] k8s: Running in Kubernetes mode
[INFO] k8s: Building Docker image in Kubernetes mode
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: [docker.io/rohankanojia/random-generator:0.0.1] "spring-boot": Created docker-build.tar in 251 milliseconds
[INFO] k8s: [docker.io/rohankanojia/random-generator:0.0.1] "spring-boot": Built image sha256:a20e5
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.053 s
[INFO] Finished at: 2020-08-10T11:28:23+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $

เชชเช—เชฒเซเช‚ 3. เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เช›เชฌเซ€ เช…เชชเชฒเซ‹เชก เช•เชฐเซ‹

เช…เชฎเซ‡ เชชเซเชถ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชธเชพเชฅเซ‡ เชกเซ‹เช•เชฐ เช‡เชฎเซ‡เชœ เชฌเชจเชพเชตเซ€ เชฒเซ€เชงเชพ เชชเช›เซ€ (เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชคเซ‡ docker.io เช›เซ‡), เช…เชฎเซ‡ เช† เช›เชฌเซ€เชจเซ‡ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ€เช เช›เซ€เช. เช…เชฎเซ‡ Eclipse JKube เชจเซ‡ mvn k8s:push push เช•เชพเชฐเซเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชนเซ€เช เชชเช›เซ€ เช† เชคเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ‡:

~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:push
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:push (default-cli) @ random-generator ---
[INFO] k8s: Running in Kubernetes mode
[INFO] k8s: Building Docker image in Kubernetes mode
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: The push refers to repository [docker.io/rohankanojia/random-generator]
5dcd9556710f: Layer already exists 
b7139ad07aa8: Layer already exists 
b6f081e4b2b6: Layer already exists 
d8e1f35641ac: Layer already exists 
[INFO] k8s: 0.0.1: digest: sha256:9f9eda2a13b8cab1d2c9e474248500145fc09e2922fe3735692f9bda4c76002d size: 1162
[INFO] k8s: Pushed docker.io/rohankanojia/random-generator:0.0.1 in 7 seconds 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  11.222 s
[INFO] Finished at: 2020-08-10T11:35:37+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ 

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

Eclipse JKube เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเชพเชŸเซ‡ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชตเชฟเช•เชธเชพเชตเชตเซ€

เชšเซ‹เช–เชพ. 4. เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเซ€ เช›เชฌเซ€ เชกเซ‹เช•เชฐ เชนเชฌเชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

เชชเช—เชฒเซเช‚ 4. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฐเชฟเชธเซ‹เชฐเซเชธ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‹

เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช›เชฌเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ€ เช›เซ‡, เชนเชตเซ‡ เช†เชชเชฃเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเซเชธ เชฒเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, Eclipse JKube เชชเชพเชธเซ‡ เชเช• เช•เชพเชฐเซเชฏ เช›เซ‡ เชœเซ‡ เช…เช‚เชคเชฐเซเช—เชค เชœเชพเชตเชพ เชซเซเชฐเซ‡เชฎเชตเชฐเซเช• (เชตเชธเช‚เชค เชฌเซ‚เชŸ, เช•เซเชตเชพเชฐเซเช•เชธ, Vert.x เช…เชฅเชตเชพ เช…เชฎเซเช• เช…เชจเซเชฏ). เชคเชฎเซ‡ XML เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชซเซ‹เชฒเซเชกเชฐ src/main/jkube เชฎเชพเช‚ เช•เชพเชšเชพ เชŸเซเช•เชกเชพเช“ (เชœเชฐเซ‚เชฐเซ€ เชธเช‚เชธเชพเชงเชจ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเชพ เชŸเซเช•เชกเชพเช“) เชฎเซ‚เช•เซ€เชจเซ‡ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเชฎเชพเชฐเซ€ เช—เซ‹เช เชตเชฃเซ€ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒเชพ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชชเชฐ เช…เชชเชฒเซ‹เชก เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

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

<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>

เช…เชฎเซ‡ Eclipse JKube เชจเซ‡ mvn k8s:resource เชธเช‚เชธเชพเชงเชจ เช•เชพเชฐเซเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เช›เซเชฏเชพ เชชเช›เซ€ เชธเซเช•เซเชฐเซ€เชจ เช†เช‰เชŸเชชเซเชŸ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:resource
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator ---
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: jkube-controller: Adding a default Deployment
[INFO] k8s: jkube-service: Adding a default service 'random-generator' with ports [8080]
[INFO] k8s: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 10 seconds
[INFO] k8s: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 180 seconds
[INFO] k8s: jkube-revision-history: Adding revision history limit to 2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.344 s
[INFO] Finished at: 2020-08-10T11:38:11+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ ls target/classes/META-INF/jkube/kubernetes
random-generator-deployment.yml  random-generator-service.yml
~/work/repos/eclipse-jkube-demo-project : $ cat target/classes/META-INF/jkube/kubernetes/random-generator-deployment.yml | head -n10
---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    jkube.io/git-url: [email protected]:rohanKanojia/eclipse-jkube-demo-project.git
    jkube.io/git-commit: 1ef9ef2ef7a6fcbf8eb64c293f26f9c42d026512
    jkube.io/git-branch: master
    jkube.io/scm-url: https://github.com/spring-projects/spring-boot/spring-boot-starter-parent/random-generator
    jkube.io/scm-tag: HEAD
~/work/repos/eclipse-jkube-demo-project : $

เชชเช—เชฒเซเช‚ 5. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เช—เซ‹เช เชตเซ‹

เชนเชตเซ‡ เช…เชฎเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ€เช: เช…เชฎเซ‡ เชคเซ‡เชจเซ€ เช›เชฌเซ€ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เช†เชชเชฎเซ‡เชณเซ‡ เชธเช‚เชธเชพเชงเชจ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชนเชตเซ‡ เช† เชฌเชงเซเช‚ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซเช‚ เชฌเชพเช•เซ€ เช›เซ‡. เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡, เช…เชฒเชฌเชคเซเชค, kubectl apply -f เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชชเซเชฒเช—เช‡เชจ เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช† เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชฎเซ‡ Eclipse JKube เชจเซ‡ mvn k8s:apply apply task เชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชนเซ€เชถเซเช‚ เชคเซ‡ เชชเช›เซ€ เช† เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชฆเซ‡เช–เชพเชถเซ‡:

~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:apply
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:apply (default-cli) @ random-generator ---
[INFO] k8s: Using Kubernetes at https://192.168.39.145:8443/ in namespace default with manifest /home/rohaan/work/repos/eclipse-jkube-demo-project/target/classes/META-INF/jkube/kubernetes.yml 
[INFO] k8s: Using namespace: default
[INFO] k8s: Creating a Service from kubernetes.yml namespace default name random-generator
[INFO] k8s: Created Service: target/jkube/applyJson/default/service-random-generator.json
[INFO] k8s: Creating a Deployment from kubernetes.yml namespace default name random-generator
[INFO] k8s: Created Deployment: target/jkube/applyJson/default/deployment-random-generator.json
[INFO] k8s: HINT: Use the command `kubectl get pods -w` to watch your pods start up
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.306 s
[INFO] Finished at: 2020-08-10T11:40:57+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ kubectl get pods -w
NAME                                                     READY   STATUS             RESTARTS   AGE
random-generator-58b7847d7f-9m9df                        0/1     Running            0          7s
random-generator-58b7847d7f-9m9df                        1/1     Running            0          17s
^C~/work/repos/eclipse-jkube-demo-project : $ kubectl get svc
NAME                                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)           AGE
io-openliberty-sample-getting-started   NodePort    10.110.4.104    <none>        9080:30570/TCP    44h
kubernetes                              ClusterIP   10.96.0.1       <none>        443/TCP           18d
random-generator                        NodePort    10.97.172.147   <none>        8080:32186/TCP    22s
~/work/repos/eclipse-jkube-demo-project : $ curl `minikube ip`:32186/random | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    45    0    45    0     0   1800      0 --:--:-- --:--:-- --:--:--  1875
{
  "id": "42e5571f-a20f-44b3-8184-370356581d10"
}

เชชเช—เชฒเซเช‚ 6. เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚เชฅเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซ‡ เช…เชจเชกเชฟเชชเซเชฒเซ‹เชฏ เช•เชฐเซ‹

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

~/work/repos/eclipse-jkube-demo-project : $ kubectl get all
NAME                                    READY   STATUS    RESTARTS   AGE
pod/random-generator-58b7847d7f-9m9df   1/1     Running   0          5m21s

NAME                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/kubernetes         ClusterIP   10.96.0.1       <none>        443/TCP          18d
service/random-generator   NodePort    10.97.172.147   <none>        8080:32186/TCP   5m21s

NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/random-generator   1/1     1            1           5m21s

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/random-generator-58b7847d7f   1         1         1       5m21s
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:undeploy
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:undeploy (default-cli) @ random-generator ---
[INFO] k8s: Using Kubernetes at https://192.168.39.145:8443/ in namespace default with manifest /home/rohaan/work/repos/eclipse-jkube-demo-project/target/classes/META-INF/jkube/kubernetes.yml 
[INFO] k8s: Using namespace: default
[INFO] k8s: Deleting resource Deployment default/random-generator
[INFO] k8s: Deleting resource Service default/random-generator
[INFO] k8s: HINT: Use the command `kubectl get pods -w` to watch your pods start up
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.412 s
[INFO] Finished at: 2020-08-10T11:46:22+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ kubectl get pods -w
^C~/work/repos/eclipse-jkube-demo-project : $ kubectl get all
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   18d
~/work/repos/eclipse-jkube-demo-project : $

เชคเชฎเซ‡ Eclipse JKube เชธเชพเชฅเซ‡ เชฌเซ€เชœเซเช‚ เชถเซเช‚ เช•เชฐเซ€ เชถเช•เซ‹

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

<plugin>
     <groupId>org.eclipse.jkube</groupId>
     <artifactId>kubernetes-maven-plugin</artifactId>
     <version>${project.version}</version>
     <executions>
         <execution>
             <goals>
                  <goal>build</goal>
                  <goal>resource</goal>
                  <goal>apply</goal>
             </goals>
         </execution>
     </executions>
</plugin>

เชเชตเซเช‚ เช•เชนเซ‡เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เช•เซ‡ เช† เชฒเซ‡เช–เชฎเชพเช‚ เช…เชฎเซ‡ Eclipse JKube เช…เชจเซ‡ Kubernetes Maven Plugin เชฎเชพเช‚ เชฐเชนเซ‡เชฒเชพ เชคเชฎเชพเชฎ เชฒเช•เซเชทเซเชฏ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เช•เซ‹เชทเซเชŸเช• 2 เชฎเชพเช‚ เชตเชงเชพเชฐเชพเชจเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เช‰เชชเชฏเซ‹เช—เซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เชŸเซ‡เชฌเชฒ 2. เชตเชงเชพเชฐเชพเชจเชพ Eclipse JKube เชงเซเชฏเซ‡เชฏ เช•เชพเชฐเซเชฏเซ‹.

เช‰เชฆเซเชฆเซ‡เชถ
เชธเซเชŸเซ‡เชœ
เชตเชฐเซเชฃเชจ

k8s:log
เชฎเชพเชจเซเชฏ
เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชšเชพเชฒเชคเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚เชฅเซ€ เชฒเซ‹เช—เซเชธ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‡.

k8s:เชกเชฟเชฌเช—
เชชเซ‡เช•เซ‡เชœ
เชกเซ€เชฌเช— เชชเซ‹เชฐเซเชŸ เช–เซ‹เชฒเซ‹ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ IDE เชฅเซ€ เชธเซ€เชงเชพ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชšเชพเชฒเชคเซ€ เชคเชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเซ€ เชถเช•เซ‹.

k8s: เชœเชฎเชพเชตเชŸ เช•เชฐเซ‹
เชธเซเชฅเชพเชชเชฟเชค
เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡ เชซเซ‹เชฐเซเช• เชฌเชจเชพเชตเชตเซ‹ เช…เชจเซ‡ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒเชพ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเชฎเชพเช‚ เชเชชเซเชฒเชพเชฏ เชŸเชพเชธเซเช•เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเชตเซเช‚.

k8s: เช˜เชกเชฟเชฏเชพเชณ
เชชเซ‡เช•เซ‡เชœ
เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชคเซ‡เชจเชพ เชจเซ‡เชฎเชธเซเชชเซ‡เชธเชจเซ‡ เชŸเซเชฐเซ‡เช• เช•เชฐเซ€เชจเซ‡ เช“เชŸเซ‹เชฎเซ‡เชŸเชฟเช• เชนเซ‹เชŸ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸ.

OpenShift Maven เชชเซเชฒเช—เช‡เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Red Hat OpenShift เชชเชฐ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชœเชฎเชพเชตเชตเซ€

เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚เชฅเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ Red Hat OpenShift เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เชœเชฎเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชชเซเชฒเช—เช‡เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช OpenShift Maven. เชฎเชพเชคเซเชฐ เชเชŸเชฒเซ‹ เชœ เชคเชซเชพเชตเชค เชนเชถเซ‡ เช•เซ‡ เช•เชพเชฐเซเชฏ เช‰เชชเชธเชฐเซเช— k8s เชฅเซ€ oc เชฎเชพเช‚ เชฌเชฆเชฒเชพเชถเซ‡. เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชฎเซ‡เชตเซ‡เชจ เชชเซเชฒเช—เช‡เชจ เช•เชฐเซ‡ เช›เซ‡ เช—เซ‹เชฆเซ€-เชเชธเซ‡เชฎเซเชฌเชฒเซ€เช, เช…เชจเซ‡ เช“เชชเชจเชถเชฟเชซเซเชŸ เชฎเซ‡เชตเชจ เชชเซเชฒเช—เชˆเชจ - เชเชธเซ‡เชฎเซเชฌเชฒเซ€เช S2I. เช…เชฎเซ‡ jkube.generator.name เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชธเชฟเชตเชพเชฏ เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เช•เซ‹เชˆ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชฆเชฌเชพเชฃ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ (OpenShift เชฌเชฟเชฒเซเชก เชคเชฌเช•เซเช•เชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชคเซ‡เชจเซ€ เช†เช‚เชคเชฐเชฟเช• เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เช›เชฌเซ€ เชฎเซ‚เช•เซ‡ เช›เซ‡). เช…เชจเซ‡ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เช…เชฎเชพเชฐเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชšเชฒเชพเชตเซ€เช เช›เซ€เช เชคเซเชฏเชพเชฐเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เช† เชคเซ‡ เชฆเซ‡เช–เชพเชถเซ‡, เชœเซ‡เชฎเชพเช‚, เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เช†เชชเชฃเซ‡ เชเช• เชธเชฎเชฏเซ‡ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชเช• เชœ เชธเชฎเชฏเซ‡ เชคเชฎเชพเชฎ เชฒเช•เซเชทเซเชฏ เช•เชพเชฐเซเชฏเซ‹ เช•เชฐเซ€เช เช›เซ€เช:

~/work/repos/eclipse-jkube-demo-project : $ mvn oc:build oc:resource oc:apply
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- openshift-maven-plugin:1.0.0-rc-1:build (default-cli) @ random-generator ---
[INFO] oc: Using OpenShift build with strategy S2I
[INFO] oc: Running in OpenShift mode
[INFO] oc: Running generator spring-boot
[INFO] oc: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] oc: [random-generator:0.0.1] "spring-boot": Created docker source tar /home/rohaan/work/repos/eclipse-jkube-demo-project/target/docker/random-generator/0.0.1/tmp/docker-build.tar
[INFO] oc: Adding to Secret pullsecret-jkube
[INFO] oc: Using Secret pullsecret-jkube
[INFO] oc: Creating BuildServiceConfig random-generator-s2i for Source build
[INFO] oc: Creating ImageStream random-generator
[INFO] oc: Starting Build random-generator-s2i
[INFO] oc: Waiting for build random-generator-s2i-1 to complete...
[INFO] oc: Caching blobs under "/var/cache/blobs".
[INFO] oc: Getting image source signatures
[INFO] oc: Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad
[INFO] oc: Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a
[INFO] oc: Copying blob sha256:f320f94d91a064281f5127d5f49954b481062c7d56cce3b09910e471cf849050
[INFO] oc: Copying config sha256:52d6788fcfdd39595264d34a3959464a5dabc1d4ef0ae188802b20fc2d6a857b
[INFO] oc: Writing manifest to image destination
[INFO] oc: Storing signatures
[INFO] oc: Generating dockerfile with builder image quay.io/jkube/jkube-java-binary-s2i:0.0.7
[INFO] oc: STEP 1: FROM quay.io/jkube/jkube-java-binary-s2i:0.0.7
[INFO] oc: STEP 2: LABEL "io.openshift.build.source-location"="/tmp/build/inputs"       "io.openshift.build.image"="quay.io/jkube/jkube-java-binary-s2i:0.0.7"
[INFO] oc: STEP 3: ENV JAVA_APP_DIR="/deployments"     OPENSHIFT_BUILD_NAME="random-generator-s2i-1"     OPENSHIFT_BUILD_NAMESPACE="default"
[INFO] oc: STEP 4: USER root
[INFO] oc: STEP 5: COPY upload/src /tmp/src
[INFO] oc: STEP 6: RUN chown -R 1000:0 /tmp/src
[INFO] oc: STEP 7: USER 1000
[INFO] oc: STEP 8: RUN /usr/local/s2i/assemble
[INFO] oc: INFO S2I source build with plain binaries detected
[INFO] oc: INFO S2I binary build from fabric8-maven-plugin detected
[INFO] oc: INFO Copying binaries from /tmp/src/deployments to /deployments ...
[INFO] oc: random-generator-0.0.1.jar
[INFO] oc: INFO Copying deployments from deployments to /deployments...
[INFO] oc: '/tmp/src/deployments/random-generator-0.0.1.jar' -> '/deployments/random-generator-0.0.1.jar'
[INFO] oc: STEP 9: CMD /usr/local/s2i/run
[INFO] oc: STEP 10: COMMIT temp.builder.openshift.io/default/random-generator-s2i-1:48795e41
[INFO] oc: time="2020-08-10T06:37:49Z" level=info msg="Image operating system mismatch: image uses "", expecting "linux""
[INFO] oc: time="2020-08-10T06:37:49Z" level=info msg="Image architecture mismatch: image uses "", expecting "amd64""
[INFO] oc: Getting image source signatures
[INFO] oc: Copying blob sha256:d8e1f35641acb80b562f70cf49911341dfbe8c86f4d522b18efbf3732aa74223
[INFO] oc: Copying blob sha256:b6f081e4b2b6de8be4b1dec132043d14c121e968384dd624fb69c2c07b482edb
[INFO] oc: Copying blob sha256:b7139ad07aa8ce4ed5a132f7c5cc9f1de0f5099b5e155027a23d57f7fbe78b16
[INFO] oc: Copying blob sha256:98972fc90a1108315cc5b05b2c691a0849a149727a7b81e76bc847ac2c6d9714
[INFO] oc: Copying config sha256:27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230
[INFO] oc: Writing manifest to image destination
[INFO] oc: Storing signatures
[INFO] oc: --> 27aaadaf28e
[INFO] oc: 27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230
[INFO] oc: Getting image source signatures
[INFO] oc: 
[INFO] oc: Pushing image image-registry.openshift-image-registry.svc:5000/default/random-generator:0.0.1 ...
[INFO] oc: Copying blob sha256:f320f94d91a064281f5127d5f49954b481062c7d56cce3b09910e471cf849050
[INFO] oc: Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad
[INFO] oc: Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a
[INFO] oc: Copying blob sha256:98972fc90a1108315cc5b05b2c691a0849a149727a7b81e76bc847ac2c6d9714
[INFO] oc: Copying config sha256:27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230
[INFO] oc: Writing manifest to image destination
[INFO] oc: Storing signatures
[INFO] oc: Successfully pushed image-registry.openshift-image-registry.svc:5000/default/random-generator@sha256:aa9e1a380c04ef9174ba56459c13d44420ebe653ebf32884d60fe4306b17306d
[INFO] oc: Push successful
[INFO] oc: Build random-generator-s2i-1 in status Complete
[INFO] oc: Found tag on ImageStream random-generator tag: sha256:aa9e1a380c04ef9174ba56459c13d44420ebe653ebf32884d60fe4306b17306d
[INFO] oc: ImageStream random-generator written to /home/rohaan/work/repos/eclipse-jkube-demo-project/target/random-generator-is.yml
[INFO] 
[INFO] --- openshift-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator ---
[INFO] oc: Using docker image name of namespace: default
[INFO] oc: Running generator spring-boot
[INFO] oc: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] oc: jkube-controller: Adding a default DeploymentConfig
[INFO] oc: jkube-service: Adding a default service 'random-generator' with ports [8080]
[INFO] oc: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 10 seconds
[INFO] oc: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 180 seconds
[INFO] oc: jkube-revision-history: Adding revision history limit to 2
[INFO] 
[INFO] --- openshift-maven-plugin:1.0.0-rc-1:apply (default-cli) @ random-generator ---
[INFO] oc: Using OpenShift at https://api.crc.testing:6443/ in namespace default with manifest /home/rohaan/work/repos/eclipse-jkube-demo-project/target/classes/META-INF/jkube/openshift.yml 
[INFO] oc: OpenShift platform detected
[INFO] oc: Using project: default
[INFO] oc: Creating a Service from openshift.yml namespace default name random-generator
[INFO] oc: Created Service: target/jkube/applyJson/default/service-random-generator.json
[INFO] oc: Creating a DeploymentConfig from openshift.yml namespace default name random-generator
[INFO] oc: Created DeploymentConfig: target/jkube/applyJson/default/deploymentconfig-random-generator.json
[INFO] oc: Creating Route default:random-generator host: null
[INFO] oc: HINT: Use the command `oc get pods -w` to watch your pods start up
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:07 min
[INFO] Finished at: 2020-08-10T12:08:00+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ oc get pods -w
NAME                           READY     STATUS      RESTARTS   AGE
random-generator-1-deploy      1/1       Running     0          14s
random-generator-1-vnrm9       0/1       Running     0          11s
random-generator-s2i-1-build   0/1       Completed   0          1m
random-generator-1-vnrm9   1/1       Running   0         24s
random-generator-1-deploy   0/1       Completed   0         28s
~/work/repos/eclipse-jkube-demo-project : $ oc get routes
NAME                HOST/PORT                                    PATH      SERVICES            PORT      TERMINATION   WILDCARD
random-generator    random-generator-default.apps-crc.testing              random-generator    8080                    None
~/work/repos/eclipse-jkube-demo-project : $ curl random-generator-default.apps-crc.testing/random 
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100    45    0    45    0     0   1666      0 --:--:-- --:--:-- --:--:--  1730
{
"id": "d80052d9-2f92-43cb-b9eb-d7cffb879798"
}
~/work/repos/eclipse-jkube-demo-project : $

เชตเชฟเชกเชฟเช“ เชชเชพเช 

Eclipse JKube เชธเชพเชฅเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชพเชฃเชตเชพ เชฎเชพเชŸเซ‡, Minikube เชชเชฐ เชเช• เชธเชฐเชณ เชธเซเชชเซเชฐเชฟเช‚เช— เชฌเซ‚เชŸ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชเชกเชชเชฅเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชฎเชพเชตเชตเซ€ เชคเซ‡ เชตเชฟเชถเซ‡ เช† เชตเชฟเชกเชฟเช“ เชŸเซเชฏเซเชŸเซ‹เชฐเชฟเชฏเชฒ เชœเซเช“:

เชจเชฟเชทเซเช•เชฐเซเชท

เช† เชฒเซ‡เช–เชฎเชพเช‚, เช…เชฎเซ‡ เชฌเชคเชพเชตเซเชฏเซเช‚ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ Eclipse JKube เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ Java เชกเซ‡เชตเชฒเชชเชฐ เชฎเชพเชŸเซ‡ เชœเซ€เชตเชจ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. Eclipse JKube เชชเชฐ เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เช…เชนเซ€เช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชตเซ‡เชฌเชธเชพเช‡เชŸ เช…เชจเซ‡ เชชเชฐ GitHub.

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

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