Kubernetes-เตฝ Camunda BPM เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต

Kubernetes-เตฝ Camunda BPM เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ Kubernetes เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? เดจเดฟเด™เตเด™เดณเตเดŸเต† Camunda BPM เด‡เตปเดธเตโ€Œเดฑเตเดฑเตปเดธเตเด•เตพ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต€เด•เตเด•เดพเตป เดคเดฏเตเดฏเดพเดฑเดพเดฃเต‹, เด…เดคเต‹ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเต‡เด•เตเด•เตเดฎเต‹? เดจเดฟเด™เตเด™เดณเตเดŸเต† เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดšเดฟเดฒ เดชเตŠเดคเตเดตเดพเดฏ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด•เดณเตเด‚ เดตเตเดฏเด•เตเดคเดฟเด—เดค เด‡เดจเด™เตเด™เดณเตเด‚ เดจเต‹เด•เตเด•เดพเด‚.

เดจเดฟเด™เตเด™เตพ เดฎเตเดฎเตเดชเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เด‡เดคเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดจเตเดจเต เดจเต‹เด•เตเด•เดฃเด‚ เดจเต‡เดคเตƒเดคเตเดตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดฆเตเดฏ เด•เตเดฒเดธเตเดฑเตเดฑเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต‡?

เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เตพ

เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ:

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

เดถเดฐเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเด•เดซเต‹เตพเดกเตเด‚ เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเตเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดคเตเดคเดคเดฟเดจเดพเตฝ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดฟเดฒเตเดฒ. เดŽเด™เตเด•เดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เต‚!

เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฎเตเดฃเตเดŸ เดฌเดฟเดชเดฟเดŽเด‚

เดฌเดฟเดธเดฟเดจเดธเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต†เดฏเตเด‚ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต†เดฏเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดฌเดฟเดธเดฟเดจเดธเต เดชเตเดฐเต‹เดธเดธเต เดฎเดพเดจเต‡เดœเตโ€Œเดฎเต†เดจเตเดฑเต เด†เตปเดกเต เดกเดฟเดธเดฟเดทเตป เด“เดŸเตเดŸเต‹เดฎเต‡เดทเตป เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดพเดฃเต เด•เดพเดฎเตเดฃเตเดŸ เดฌเดฟเดชเดฟเดŽเด‚. เด†เดณเตเด•เตพ, (เดฎเตˆเด•เตเดฐเต‹) เดธเต‡เดตเดจเด™เตเด™เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเต‹เดŸเตเดŸเตเด•เตพ เดชเต‹เดฒเตเด‚ เดเด•เต‹เดชเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด‡เดคเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต! เดตเตเดฏเดคเตเดฏเดธเตเดค เด‰เดชเดฏเต‹เด— เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚ เดฒเดฟเด™เตเด•เต.

เดŽเดจเตเดคเดฟเดจเดพเดฃเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต

เดฒเดฟเดจเด•เตเดธเดฟเตฝ เด†เดงเตเดจเดฟเด• เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฏเดฅเดพเตผเดคเตเดฅ เดฎเดพเดจเดฆเดฃเตเดกเดฎเดพเดฏเดฟ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดฎเดพเดฑเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดŽเดฎเตเดฒเต‡เดทเดจเตเดชเด•เดฐเด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเตเด‚ เดŸเดพเดธเตโ€Œเด•เต เดธเตเดตเดฟเดšเตเดšเดฟเด‚เด—เตเด‚ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด•เต‡เตผเดฃเดฒเดฟเดจเตเดฑเต† เด•เดดเดฟเดตเต, เดฌเต‚เดŸเตเดŸเต เดธเดฎเดฏเดตเตเด‚ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดตเตเด‚ เดชเดฐเดฎเดพเดตเดงเดฟ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดŽเดฒเตเดฒเดพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเตป Kubernetes เดจเตฝเด•เตเดจเตเดจ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต API-เตฝ เดจเดฟเดจเตเดจเดพเดฃเต เดเดฑเตเดฑเดตเตเด‚ เดตเดฒเดฟเดฏ เดจเต‡เดŸเตเดŸเด‚ เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจเดคเต: เดธเด‚เดญเดฐเดฃเด‚, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเด‚เด—เต, เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚. 2020 เดœเต‚เดฃเดฟเตฝ เด‡เดคเดฟเดจเต 6 เดตเดฏเดธเตเดธเต เดคเดฟเด•เดžเตเดžเต, เด‡เดคเต เด’เดฐเตเดชเด•เตเดทเต‡ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดตเดฒเดฟเดฏ เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดพเดฃเต (เดฒเดฟเดจเด•เตเดธเดฟเดจเต เดถเต‡เดทเด‚). เดฒเต‹เด•เดฎเต†เดฎเตเดชเดพเดŸเตเดฎเตเดณเตเดณ เด‰เตฝโ€Œเดชเดพเดฆเดจ เดœเต‹เดฒเดฟเดญเดพเดฐเดคเตเดคเดฟเดจเต เด‡เดคเต เดจเดฟเตผเดฃเดพเดฏเด•เดฎเดพเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ เด•เดดเดฟเดžเตเดž เด•เตเดฑเดšเตเดšเต เดตเตผเดทเด™เตเด™เดณเดพเดฏเดฟ เดฆเตเดฐเตเดคเด—เดคเดฟเดฏเดฟเดฒเตเดณเตเดณ เด†เดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เด‡เดคเต เด…เดŸเตเดคเตเดคเดฟเดŸเต† เด…เดคเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดธเดœเต€เดตเดฎเดพเดฏเดฟ เดธเตเดฅเดฟเดฐเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต.

