Kubernetes เชชเชฐ Camunda BPM เชšเชฒเชพเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

Kubernetes เชชเชฐ Camunda BPM เชšเชฒเชพเชตเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡

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

เชคเซ‡ เชงเชพเชฐเซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพ Kubernetes เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡. เชœเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เชถเชพ เชฎเชพเชŸเซ‡ เชเช• เชจเชœเชฐ เชจเชพเช–เซ‹ เชจเซ‡เชคเซƒเชคเซเชต เช…เชจเซ‡ เชคเชฎเชพเชฐเซเช‚ เชชเซเชฐเชฅเชฎ เช•เซเชฒเชธเซเชŸเชฐ เชถเชฐเซ‚ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚?

เชฒเซ‡เช–เช•เซ‹

  • เชเชฒเชฟเชธเซเชŸเชฐ เชซเชฐเซเชฅ (เชเชฒเชฟเชธเซเชŸเชฐ เชซเชฐเซเชฅ) - เช•เซ‡เชฎเซเช‚เชกเชพ เช•เซเชฒเชพเช‰เชก เชŸเซ€เชฎ เชชเชฐ เชตเชฐเชฟเชทเซเช  เชธเชพเช‡เชŸ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏเชคเชพ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ;
  • เชฒเชพเชฐเซเชธ เชฒเซ‡เช‚เช—เซ‡ (เชฒเชพเชฐเซเชธ เชฒเซ‡เช‚เช—เซ‡) - เช•เชฎเซเช‚เชกเชพ เช–เชพเชคเซ‡ เชกเซ‡เชตเช“เชชเซเชธ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ.

เชŸเซ‚เช‚เช• เชฎเชพเช‚:

git clone https://github.com/camunda-cloud/camunda-examples.git
cd camunda-examples/camunda-bpm-demo
make skaffold

เช เซ€เช• เช›เซ‡, เชคเซ‡ เช•เชฆเชพเชš เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชธเซเช•เชพเชซเซ‹เชฒเซเชก เช…เชจเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชจเชฅเซ€. เชธเชพเชฐเซเช‚ เชชเช›เซ€ เชตเชพเช‚เชšเซ‹!

เช•เซ‡เชฎเชจเซเชกเชพ เชฌเซ€เชชเซ€เชเชฎ เชถเซเช‚ เช›เซ‡

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

เชถเชพ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹

เชฒเชฟเชจเช•เซเชธ เชชเชฐ เช†เชงเซเชจเชฟเช• เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเซ‹ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชกเซ€ เชซเซ‡เช•เซเชŸเซ‹ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก เชฌเชจเซ€ เช—เชฏเซเช‚ เช›เซ‡. เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช‡เชฎเซเชฏเซเชฒเซ‡เชถเชจเชจเซ‡ เชฌเชฆเชฒเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชจเซ‡ เช•เชฐเซเชจเชฒเชจเซ€ เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เชŸเชพเชธเซเช• เชธเซเชตเชฟเชšเชฟเช‚เช—เชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ, เชฌเซ‚เชŸ เชธเชฎเชฏ เช…เชจเซ‡ เชธเซเชŸเชพเชฐเซเชŸเช…เชช เชธเชฎเชฏเชจเซ‡ เชจเซเชฏเซ‚เชจเชคเชฎ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชธเซŒเชฅเซ€ เชฎเซ‹เชŸเซ‹ เชซเชพเชฏเชฆเซ‹ เช เชธเซเชŸเชพเชจเซเชกเชฐเซเชก API เชฅเซ€ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชคเชฎเชพเชฎ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡: เชธเซเชŸเซ‹เชฐเซ‡เชœ, เชจเซ‡เชŸเชตเชฐเซเช•เชฟเช‚เช— เช…เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐเชฟเช‚เช—. เชคเซ‡ เชœเซ‚เชจ 2020 เชฎเชพเช‚ 6 เชตเชฐเซเชทเชจเซ‹ เชฅเชฏเซ‹ เช…เชจเซ‡ เช•เชฆเชพเชš เชคเซ‡ เชฌเซ€เชœเชพ เชธเซŒเชฅเซ€ เชฎเซ‹เชŸเชพ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ (เชฒเชฟเชจเช•เซเชธ เชชเช›เซ€) เช›เซ‡. เชคเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เช›เซ‡เชฒเซเชฒเชพ เช•เซ‡เชŸเชฒเชพเช• เชตเชฐเซเชทเซ‹เชฎเชพเช‚ เชเชกเชชเซ€ เชชเซเชจเชฐเชพเชตเซƒเชคเซเชคเชฟ เชชเช›เซ€ เชคเซ‡เชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เชธเซเชฅเชฟเชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชตเชฟเชถเซเชตเชญเชฐเชฎเชพเช‚ เช‰เชคเซเชชเชพเชฆเชจ เชตเชฐเซเช•เชฒเซ‹เชก เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฌเชจเซ€ เช—เชฏเซเช‚ เช›เซ‡.