Camunda BPM เดŽเดžเตเดšเดฟเดจเต เด’เดฐเต‡ เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดฎเดฑเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† Kubernetes เดฎเดฟเด•เดšเตเดš เดธเตเด•เต‡เดฒเดฌเดฟเดณเดฟเดฑเตเดฑเดฟ เดจเตฝเด•เตเดจเตเดจเต, เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเต‹เตพ เดฎเดพเดคเตเดฐเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเต—เด•เดฐเตเดฏ เดšเต†เดฒเดตเตเด•เตพ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต (เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เด…เดต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เด•เตเดฑเดฏเตเด•เตเด•เตเด•).

เด’เดฐเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดœเต‹เดฒเดฟเดญเดพเดฐเด™เตเด™เดณเตเด‚ เด•เต‡เดจเตเดฆเตเดฐเต€เด•เตƒเดคเดฎเดพเดฏเดฟ เด•เดพเดฃเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ Prometheus, Grafana, Loki, Fluentd, Elasticsearch เดคเตเดŸเด™เตเด™เดฟเดฏ เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐเดตเตเด‚ เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดœเดพเดต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ (เดœเต†เดตเดฟเดŽเด‚) เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเต เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เตผเดŸเตเดŸเตผ เดŽเด™เตเด™เดจเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเดฎเต†เดจเตเดจเต เด‡เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดจเต‹เด•เตเด•เดพเด‚.

เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ

Camunda BPM เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเต เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดšเดฟเดฒ เดฎเต‡เด–เดฒเด•เตพ เดจเต‹เด•เตเด•เดพเด‚ (เดธเดพเดฎเต‚เดนเดฟเด•เด‚) เด…เด™เตเด™เดจเต† เด…เดคเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเตเดฎเดพเดฏเดฟ เดจเดจเตเดจเดพเดฏเดฟ เด‡เดŸเดชเดดเด•เตเดจเตเดจเต.

  1. เดฐเต‡เด–เด•เดณเตเด‚ เด…เดณเดตเตเด•เดณเตเด‚;
  2. เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด•เดฃเด•เตเดทเดจเตเด•เตพ;
  3. เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเด‚;
  4. เดธเต†เดทเตป เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต.

เดˆ เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ เดจเต‡เดŸเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเตผเด—เด™เตเด™เตพ เดžเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด•เดฏเตเด‚ เดฎเตเดดเตเดตเตป เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด•เดพเดฃเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดฑเตผเดชเตเดฐเตˆเดธเต เดชเดคเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? เดจเต‹เด•เตเด•เต‚ เด‡เดตเดฟเดŸเต† เด†เดตเดถเตเดฏเดพเดจเตเดธเดฐเดฃเด‚ เด‡เดฎเต‡เดœเต เดฒเดฟเด™เตเด•เตเด•เตพ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•.

เดตเตผเด•เตเด•เตเดซเตเดฒเต‹ เดตเดฟเด•เดธเดจเด‚