Camunda BPM เชเช‚เชœเซ€เชจ เช เชœ เช•เซเชฒเชธเซเชŸเชฐ เชชเชฐ เชšเชพเชฒเชคเซ€ เช…เชจเซเชฏ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชธเชพเชฅเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เช•เชจเซ‡เช•เซเชŸ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เช…เชจเซ‡ Kubernetes เช‰เชคเซเชคเชฎ เชฎเชพเชชเชจเซ€เชฏเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช–เชฐเซ‡เช–เชฐ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชœ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เช–เชฐเซเชšเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ (เช…เชจเซ‡ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เชฎเซเชœเชฌ เชคเซ‡เชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‡ เช›เซ‡).

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

เช‰เชฆเซเชฆเซ‡เชถเซ‹

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

  1. เชฒเซ‹เช— เช…เชจเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ;
  2. เชกเซ‡เชŸเชพเชฌเซ‡เช เชœเซ‹เชกเชพเชฃเซ‹;
  3. เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ;
  4. เชธเชคเซเชฐ เชธเช‚เชšเชพเชฒเชจ.

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

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

เชตเชฐเซเช•เชซเซเชฒเซ‹ เชตเชฟเช•เชพเชธ

เช† เชกเซ‡เชฎเซ‹เชฎเชพเช‚, เช…เชฎเซ‡ Google เช•เซเชฒเชพเช‰เชก เชฌเชฟเชฒเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‹เช•เชฐ เช›เชฌเซ€เช“ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ Skaffold เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚. เชคเซ‡ เชตเชฟเชตเชฟเชง เชธเชพเชงเชจเซ‹ (เชœเซ‡เชฎ เช•เซ‡ Kustomize เช…เชจเซ‡ Helm), CI เช…เชจเซ‡ เชฌเชฟเชฒเซเชก เชŸเซ‚เชฒเซเชธ เช…เชจเซ‡ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชชเซเชฐเชฆเชพเชคเชพเช“ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซ‹ เชธเชชเซ‹เชฐเซเชŸ เชงเชฐเชพเชตเซ‡ เช›เซ‡. เชซเชพเชˆเชฒ skaffold.yaml.tmpl เชชเซเชฐเซ‹เชกเช•เซเชถเชจ-เช—เซเชฐเซ‡เชก เช‡เชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เชฐเซ€เชค เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€เชจเซ‡ Google เช•เซเชฒเชพเช‰เชก เชฌเชฟเชฒเซเชก เช…เชจเซ‡ GKE เชฎเชพเชŸเซ‡ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเซ‡ เช›เซ‡.

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

Kubernetes เชฎเชพเช‚ yaml เชจเชฎเซ‚เชจเชพเช“ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชธเชฎเช—เซเชฐ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‡ เชซเซ‹เชฐเซเช• เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ yaml เช“เชตเชฐเชฒเซ‡เชจเซ‡ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ kustomize เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‡ เชคเชฎเชจเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ git pull --rebase เชตเชงเซ เชธเซเชงเชพเชฐเชพเช“ เชฎเชพเชŸเซ‡. เชนเชตเซ‡ เชคเซ‡ kubectl เชฎเชพเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เช†เชตเซ€ เชตเชธเซเชคเซเช“ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡.

เช…เชฎเซ‡ *.yaml.tmpl เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เชนเซ‹เชธเซเชŸเชจเชพเชฎ เช…เชจเซ‡ GCP เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช†เชˆเชกเซ€ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ envsubst เชจเซ‹ เชชเชฃ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช. เชคเชฎเซ‡ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡ makefile เช…เชฅเชตเชพ เชซเช•เซเชค เช†เช—เชณ เชšเชพเชฒเซ เชฐเชพเช–เซ‹.

เชชเซ‚เชฐเซเชตเชœเชฐเซ‚เชฐเซ€เชฏเชพเชคเซ‹

เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฐเซเช•เชซเซเชฒเซ‹