เดˆ เดกเต†เดฎเต‹เดฏเดฟเตฝ, Google เด•เตเดฒเต—เดกเต เดฌเดฟเตฝเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดกเต‹เด•เตเด•เตผ เด‡เดฎเต‡เดœเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดธเตเด•เดซเต‹เตพเดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚. เดตเดฟเดตเดฟเดง เดŸเต‚เดณเตเด•เตพ (เด•เดธเตโ€Œเดฑเตเดฑเต‹เดฎเตˆเดธเต, เดนเต†เตฝเด‚ เดชเต‹เดฒเตเดณเตเดณเดต), เดธเดฟเด, เดฌเดฟเตฝเดกเต เดŸเต‚เดณเตเด•เตพ, เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดชเตเดฐเตŠเดตเตˆเดกเตผเดฎเดพเตผ เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เต เด‡เดคเดฟเดจเต เดจเดฒเตเดฒ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฃเตเดŸเต. เดซเดฏเตฝ skaffold.yaml.tmpl เดชเตเดฐเตŠเดกเด•เตเดทเตป-เด—เตเดฐเต‡เดกเต เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเดฏ เดฎเดพเตผเด—เด‚ เดจเตฝเด•เตเดจเตเดจ Google เด•เตเดฒเต—เดกเต เดฌเดฟเตฝเดกเดฟเดจเตเด‚ GKE-เดจเตเดฎเดพเดฏเตเดณเตเดณ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

make skaffold เด•เตเดฒเต—เดกเต เดฌเดฟเตฝเดกเดฟเดฒเต‡เด•เตเด•เต Dockerfile เดธเดจเตเดฆเตผเดญเด‚ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด‚, เดšเดฟเดคเตเดฐเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเต GCR-เตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚. เด‡เดคเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต make skaffold, เดŽเดจเตเดจเดพเตฝ เดธเตเด•เดซเต‹เตพเดกเดฟเดจเต เดฎเดฑเตเดฑเต เดจเดฟเดฐเดตเดงเดฟ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด‰เดฃเตเดŸเต.

Kubernetes-เดฒเต† yaml เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ, เดฎเตเดดเตเดตเตป เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด‚ เดซเต‹เตผเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† yaml เด“เดตเตผเดฒเต‡เด•เตพ เดฎเดพเดจเต‡เดœเต เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ kustomize เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. git pull --rebase เด•เต‚เดŸเตเดคเตฝ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ. เด‡เดชเตเดชเต‹เตพ เด‡เดคเต kubectl-เตฝ เด‰เดฃเตเดŸเต, เด…เดคเตเดคเดฐเด‚ เด•เดพเดฐเตเดฏเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

*.yaml.tmpl เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดนเต‹เดธเตเดฑเตเดฑเตเดจเดพเดฎเดตเตเด‚ GCP เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดเดกเดฟเดฏเตเด‚ เดชเต‹เดชเตเดชเตเดฒเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ envsubst เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ makefile เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดคเตเดŸเดฐเตเด•.

เดฎเตเตปเดตเตเดฏเดตเดธเตเดฅเด•เตพ

เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดณเตเดณ เดตเตผเด•เตเด•เตเดซเตเดฒเต‹

เดจเดฟเด™เตเด™เตพเด•เตเด•เต kustomize เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ skaffold เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เตพ เดฑเดซเตผ เดšเต†เดฏเตเดฏเดพเด‚ generated-manifest.yaml เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจ เดตเตผเด•เตเด•เตเดซเตเดฒเต‹เดฏเตเดฎเดพเดฏเดฟ เด…เดตเดฏเต† เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•.

เดฒเต‹เด—เตเด•เดณเตเด‚ เด…เดณเดตเตเด•เดณเตเด‚

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดพเดจเดฆเดฃเตเดกเดฎเดพเดฏเดฟ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดฎเดพเดฑเดฟ. AWS เด•เตเดฒเต—เดกเต เดตเดพเดšเตเดšเต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต, เด•เตเดฒเต—เดกเต เดตเดพเดšเตเดšเต เด…เดฒเต‡เตผเดŸเตเดŸเตเด•เตพ, เดธเตเดฑเตเดฑเดพเด•เตเด•เตเดกเตเดฐเตˆเดตเตผ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเตโ€Œเดธเตโ€Œเดกเดฟ, เดกเดพเดฑเตเดฑเดพเดกเต‹เด—เต, เดจเดพเด—เดฟเดฏเต‹เดธเต, เดตเดฟเดธเตโ€Œเดซเดฟเดฏเตผ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เตเด‚ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเตโ€Œเด•เตเด•เตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏ เดธเตเดฅเดพเดจเด‚ เด‡เดคเต เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต. เด‡เดคเต เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เด†เดฃเต เด•เต‚เดŸเดพเดคเต† เดถเด•เตเดคเดฎเดพเดฏ เด…เดจเตเดตเต‡เดทเดฃ เดญเดพเดทเดฏเตเดฎเตเดฃเตเดŸเต. เดตเดฟเดทเตเดตเดฒเตˆเดธเต‡เดทเตป เดžเด™เตเด™เตพ เด—เตเดฐเดพเดซเดพเดจเดฏเต† เดเตฝเดชเตเดชเดฟเด•เตเด•เตเด‚ - เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดงเดพเดฐเดพเดณเด‚ เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเดฃเต. เด…เดต เดชเดฐเดธเตเดชเดฐเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด•เต‚เดŸเดพเดคเต† เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เดคเดพเดฐเดคเดฎเตเดฏเต‡เดจ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเต-เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ.

เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดŽเด•เตเดธเตเดŸเตเดฐเดพเด•เตเดทเตป เดฎเต‹เดกเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต <service>/metrics, เด‡เดคเดฟเดจเดพเดฏเดฟ เดธเตˆเดกเตเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฃเต. เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, JMX เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต JVM-เตฝ เดฒเต‹เด—เต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ เดธเตˆเดกเตโ€Œเด•เดพเตผ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด…เดคเตเดฐ เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดฒเตเดฒ. เดจเดฎเตเด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚ jmx_exporter เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดœเต†เดตเดฟเดŽเดฎเตเดฎเดฟเดฒเต‡เด•เตเด•เต เดชเดพเดคเตเดคเต เดจเตฝเด•เตเดจเตเดจ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เด‡เดฎเต‡เดœเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเด• /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-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดจเดฟเดฐเดตเดงเดฟ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด‰เดฃเตเดŸเต, เดŸเต‹เด‚เด•เดพเดฑเตเดฑเต เด…เดตเดฏเดฟเดฒเตŠเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟเด•เตเด•เดพเดฐเดจเต เดšเดฟเดฒ เด…เดงเดฟเด• เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดŸเต‹เด‚เด•เดพเดฑเตเดฑเต, เดตเตˆเตฝเดกเตเดซเตเดฒเตˆ, เด•เดพเดซเตเด• เดคเตเดŸเด™เตเด™เดฟเดฏเดตเดฏเตโ€Œเด•เตเด•เตเดณเตเดณ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเดฃเต เด‡เดตเดฟเดŸเต†. เดžเด™เตเด™เตพ เดŸเต‹เด‚เด•เดพเดฑเตเดฑเต เดšเต‡เตผเด•เตเด•เตเด‚ เด•เต‹เตบเดซเดฟเด—เตผเดฎเดพเดชเตเดชเต เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ, เดคเตเดŸเตผเดจเตเดจเต เด…เดคเต เด’เดฐเต เดตเต‹เดณเตเดฏเดฎเดพเดฏเดฟ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเตเด•.

เด†เดฆเตเดฏเด‚, เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เด‚/เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป/ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดŽเด•เตโ€Œเดธเตโ€Œเดชเต‹เตผเดŸเตเดŸเตผ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

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[] เด’เดฐเต เด•เต‹เตบเดซเดฟเด—เตเดฎเดพเดชเตเดชเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด˜เดŸเด•เดฎเดพเดฏเดฟ. เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดกเดพเดฑเตเดฑ เดนเดพเดทเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด…เดคเต เดฎเดพเดฑเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดชเต‹เดกเต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดจเดฟเตผเดฌเดจเตเดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ เด•เต‹เตบเดซเดฟเด—เตเดฎเดพเดชเตเดชเต เดœเต†เดจเดฑเต‡เดฑเตเดฑเดฑเตเด•เตพ เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต. เด’เดฐเต VolumeMount-เตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เดณเตเดŸเต† เดฎเตเดดเตเดตเตป "เดซเต‹เตพเดกเดฑเตเด‚" เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ เด…เดต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดฒเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเดฑเต† เด…เดณเดตเตเด‚ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดจเดฎเตเด•เตเด•เต เด•เต‹เตบเดซเดฟเด—เตเดฎเดพเดชเตเดชเต เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดตเต‹เดณเตเดฏเดฎเดพเดฏเดฟ เดฎเต—เดฃเตเดŸเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

-- 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
[...]

เด…เดคเตเดญเตเดคเด‚. เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเตป เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด•เดพเดฏเตเด•เตพ เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚. Prometheus เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ service-monitor.yaml เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป. เดชเดฐเตเดฏเดตเต‡เด•เตเดทเดฃเด‚ เดšเต†เดฏเตเดฏเตเด• Service-monitor.yaml, เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เดกเดฟเดธเตˆเตป ะธ ServiceMonitorSpec เดจเดฟเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเตปเดชเต.

เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดฎเดฑเตเดฑเต เด‰เดชเดฏเต‹เด— เด•เต‡เดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

ConfigMapGenerator-เดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดซเดฏเดฒเตเด•เดณเตเด‚ เดชเตเดคเดฟเดฏ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเด•เตเด‚ /etc/config. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เตพ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดˆ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เดพเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเตเดคเดฟเดฏ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ เด‰เดชเดชเดพเดค เดตเตเดฏเด•เตเดคเดฟเด—เดค เดซเดฏเดฒเตเด•เตพ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป. xml เดซเดฏเดฒเตเด•เตพ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด• xmlstarlet เดธเต†เดกเดฟเดจเต เดชเด•เดฐเด‚. เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เดฎเดพเดธเดฟเด•เด•เตพ

เดตเดฒเดฟเดฏ เดตเดพเตผเดคเตเดคเด•เตพ! เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฒเต‹เด—เตเด•เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† stdout-เตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต kubectl logs. Fluentd (GKE-เตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตโ€Œเดคเดคเต) เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฒเต‹เด—เตเด•เตพ Elasticsearch, Loki เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดŽเดจเตเดฑเตผเดชเตเดฐเตˆเดธเต เดฒเต‹เด—เดฟเด‚เด—เต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต‹เด—เตเด•เตพเด•เตเด•เดพเดฏเดฟ jsonify เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดชเดฟเดจเตเดคเตเดŸเดฐเดพเด‚ เดฒเต‹เด—เตเดฌเดพเด•เตเด•เต.

เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต

เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเต เด’เดฐเต H2 เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เด‡เดคเต เดžเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒ, เดžเด™เตเด™เตพ เด•เตเดฒเต—เดกเต SQL เดชเตเดฐเต‹เด•เตเดธเดฟเด•เตเด•เตŠเดชเตเดชเด‚ Google เด•เตเดฒเต—เดกเต 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
[...]

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เด’เดฐเต เด“เดตเตผเดฒเต‡ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดธเตโ€Œเดฑเตเดฑเต‹เดฎเตˆเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚: เด‰เดฆเดพเดนเดฐเดฃเด‚.

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เด‰เดชเดฏเต‹เด—เด‚ valueFrom: secretKeyRef. เดฆเดฏเดตเดพเดฏเดฟ เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เตเด• เดˆ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเดตเดฟเดถเต‡เดทเดค เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฐเดนเดธเตเดฏเด™เตเด™เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดพเตป เดตเดฟเด•เดธเดจ เดธเดฎเดฏเดคเตเดคเต เดชเต‹เดฒเตเด‚.

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดฐเดนเดธเตเดฏเด™เตเด™เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เด’เดฐเต เดฎเตเตปเด—เดฃเดจเดพ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต. เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด‡เดคเดพ เดšเดฟเดฒ เด“เดชเตโ€Œเดทเดจเตเด•เตพ: เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเต—เดกเต เดฆเดพเดคเดพเดตเดฟเดจเตเดฑเต† KMS เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดตเดฏเต† เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต CD เดชเตˆเดชเตเดชเตโ€Œเดฒเตˆเตป เดตเดดเดฟ เดฐเดนเดธเตเดฏเด™เตเด™เดณเดพเดฏเดฟ K8S-เดฒเต‡เด•เตเด•เต เด‡เตปเดœเด•เตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด• - เดฎเต‹เดธเดฟเดฒเตเดฒ SOPS - เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เดฐเดนเดธเตเดฏเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดšเตเดšเต เดตเดณเดฐเต† เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚. เดธเดฎเดพเดจเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เตเดจเตเดจ dotGPG เดชเต‹เดฒเตเดณเตเดณ เดฎเดฑเตเดฑเต เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเดฃเตเดŸเต: เดนเดพเดทเดฟเด•เต‹เตผเดชเตเดชเต เดตเต‹เตพเดŸเตเดŸเต, เดฐเดนเดธเตเดฏ เดฎเต‚เดฒเตเดฏ เดชเตเดฒเด—เดฟเดจเตเดจเตเด•เตพ เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตเด•.