เชœเซ‹ เชคเชฎเซ‡ kustomize เช…เชฅเชตเชพ skaffold เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชจเชฅเซ€, เชคเซ‹ เชคเชฎเซ‡ เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเชˆ เชถเช•เซ‹ เช›เซ‹ generated-manifest.yaml เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชธเช‚เชฆเช—เซ€เชจเชพ เชตเชฐเซเช•เชซเซเชฒเซ‹ เชธเชพเชฅเซ‡ เช…เชจเซเช•เซ‚เชฒเชฟเชค เช•เชฐเซ‹.

เชฒเซ‰เช—เซเชธ เช…เชจเซ‡ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ

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

เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชจเชฟเชทเซเช•เชฐเซเชทเชฃ เชฎเซ‹เชกเซ‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ <service>/metrics, เช…เชจเซ‡ เช† เชฎเชพเชŸเซ‡ เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เช‰เชฎเซ‡เชฐเชตเชพ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡. เช•เชฎเชจเชธเซ€เชฌเซ‡, JMX เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ JVM เชฎเชพเช‚ เชถเซเชฐเซ‡เชทเซเช  เชฐเซ€เชคเซ‡ เชฒเซ‰เช— เชฅเชฏเซ‡เชฒ เช›เซ‡, เชคเซ‡เชฅเซ€ เชธเชพเช‡เชกเช•เชพเชฐ เช•เชจเซเชŸเซ‡เชจเชฐ เชเชŸเชฒเชพ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เชจเชฅเซ€. เชšเชพเชฒเซ‹ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เช jmx_exporter เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธเชฅเซ€ JVM เชธเซเชงเซ€เชจเซ‹ เช“เชชเชจ เชธเซ‹เชฐเซเชธ เช•เชจเซเชŸเซ‡เชจเชฐ เชˆเชฎเซ‡เชœเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เชœเซ‡ เชชเชพเชฅ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชถเซ‡ /metrics เชเช• เช…เชฒเช— เชฌเช‚เชฆเชฐ เชชเชฐ.

เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ Prometheus jmx_exporter เช‰เชฎเซ‡เชฐเซ‹

-- images/camunda-bpm/Dockerfile
FROM camunda/camunda-bpm-platform:tomcat-7.11.0

## Add prometheus exporter
RUN wget https://repo1.maven.org/maven2/io/prometheus/jmx/
jmx_prometheus_javaagent/0.11.0/jmx_prometheus_javaagent-0.11.0.jar -P lib/
#9404 is the reserved prometheus-jmx port
ENV CATALINA_OPTS -javaagent:lib/
jmx_prometheus_javaagent-0.11.0.jar=9404:/etc/config/prometheus-jmx.yaml

เชธเชพเชฐเซเช‚, เชคเซ‡ เชธเชฐเชณ เชนเชคเซเช‚. เชจเชฟเช•เชพเชธเช•เชพเชฐ เชŸเซ‹เชฎเช•เซ‡เชŸเชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ‡ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชถเซ‡ <svc>:9404/metrics

เชจเชฟเช•เชพเชธเช•เชพเชฐ เชธเซ‡เชŸเช…เชช

เชธเชšเซ‡เชค เชตเชพเชšเช•เชจเซ‡ เช†เชถเซเชšเชฐเซเชฏ เชฅเชถเซ‡ เช•เซ‡ เชคเซ‡ เช•เซเชฏเชพเช‚เชฅเซ€ เช†เชตเซเชฏเซเช‚ เช›เซ‡ prometheus-jmx.yaml? JVM เชฎเชพเช‚ เชšเชพเชฒเซ€ เชถเช•เซ‡ เชคเซ‡เชตเซ€ เช˜เชฃเซ€ เชœเซเชฆเซ€ เชœเซเชฆเซ€ เชตเชธเซเชคเซเช“ เช›เซ‡, เช…เชจเซ‡ เชŸเซ‹เชฎเช•เซ‡เชŸ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฎเชพเชคเซเชฐ เชเช• เช›เซ‡, เชคเซ‡เชฅเซ€ เชจเชฟเช•เชพเชธเช•เชพเชฐเชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชตเชงเชพเชฐเชพเชจเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชŸเซ‹เชฎเช•เซ‡เชŸ, เชตเชพเช‡เชฒเซเชกเชซเซเชฒเชพเชฏ, เช•เชพเชซเช•เชพ เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชตเชงเซ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เช…เชนเซ€เช‚. เช…เชฎเซ‡ tomcat เชคเชฐเซ€เช•เซ‡ เช‰เชฎเซ‡เชฐเซ€เชถเซเช‚ ConfigMap Kubernetes เชฎเชพเช‚ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎ เชคเชฐเซ€เช•เซ‡ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ‹.