เดคเตเดŸเดฐเตเด•

เดฒเต‹เด•เตเด•เตฝ เดชเต‹เตผเดŸเตเดŸเต เดซเต‹เตผเดตเต‡เดกเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดค เด‡เตปเด—เตเดฐเต†เดธเตเดธเต เด•เตบเดŸเตเดฐเต‹เดณเตผ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดจเดฟเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเดตเต‡เดถเดจเด‚-เดŽเตปเดœเดฟเดŽเตปเดŽเด•เตเดธเต (เดนเต†เตฝเด‚ เดšเดพเตผเดŸเตเดŸเต) เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด…เดฑเดฟเดฏเดพเด‚ ingress-patch.yaml.tmpl เด…เดฅเดตเดพ platform/ingress.yaml. เดจเดฟเด™เตเด™เตพ ingress-nginx เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เดฒเต‹เดกเต เดฌเดพเดฒเตปเดธเดฑเตเด‚ เด’เดฐเต เดฌเดพเดนเตเดฏ DNS เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเตˆเตฝเดกเตเด•เดพเตผเดกเต DNS เดŽเตปเดŸเตเดฐเดฟเดฏเตเด‚ เด‰เดณเตเดณ เด’เดฐเต nginx เด‡เตปเด—เตเดฐเต†เดธเตเดธเต เด•เตเดฒเดพเดธเตเด‚ เด•เดพเดฃเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเต‹เด•เดพเด‚. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด‡เตปเด—เตเดฐเต†เดธเตเดธเต เด•เตบเดŸเตเดฐเต‹เดณเดฑเตเด‚ เดกเดฟเดŽเตปเดŽเดธเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดˆ เด˜เดŸเตเดŸเด™เตเด™เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดฟ เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เด•เดฃเด•เตเดทเตป เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเด•.

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

เดŸเต‹เด‚เด•เดพเดฑเตเดฑเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเดจเตเดจเดคเตเดตเดฐเต† เด•เตเดฑเดšเตเดšเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•. เดกเตŠเดฎเต†เดฏเตเตป เดจเดพเดฎเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป Cert-manager เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚. kubetail เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดŸเต‚เตพ เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดฒเดญเตเดฏเดฎเดพเดฏ เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต‹ kubectl เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต‹ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเต‹เด—เตเด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚:

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

เด…เดŸเตเดคเตเดค เด˜เดŸเตเดŸเด™เตเด™เตพ

เด…เด‚เด—เต€เด•เดพเดฐเด‚

Kubernetes-เดจเต‡เด•เตเด•เดพเตพ Camunda BPM เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด‡เดคเต เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, REST API-เดฏเดฟเตฝ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเตเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเด‚ เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดฐเต€เดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เดœเต†.เดกเดฌเตเดฒเตเดฏเต.เดŸเดฟ. เด‡เดฎเต‡เดœเดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดซเดฏเดฒเตเด•เตพ เดŽเดกเดฟเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต xml เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ xmlstarlet (เดฎเตเด•เดณเดฟเตฝ เด•เดพเดฃเตเด•) เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเดพเตป เด•เต‹เตบเดซเดฟเด—เตเดฎเดพเดชเตเดชเตเด•เดณเตเด‚ เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เด’เดจเตเดจเตเด•เดฟเตฝ wget เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต init เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด‚ เดชเด™เตเด•เดฟเดŸเตเดŸ เดตเต‹เดณเดฟเดฏเดตเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดต เดฒเต‹เดกเตเดšเต†เดฏเตเดฏเตเด•.

เดธเต†เดทเตป เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต

เดฎเดฑเตเดฑเต เดชเดฒ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเต†เดฏเตเด‚ เดชเต‹เดฒเต†, JVM-เตฝ Camunda BPM เดธเต†เดทเดจเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเด•เตผเดชเตเดชเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดฑเตเดฑเดฟเด•เตเด•เดฟ เดธเต†เดทเดจเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต ingress-nginx), เดชเด•เตผเดชเตเดชเต เด…เดชเตเดฐเดคเตเดฏเด•เตเดทเดฎเดพเด•เตเดจเตเดจเดคเต เดตเดฐเต† เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เตเด•เตเด•เดฟเด•เตพเด•เตเด•เต Max-Age เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•. เด•เต‚เดŸเตเดคเตฝ เดถเด•เตเดคเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŸเต‹เด‚เด•เดพเดฑเตเดฑเดฟเตฝ เดธเต†เดทเตป เดฎเดพเดจเต‡เดœเดฐเต† เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเด‚. เดฒเดพเตผเดธเดฟเดจเต เด‰เดฃเตเดŸเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเต‹เดธเตเดฑเตเดฑเต เดˆ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ, เดŽเดจเตเดจเดพเตฝ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดจเตเดจเต:

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

เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: เดธเต†เดกเดฟเดจเต เดชเด•เดฐเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต xmlstarlet เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚

เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŸเตเดตเต†เด‚เดชเตเดฐเต‹เด•เตเดธเดฟ Google เด•เตเดฒเต—เดกเต เดฎเต†เดฎเตเดฎเดฑเดฟเดธเตเดฑเตเดฑเต‹เดฑเดฟเดจเต เดฎเตเดจเตเดจเดฟเตฝ, เด•เต‚เดŸเต† memcached-sesion-manager (เดฑเต†เดกเดฟเดธเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต) เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป.

เดธเตเด•เต†เดฏเดฟเดฒเดฟเด‚เด—เต

เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดธเต†เดทเดจเตเด•เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, Camunda BPM เดธเตเด•เต†เดฏเดฟเดฒเดฟเด‚เด—เดฟเดจเตเดณเตเดณ เด†เดฆเตเดฏ (เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด…เดตเดธเดพเดจเดคเตเดคเต‡เดคเต) เดชเดฐเดฟเดฎเดฟเดคเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด•เดฃเด•เตเดทเดจเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เดญเดพเด—เดฟเด• เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตฝ เด‡เดคเดฟเดจเด•เด‚ เดฒเดญเตเดฏเดฎเดพเดฃเต "เดชเต†เดŸเตเดŸเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต" เดจเดฎเตเด•เตเด•เต settings.xml เดซเดฏเดฒเดฟเตฝ intialSize เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดพเด‚. เดšเต‡เตผเด•เตเด•เตเด• เดคเดฟเดฐเดถเตเดšเต€เดจ เดชเต‹เดกเต เด“เดŸเตเดŸเต‹เดธเตเด•เต†เดฏเดฟเดฒเตผ (HPA) เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเต‹เดกเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดธเตเดตเดฏเดฎเต‡เดต เดธเตเด•เต†เดฏเดฟเตฝ เดšเต†เดฏเตเดฏเดพเด‚.

เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เดณเตเด‚

ะ’ platform/deployment.yaml เดžเด™เตเด™เตพ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเต เดซเต€เตฝเดกเต เดนเดพเตผเดกเต-เด•เต‹เดกเต เดšเต†เดฏเตเดคเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เด•เดพเดฃเตเด‚. เด‡เดคเต HPA-เดฏเดฟเตฝ เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดงเดฟเด• เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚. kustomize เดชเดพเดšเตเดšเต เด‡เดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต. เดธเต†เดฎเดฟ. ingress-patch.yaml.tmpl ะธ ./kustomization.yaml.tmpl

เดคเต€เดฐเตเดฎเดพเดจเด‚

เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต, เดฒเต‹เด—เตเด•เตพ, H2 เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต, TLS, Ingress เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ Camunda BPM เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต. ConfigMaps, Dockerfile เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดœเดพเตผ เดซเดฏเดฒเตเด•เดณเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เดณเตเด‚ เดšเต‡เตผเดคเตเดคเต. เดฐเดนเดธเตเดฏเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเต‹เดณเตเดฏเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดกเดพเดฑเตเดฑ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดธเด‚เดธเดพเดฐเดฟเดšเตเดšเต. เด•เต‚เดŸเดพเดคเต†, เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเด•เตผเดชเตเดชเตเด•เตพเด•เตเด•เดพเดฏเดฟ Camunda เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด…เดตเดฒเต‹เด•เดจเดตเตเด‚ เด’เดฐเต เด†เดงเดฟเด•เดพเดฐเดฟเด• API-เดฏเตเด‚ เดžเด™เตเด™เตพ เดจเตฝเด•เดฟ.

เดฑเต†เดซเดฑเตปเดธเตเด•เตพ

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•