เชชเซเชฐเชฅเชฎ, เช…เชฎเซ‡ เชจเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชจเซ‡ เช…เชฎเชพเชฐเชพ เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ/เช•เซ‹เชจเซเชซเชฟเช—เซเชฏเซเชฐเซ‡เชถเชจ/ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช

platform/config
โ””โ”€โ”€ prometheus-jmx.yaml

เชชเช›เซ€ เช…เชฎเซ‡ เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช ConfigMapGenerator ะฒ kustomization.yaml.tmpl:

-- platform/kustomization.yaml.tmpl
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
[...] configMapGenerator:
- name: config
files:
- config/prometheus-jmx.yaml

เช† เชฆเชฐเซ‡เช• เชคเชคเซเชต เช‰เชฎเซ‡เชฐเชถเซ‡ files[] ConfigMap เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชคเชคเซเชต เชคเชฐเซ€เช•เซ‡. ConfigMapGenerators เชฎเชนเชพเชจ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชกเซ‡เชŸเชพเชจเซ‡ เชนเซ‡เชถ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชœเซ‹ เชคเซ‡ เชฌเชฆเชฒเชพเชฏ เชคเซ‹ เชชเซ‹เชก เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพเชจเซ€ เชซเชฐเชœ เชชเชพเชกเซ‡ เช›เซ‡. เชคเซ‡เช“ เชกเชฟเชชเซเชฒเซ‹เชฏเชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซเช‚ เชชเซเชฐเชฎเชพเชฃ เชชเชฃ เช˜เชŸเชพเชกเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเซ‡ เชเช• VolumeMount เชฎเชพเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเชˆเชฒเซ‹เชจเซเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃ "เชซเซ‹เชฒเซเชกเชฐ" เชฎเชพเช‰เชจเซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เช›เซ‡เชฒเซเชฒเซ‡, เช†เชชเชฃเซ‡ เชชเซ‹เชก เชชเชฐ เชตเซ‹เชฒเซเชฏเซเชฎ เชคเชฐเซ€เช•เซ‡ ConfigMap เชจเซ‡ เชฎเชพเช‰เชจเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

-- platform/deployment.yaml
apiVersion: apps/v1
kind: Deployment
[...] spec:
template:
spec:
[...] volumes:
- name: config
configMap:
name: config
defaultMode: 0744
containers:
- name: camunda-bpm
volumeMounts:
- mountPath: /etc/config/
name: config
[...]

เช…เชฆเซเชญเซเชค. เชœเซ‹ เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเชซเชพเชˆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเชพเชฏเซ‡เชฒ เชจเชฅเซ€, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ เชถเซ€เช‚เช—เซ‹ เชธเชพเชซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชนเซ‡เชตเซเช‚ เชชเชกเชถเซ‡. เชชเซเชฐเซ‹เชฎเชฟเชฅเชฟเชฏเชธ เช“เชชเชฐเซ‡เชŸเชฐ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ service-monitor.yaml เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เช…เชจเซเชตเซ‡เชทเชฃ เช•เชฐเซ‹ Service-monitor.yaml, เช“เชชเชฐเซ‡เชŸเชฐ เชกเชฟเชเชพเช‡เชจ ะธ เชธเชฐเซเชตเชฟเชธ เชฎเซ‹เชจเชฟเชŸเชฐเชธเซเชชเซ‡เช• เชคเชฎเซ‡ เชถเชฐเซ‚ เช•เชฐเซ‹ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚.

เช† เชชเซ‡เชŸเชฐเซเชจเชจเซ‡ เช…เชจเซเชฏ เช‰เชชเชฏเซ‹เช—เชจเชพ เช•เชฟเชธเซเชธเชพเช“ เชธเซเชงเซ€ เชตเชฟเชธเซเชคเชฐเชฃ

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

เชธเชพเชฎเชฏเชฟเช•เซ‹

เชธเชฐเชธ เชธเชฎเชพเชšเชพเชฐ! เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฒเซ‹เช— เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ stdout เชชเชฐ เช‰เชชเชฒเชฌเซเชง เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ เชธเชพเชฅเซ‡ kubectl logs. Fluentd (GKE เชฎเชพเช‚ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซเช‚) เชคเชฎเชพเชฐเชพ เชฒเซ‹เช—เชจเซ‡ Elasticsearch, Loki เช…เชฅเชตเชพ เชคเชฎเชพเชฐเชพ เชเชจเซเชŸเชฐเชชเซเชฐเชพเช‡เช เชฒเซ‹เช—เชฟเช‚เช— เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ เชซเซ‹เชฐเชตเชฐเซเชก เช•เชฐเชถเซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฒเซ‹เช— เชฎเชพเชŸเซ‡ jsonify เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹เชต เชคเซ‹ เชคเชฎเซ‡ เช‰เชชเชฐเซ‹เช•เซเชค เชŸเซ‡เชฎเซเชชเชฒเซ‡เชŸเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชธเชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชฒเซ‹เช—เชฌเซ‡เช•.

เชกเซ‡เชŸเชพเชฌเซ‡เช

เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เช‡เชฎเซ‡เชœเชฎเชพเช‚ H2 เชกเซ‡เชŸเชพเชฌเซ‡เช เชนเชถเซ‡. เช† เช…เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€, เช…เชจเซ‡ เช…เชฎเซ‡ Cloud SQL เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเชพเชฅเซ‡ Google Cloud SQL เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚ - เช†เช‚เชคเชฐเชฟเช• เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช†เชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชชเชธเช‚เชฆเช—เซ€เช“ เชจ เชนเซ‹เชฏ เชคเซ‹ เช† เชเช• เชธเชฐเชณ เช…เชจเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชตเชฟเช•เชฒเซเชช เช›เซ‡. AWS RDS เชธเชฎเชพเชจ เชธเซ‡เชตเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡.

เชคเชฎเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชตเชฟเชจเชพ, เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเซ‡ H2 เชจ เชนเซ‹เชฏ, เชคเชฎเชพเชฐเซ‡ เชฏเซ‹เช—เซเชฏ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡ platform/deploy.yaml. เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช• เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

-- platform/deployment.yaml
apiVersion: apps/v1
kind: Deployment
[...] spec:
template:
spec:
[...] containers:
- name: camunda-bpm
env:
- name: DB_DRIVER
value: org.postgresql.Driver
- name: DB_URL
value: jdbc:postgresql://postgres-proxy.db:5432/process-engine
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: cambpm-db-credentials
key: db_username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: cambpm-db-credentials
key: db_password
[...]

เชจเซ‹เช‚เชงเชฃเซ€: เชคเชฎเซ‡ เช“เชตเชฐเชฒเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเชตเชฟเชง เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชœเชฎเชพเชตเชŸ เช•เชฐเชตเชพ Kustomize เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹: เช‰เชฆเชพเชนเชฐเชฃ.

เชจเซ‹เช‚เชงเชฃเซ€: เชตเชชเชฐเชพเชถ valueFrom: secretKeyRef. เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡, เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช† Kubernetes เชฒเช•เซเชทเชฃ เชตเชฟเช•เชพเชธ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเชฃ เชคเชฎเชพเชฐเชพ เชฐเชนเชธเซเชฏเซ‹เชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡.

เชธเช‚เชญเชต เช›เซ‡ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชธเชฟเช•เซเชฐเซ‡เชŸเซเชธเชจเซ‡ เชฎเซ‡เชจเซ‡เชœ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชชเชธเช‚เชฆเซ€เชฆเชพ เชธเชฟเชธเซเชŸเชฎ เช›เซ‡. เชœเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เช…เชนเซ€เช‚ เช•เซ‡เชŸเชฒเชพเช• เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡: เชคเซ‡เชฎเชจเซ‡ เชคเชฎเชพเชฐเชพ เช•เซเชฒเชพเช‰เชก เชชเซเชฐเชฆเชพเชคเชพเชจเชพ KMS เชธเชพเชฅเซ‡ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸ เช•เชฐเซ‹ เช…เชจเซ‡ เชชเช›เซ€ CD เชชเชพเช‡เชชเชฒเชพเช‡เชจ เชฆเซเชตเชพเชฐเชพ เชฐเชนเชธเซเชฏเซ‹ เชคเชฐเซ€เช•เซ‡ K8S เชฎเชพเช‚ เช‡เชจเซเชœเซ‡เช•เซเชŸ เช•เชฐเซ‹ - เชฎเซ‹เชเชฟเชฒเชพเชเชธเช“เชชเซ€เชเชธ - Kustomize เชฐเชนเชธเซเชฏเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชฏเซ‹เชœเชจเชฎเชพเช‚ เช–เซ‚เชฌ เชœ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชถเซ‡. เช…เชจเซเชฏ เชธเชพเชงเชจเซ‹ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ dotGPG, เชœเซ‡ เชธเชฎเชพเชจ เช•เชพเชฐเซเชฏเซ‹ เช•เชฐเซ‡ เช›เซ‡: เชนเชพเชถเซ€เช•เซ‹เชฐเซเชช เชตaultเชฒเซเชŸ, เชธเชฟเช•เซเชฐเซ‡เชŸ เชตเซ‡เชฒเซเชฏเซ เชชเซเชฒเช—เช‡เชจเซเชธ เช•เชธเซเชŸเชฎเชพเช‡เช เช•เชฐเซ‹.

เชชเซเชฐเชตเซ‡เชถ

เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเชฎเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชชเซ‹เชฐเซเชŸ เชซเซ‹เชฐเชตเชฐเซเชกเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เชจ เช•เชฐเซ‹ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€, เชคเชฎเชพเชฐเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช‡เชจเซเช—เซเชฐเซ‡เชธ เช•เช‚เชŸเซเชฐเซ‹เชฒเชฐเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชจเชฅเซ€ ingress-nginx (เชธเซเช•เชพเชจ เชšเชพเชฐเซเชŸ) เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ เชธเช‚เชญเชตเชคเชƒ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชœเชพเชฃเชคเชพ เชนเชถเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชœเชฐเซ‚เชฐเซ€ เชเชจเซ‹เชŸเซ‡เชถเชจเซเชธ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ ingress-patch.yaml.tmpl เช…เชฅเชตเชพ platform/ingress.yaml. เชœเซ‹ เชคเชฎเซ‡ ingress-nginx เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เชนเซ‹เชต เช…เชจเซ‡ เชฒเซ‹เชก เชฌเซ‡เชฒเซ‡เชจเซเชธเชฐ เชธเชพเชฅเซ‡เชจเซ‹ nginx เชชเซเชฐเชตเซ‡เชถ เชตเชฐเซเช— เช…เชจเซ‡ เชฌเชพเชนเซเชฏ DNS เช…เชฅเชตเชพ เชตเชพเช‡เชฒเซเชกเช•เชพเชฐเซเชก DNS เชเชจเซเชŸเซเชฐเซ€ เชœเซเช“, เชคเซ‹ เชคเชฎเซ‡ เชœเชตเชพ เชฎเชพเชŸเซ‡ เชธเชพเชฐเชพ เช›เซ‹. เชจเชนเชฟเช‚เชคเชฐ, เช‡เชจเซเช—เซเชฐเซ‡เชธ เช•เช‚เชŸเซเชฐเซ‹เชฒเชฐ เช…เชจเซ‡ DNS เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซ‹, เช…เชฅเชตเชพ เช† เชชเช—เชฒเชพเช‚เชจเซ‡ เช…เชตเช—เชฃเซ‹ เช…เชจเซ‡ เชชเซ‹เชก เชธเชพเชฅเซ‡ เชธเซ€เชงเซเช‚ เชœเซ‹เชกเชพเชฃ เชฐเชพเช–เซ‹.

TLS

เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ-เชตเซเชฏเชตเชธเซเชฅเชพเชชเช• เช…เชฅเชตเชพ kube-lego เช…เชจเซ‡ letsencrypt - เชจเชตเชพ เชฒเซ‹เช—เชฟเชจ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เช†เชชเชฎเซ‡เชณเซ‡ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡. เชจเชนเชฟเช‚เชคเชฐ, เช–เซ‹เชฒเซ‹ ingress-patch.yaml.tmpl เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชคเซ‡เชจเซ‡ เช•เชธเซเชŸเชฎเชพเช‡เช เช•เชฐเซ‹.

เชฒเซ‹เชจเซเชš เช•เชฐเซ‹!

เชœเซ‹ เชคเชฎเซ‡ เช‰เชชเชฐ เชฒเช–เซ‡เชฒเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เช…เชจเซเชธเชฐเซ‹ เช›เซ‹, เชคเซ‹ เชชเช›เซ€ เช†เชฆเซ‡เชถ make skaffold HOSTNAME=<you.example.com> เชฎเชพเช‚ เช‰เชชเชฒเชฌเซเชง เชฆเชพเช–เชฒเซ‹ เชถเชฐเซ‚ เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช <hostname>/camunda

เชœเซ‹ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซเช‚ เชฒเซ‰เช—เชฟเชจ เชธเชพเชฐเซเชตเชœเชจเชฟเช• URL เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ localhost: kubectl port-forward -n camunda-bpm-demo svc/camunda-bpm 8080:8080 เชชเชฐ localhost:8080/camunda

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

kubectl logs -n camunda-bpm-demo $(kubectl get pods -o=name -n camunda-bpm-demo) -f

เช†เช—เชพเชฎเซ€ เชชเช—เชฒเชพเช‚

เช…เชงเชฟเช•เซƒเชคเชคเชพ

เช† เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เชฐเชคเชพเช‚ Camunda BPM เชจเซ‡ โ€‹โ€‹เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เชธเซเชธเช‚เช—เชค เช›เซ‡, เชชเชฐเช‚เชคเซ เช เชจเซ‹เช‚เชงเชตเซเช‚ เช…เช—เชคเซเชฏเชจเซเช‚ เช›เซ‡ เช•เซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ REST API เชฎเชพเช‚ เช…เช•เซเชทเชฎ เช›เซ‡. เชคเชฎเซ‡ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชฎเซ‚เชณเชญเซ‚เชค เชชเซเชฐเชฎเชพเชฃเซ€เช•เชฐเชฃ เชธเช•เซเชทเชฎ เช•เชฐเซ‹ เช…เชฅเชตเชพ เช…เชจเซเชฏ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เชœเซ‡เชฎ เช•เซ‡ เชœเซ‡เชกเชฌเซเชฒเซเชฏเซเชŸเซ€. เชคเชฎเซ‡ xml เชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ configmaps เช…เชจเซ‡ เชตเซ‹เชฒเซเชฏเซเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชฅเชตเชพ xmlstarlet (เช‰เชชเชฐ เชœเซเช“) เชˆเชฎเซ‡เชœเชฎเชพเช‚ เชนเชพเชฒเชจเซ€ เชซเชพเชˆเชฒเซ‹เชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชจเซ‡ เช•เชพเช‚ เชคเซ‹ wget เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฅเชตเชพ init เช•เชจเซเชŸเซ‡เชจเชฐ เช…เชจเซ‡ เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เชตเซ‹เชฒเซเชฏเซเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชธเชคเซเชฐ เชธเช‚เชšเชพเชฒเชจ

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

wget http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/
2.3.2/memcached-session-manager-2.3.2.jar -P lib/ &&
wget http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc9/
2.3.2/memcached-session-manager-tc9-2.3.2.jar -P lib/ &&

sed -i '/^</Context>/i
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="redis://redis-proxy.db:22121"
sticky="false"
sessionBackupAsync="false"
storageKeyPrefix="context"
lockingMode="auto"
/>' conf/context.xml

เชจเซ‹เช‚เชงเชฃเซ€: เชคเชฎเซ‡ sed เชจเซ‡ เชฌเชฆเชฒเซ‡ xmlstarlet เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹

เช…เชฎเซ‡ เชตเชพเชชเชฐเซ€เช twemproxy Google เช•เซเชฒเชพเช‰เชก เชฎเซ‡เชฎเซ‹เชฐเซ€เชธเซเชŸเซ‹เชฐเชจเซ€ เชธเชพเชฎเซ‡, เชธเชพเชฅเซ‡ memcached-เชธเชคเซเชฐ-เชฎเซ‡เชจเซ‡เชœเชฐ (เชฐเซ‡เชกเซ€เชธเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡) เชคเซ‡เชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡.

เชธเซเช•เซ‡เชฒเชฟเช‚เช—

เชœเซ‹ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชธเชคเซเชฐเซ‹เชจเซ‡ เชธเชฎเชœเซ‹ เช›เซ‹, เชคเซ‹ เชชเช›เซ€ Camunda BPM เชจเซ‡ โ€‹โ€‹เชฎเชพเชชเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชชเซเชฐเชฅเชฎ (เช…เชจเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เช›เซ‡เชฒเซเชฒเซ€) เชฎเชฐเซเชฏเชพเชฆเชพ เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเชฅเซ‡เชจเซเช‚ เชœเซ‹เชกเชพเชฃ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช†เช‚เชถเชฟเช• เช•เชธเซเชŸเชฎเชพเช‡เชเซ‡เชถเชจ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ "เชฌเซ‹เช•เซเชธเชฎเชพเช‚เชฅเซ€" เชšเชพเชฒเซ‹ settings.xml เชซเชพเช‡เชฒเชฎเชพเช‚ intialSize เชจเซ‡ เชชเชฃ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เช•เชฐเซ€เช. เช‰เชฎเซ‡เชฐเซ‹ เชนเซ‹เชฐเชฟเชเซ‹เชจเซเชŸเชฒ เชชเซ‹เชก เช“เชŸเซ‹เชธเซเช•เซ‡เชฒเชฐ (HPA) เช…เชจเซ‡ เชคเชฎเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชชเซ‹เชกเซเชธเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชธเชฐเชณเชคเชพเชฅเซ€ เชฎเชพเชชเซ€ เชถเช•เซ‹ เช›เซ‹.

เชตเชฟเชจเช‚เชคเซ€เช“ เช…เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเซ‹

ะ’ platform/deployment.yaml เชคเชฎเซ‡ เชœเซ‹เชถเซ‹ เช•เซ‡ เช…เชฎเซ‡ เชฐเชฟเชธเซ‹เชฐเซเชธ เชซเชฟเชฒเซเชกเชจเซ‡ เชนเชพเชฐเซเชก-เช•เซ‹เชกเซ‡เชก เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เช† HPA เชธเชพเชฅเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเชงเชพเชฐเชพเชจเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ€ เชถเช•เซ‡ เช›เซ‡. เช•เชธเซเชŸเชฎเชพเช‡เช เชชเซ‡เชš เช† เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชธเซ‡เชฎเซ€. ingress-patch.yaml.tmpl ะธ ./kustomization.yaml.tmpl

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

เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ Prometheus เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ, เชฒเซ‹เช—เซเชธ, H2 เชกเซ‡เชŸเชพเชฌเซ‡เช, TLS เช…เชจเซ‡ Ingress เชธเชพเชฅเซ‡ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ Camunda BPM เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซเชฏเซเช‚. เช…เชฎเซ‡ ConfigMaps เช…เชจเซ‡ Dockerfile เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเชพเชฐ เชซเชพเช‡เชฒเซ‹ เช…เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเซ‹ เช‰เชฎเซ‡เชฐเซ€. เช…เชฎเซ‡ เชฐเชนเชธเซเชฏเซ‹เชฎเชพเช‚เชฅเซ€ เชตเซ‹เชฒเซเชฏเซเชฎเซ‹ เช…เชจเซ‡ เชธเซ€เชงเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹เชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ€ เช†เชชเชฒเซ‡ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€. เชตเชงเซเชฎเชพเช‚, เช…เชฎเซ‡ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟเช“ เช…เชจเซ‡ เชเช• เชชเซเชฐเชฎเชพเชฃเชฟเชค API เชฎเชพเชŸเซ‡ Camunda เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชเชพเช‚เช–เซ€ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ€ เช›เซ‡.

เชธเช‚เชฆเชฐเซเชญเซ‹

github.com/camunda-cloud/camunda-examples/camunda-bpm-kubernetes
โ”‚
โ”œโ”€โ”€ generated-manifest.yaml <- manifest for use without kustomize
โ”œโ”€โ”€ images
โ”‚ โ””โ”€โ”€ camunda-bpm
โ”‚ โ””โ”€โ”€ Dockerfile <- overlay docker image
โ”œโ”€โ”€ ingress-patch.yaml.tmpl <- site-specific ingress configuration
โ”œโ”€โ”€ kustomization.yaml.tmpl <- main Kustomization
โ”œโ”€โ”€ Makefile <- make targets
โ”œโ”€โ”€ namespace.yaml
โ”œโ”€โ”€ platform
โ”‚ โ”œโ”€โ”€ config
โ”‚ โ”‚ โ””โ”€โ”€ prometheus-jmx.yaml <- prometheus exporter config file
โ”‚ โ”œโ”€โ”€ deployment.yaml <- main deployment
โ”‚ โ”œโ”€โ”€ ingress.yaml
โ”‚ โ”œโ”€โ”€ kustomization.yaml <- "base" kustomization
โ”‚ โ”œโ”€โ”€ service-monitor.yaml <- example prometheus-operator config
โ”‚ โ””โ”€โ”€ service.yaml
โ””โ”€โ”€ skaffold.yaml.tmpl <- skaffold directives

05.08.2020/XNUMX/XNUMX, เช…เชจเซเชตเชพเชฆ เชฒเซ‡เช– เชเชฒเชฟเชธเซเชŸเชฐ เชซเชฐเซเชฅ, เชฒเชพเชฐเซเชธ เชฒเซ‡เช‚เช—

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

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