เปเบฅเปˆเบ™ Camunda BPM เปƒเบ™ Kubernetes

เปเบฅเปˆเบ™ Camunda BPM เปƒเบ™ Kubernetes

เป€เบˆเบปเป‰เบฒเปƒเบŠเป‰ Kubernetes เบšเป? เบžเป‰เบญเบกเปเบฅเป‰เบงเบ—เบตเปˆเบˆเบฐเบเป‰เบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡ Camunda BPM เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเบญเบเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡ virtual, เบซเบผเบทเบšเบฒเบ‡เบ—เบตเบžเบฝเบ‡เปเบ•เปˆเบฅเบญเบ‡เปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™ Kubernetes เบšเป? เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบปเปˆเบงเป„เบ›เปเบฅเบฐเบฅเบฒเบเบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเปเบ•เปˆเบ‡เป„เบ”เป‰เบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบกเบฑเบ™เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ—เปˆเบฒเบ™เป€เบ„เบตเบเปƒเบŠเป‰ Kubernetes เบกเบฒเบเปˆเบญเบ™. เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเปˆเป€เบšเบดเปˆเบ‡ เบ„เบนเปˆเบกเบท เปเบฅเบฐเบšเปเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบธเปˆเบกเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบšเป?

เบœเบนเป‰เบ‚เบฝเบ™

  • Alastair Firth (Alastair Firth) - เบงเบดเบชเบฐเบงเบฐเบเบญเบ™เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบญเบฒเบงเบธเป‚เบชเปƒเบ™เบ—เบตเบกเบ‡เบฒเบ™ Camunda Cloud;
  • Lars Lange (Lars Lange) - เบงเบดเบชเบฐเบงเบฐเบเบญเบ™ DevOps เบขเบนเปˆ Camunda.

เปƒเบ™เบชเบฑเป‰เบ™:

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

เบ•เบปเบเบฅเบปเบ‡, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบฒเบฐเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบต skaffold เปเบฅเบฐ customize เบ•เบดเบ”เบ•เบฑเป‰เบ‡. เปเบฅเป‰เบงเบญเปˆเบฒเบ™เบ•เปเปˆ!

Camunda BPM เปเบกเปˆเบ™เบซเบเบฑเบ‡

Camunda BPM เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™เบ—เบธเบฅเบฐเบเบดเบ” เปเบฅเบฐเป€เบงเบ—เบตเบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเบนเป‰เปƒเบŠเป‰เบ—เบธเบฅเบฐเบเบดเบ” เปเบฅเบฐเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบŠเบญเบšเปเบง. เบกเบฑเบ™เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบชเบฒเบ™เบ‡เบฒเบ™เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ›เบฐเบŠเบฒเบŠเบปเบ™, (เบˆเบธเบฅเบฐเบžเบฒเบ) เบšเปเบฅเบดเบเบฒเบ™เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ bots! เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆ เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ•เป‰เบญเบ‡เปƒเบŠเป‰ Kubernetes

Kubernetes เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบฅเปˆเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปƒเบ™ Linux. เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบšเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบฎเบฒเบ”เปเบงเปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ kernel เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบเบฒเบ™เบชเบฑเบšเบ›เปˆเบฝเบ™เบซเบ™เป‰เบฒเบงเบฝเบ, เป€เบงเบฅเบฒเบšเบนเบ”เปเบฅเบฐเป€เบงเบฅเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เป€เบเบฑเบšเป„เบงเป‰เป€เบ›เบฑเบ™เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”เบญเบฒเบ”เบˆเบฐเบกเบฒเบˆเบฒเบ API เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆ Kubernetes เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเบ—เบธเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ: เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ, เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก. เบกเบฑเบ™เบกเบตเบญเบฒเบเบธ 2020 เบ›เบตเปƒเบ™เป€เบ”เบทเบญเบ™เบกเบดเบ–เบธเบ™เบฒ 6 เปเบฅเบฐเบšเบฒเบ‡เบ—เบตเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”เบ—เบตเบชเบญเบ‡ (เบซเบผเบฑเบ‡เบˆเบฒเบ Linux). เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™เปƒเบ™เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เบซเบผเบฑเบ‡เบˆเบฒเบ iteration เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปƒเบ™เป„เบฅเบเบฐเบชเบญเบ‡เบชเบฒเบกเบ›เบตเบœเปˆเบฒเบ™เบกเบฒเบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบเบฒเบเป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ•เปเปˆเบงเบฝเบเบ‡เบฒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เบ—เบปเปˆเบงเป‚เบฅเบ.

Camunda BPM Engine เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบญเบทเปˆเบ™เป†เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเบ”เบฝเบงเบเบฑเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ, เปเบฅเบฐ Kubernetes เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบ”เบต, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡เบžเบฝเบ‡เปเบ•เปˆเป€เบกเบทเปˆเบญเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบ—เป‰เป† (เปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบžเบงเบเบกเบฑเบ™เป„เบ”เป‰เบ‡เปˆเบฒเบเบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™).

เบ„เบธเบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบŠเบฑเปˆเบ™ Prometheus, Grafana, Loki, Fluentd เปเบฅเบฐ Elasticsearch, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเบธเปˆเบกเป€เบ›เบฑเบ™เบชเบนเบ™เบเบฒเบ‡. เบกเบทเป‰เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบ Prometheus เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Java Virtual Machine (JVM).

เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบšเบฒเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเปเบ•เปˆเบ‡เบฎเบนเบšเบžเบฒเบš Camunda BPM Docker (GitHub) เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบš Kubernetes เป„เบ”เป‰เบ”เบต.

  1. เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบเบฒเบ™เบงเบฑเบ”เปเบ—เบ;
  2. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™;
  3. เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™;
  4. เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เป€เบŠเบ”เบŠเบฑเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”.

ะŸั€ะธะผะตั‡ะฐะฝะธะต: เป€เบˆเบปเป‰เบฒเปƒเบŠเป‰เบชเบฐเบšเบฑเบš Enterprise เบšเป? เป€เบšเบดเปˆเบ‡ เบ—เบตเปˆเบ™เบตเป‰ เปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฎเบนเบšเบžเบฒเบšเบ•เบฒเบกเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™.

เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ

เปƒเบ™เบเบฒเบ™เบชเบฒเบ—เบดเบ”เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰ Skaffold เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบš Docker เป‚เบ”เบเปƒเบŠเป‰ Google Cloud Build. เบกเบฑเบ™เบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เบตเปˆเบ”เบตเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เปˆเบฒเบ‡เป† (เป€เบŠเบฑเปˆเบ™ Kustomize เปเบฅเบฐ Helm), CI เปเบฅเบฐเบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบท, เปเบฅเบฐเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ”เป‰เบฒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™. เป„เบŸเบฅเปŒ skaffold.yaml.tmpl เบฅเบงเบกเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบš Google Cloud Build เปเบฅเบฐ GKE, เบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบเป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”.

make skaffold เบˆเบฐเป‚เบซเบฅเบ” Dockerfile context เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Cloud Build, เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ GCR, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เปเบฒเปƒเบŠเป‰ manifests เบเบฑเบš cluster เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ” make skaffold, เปเบ•เปˆ Skaffold เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ.

เบชเปเบฒเบฅเบฑเบšเปเบกเปˆเปเบšเบš yaml เปƒเบ™ Kubernetes, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ kustomize เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบงเบฒเบ‡เบŠเป‰เบญเบ™ yaml เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ forking manifest เบ—เบฑเบ‡เบซเบกเบปเบ”, เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰. git pull --rebase เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ•เบทเปˆเบกเบญเบตเบ. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ kubectl เปเบฅเบฐเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบชเปเบฒเบฅเบฑเบšเบชเบดเปˆเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เปƒเบŠเป‰ envsubst เป€เบžเบทเปˆเบญเบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เบŠเบทเปˆเป‚เบฎเบช เปเบฅเบฐ ID เป‚เบ„เบ‡เบเบฒเบ™ GCP เปƒเบ™เป„เบŸเบฅเปŒ *.yaml.tmpl. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ makefile เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆเบชเบทเบšเบ•เปเปˆเบ•เบทเปˆเบกเบญเบตเบ.

เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆ เบˆเบณ เป€เบ›เบฑเบ™

  • เบเบธเปˆเบกเบงเบฝเบ Kubernetes
  • เบ›เบฑเบšเปเบ•เปˆเบ‡
  • Skaffold - เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบš docker เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เปเบฅเบฐเบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบš GKE
  • เบชเบณเป€เบ™เบปเบฒเบฅเบฐเบซเบฑเบ”เบ™เบตเป‰
  • Envsubst

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเปƒเบŠเป‰ manifests

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰ kustomize เบซเบผเบท skaffold, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡ manifests เปƒเบ™ generated-manifest.yaml เปเบฅเบฐเบ›เบฑเบšเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบฅเบทเบญเบ.

เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบเบฒเบ™เบงเบฑเบ”เปเบ—เบ

Prometheus เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒ metrics เปƒเบ™ Kubernetes. เบกเบฑเบ™เบ„เบญเบšเบ„เบญเบ‡ niche เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš AWS Cloudwatch Metrics, Cloudwatch Alerts, Stackdriver Metrics, StatsD, Datadog, Nagios, vSphere Metrics เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบกเบฑเบ™เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เปเบฅเบฐเบกเบตเบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบกเบญเบšเบชเบฒเบเบ•เบฒเปƒเบซเป‰เบเบฑเบš Grafana - เบกเบฑเบ™เบกเบฒเบžเป‰เบญเบกเบเบฑเบš dashboards เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบเปˆเบญเบ‡. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ–เบทเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™เปเบฅเบฐเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฑเบš prometheus-operator.

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, Prometheus เปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบชเบฐเบเบฑเบ”เป€เบญเบปเบฒ <service>/metrics, เปเบฅเบฐเบเบฒเบ™เป€เบžเบตเปˆเบกเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต sidecar เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›. เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, JMX metrics เปเบกเปˆเบ™เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบžเบฒเบเปƒเบ™ JVM, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต sidecar เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เปƒเบซเป‰เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบ™ jmx_exporter เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบˆเบฒเบ Prometheus เป„เบ›เบซเบฒ 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

เบ”เบต, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบ. เบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบเบˆเบฐเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ tomcat เปเบฅเบฐเบชเบฐเปเบ”เบ‡ metrics เบ‚เบญเบ‡เบกเบฑเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš Prometheus เบขเบนเปˆ <svc>:9404/metrics

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเบชเบปเปˆเบ‡เบญเบญเบ

เบœเบนเป‰เบญเปˆเบฒเบ™เบ—เบตเปˆเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบญเบฒเบ”เบˆเบฐเบชเบปเบ‡เป„เบชเบงเปˆเบฒเบกเบฑเบ™เบกเบฒเบˆเบฒเบเปƒเบช prometheus-jmx.yaml? เบกเบตเบซเบผเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™ JVM, เปเบฅเบฐ tomcat เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบšเบฒเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบš tomcat, wildfly, kafka เปเบฅเบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ เบ—เบตเปˆเบ™เบตเป‰. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบก tomcat เป€เบ›เบฑเบ™ ConfigMap เปƒเบ™ Kubernetes เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ mount เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™.

เบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบเป„เบ›เบเบฑเบ‡เป€เบงเบ—เบต / config / เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ

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 เปเบกเปˆเบ™เบ”เบตเบซเบผเบฒเบเป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒ hash เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰ pod restart เบ–เป‰เบฒเบกเบฑเบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™ Deployment เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” mount "เป‚เบŸเบ™เป€เบ”เบต" เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™ VolumeMount.

เบชเบธเบ”เบ—เป‰เบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡ ConfigMap เป€เบ›เบฑเบ™เบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฑเบš pod เป„เบ”เป‰:

-- 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 เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบšเบญเบเบกเบฑเบ™เปƒเบซเป‰เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบเบฑเบ. เบœเบนเป‰เปƒเบŠเป‰ Prometheus Operator เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰ service-monitor.yaml เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบชเบณเบซเบผเบงเบ” Service-monitor.yaml, เบเบฒเบ™เบญเบญเบเปเบšเบšเบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™ ะธ ServiceMonitorSpec เบเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบ‚เบฐเบซเบเบฒเบเบฎเบนเบšเปเบšเบšเบ™เบตเป‰เป„เบ›เบซเบฒเบเปเบฅเบฐเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบญเบทเปˆเบ™เป†

เป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเปƒเบชเปˆ ConfigMapGenerator เบˆเบฐเบกเบตเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเปƒเบซเบกเปˆ /etc/config. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเปเบกเปˆเปเบšเบšเบ™เบตเป‰เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบชเบฐเบ„เบฃเบดเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเปเปˆเป„เบ”เป‰. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเปˆเบญเบ เป€เบžเบทเปˆเบญโ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เบปเบ™โ€‹. เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เป„เบŸเบฅเปŒ xml, เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบŠเป‰ xmlstarlet เปเบ—เบ™ sed. เบกเบฑเบ™เบ–เบทเบเบฅเบงเบกเบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบฅเป‰เบง.

เบงเบฒเบฅเบฐเบชเบฒเบ™

เบ‚เปˆเบฒเบงเบ”เบต! เบšเบฑเบ™เบ—เบถเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปเบฅเป‰เบงเปƒเบ™ stdout, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฑเบš kubectl logs. Fluentd (เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ GKE) เบˆเบฐเบชเบปเปˆเบ‡เบ•เปเปˆเบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป„เบ›เบซเบฒ Elasticsearch, Loki, เบซเบผเบทเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบšเบฑเบ™เบ—เบถเบเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบŠเป‰ jsonify เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบ—เบถเบเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเปเบกเปˆเปเบšเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡ เบเบฑเบšเบ„เบทเบ™.

เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบฎเบนเบšเบžเบฒเบšเบˆเบฐเบกเบตเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ H2. เบ™เบตเป‰เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰ Google Cloud SQL เบเบฑเบš Cloud SQL Proxy - เบ™เบตเป‰เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เปเปˆเบกเบฒเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบžเบฒเบเปƒเบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบกเบฑเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. 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 เบ™เบตเป‰ เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เป„เบฅเบเบฐเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบžเบทเปˆเบญเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบฅเบฑเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ›เบญเบ”เป„เบž.

เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบงเปˆเบฒเบ—เปˆเบฒเบ™เบกเบตเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบฅเบฑเบš Kubernetes เปเบฅเป‰เบง. เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ: เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบžเบงเบเบกเบฑเบ™เบเบฑเบš KMS เบ‚เบญเบ‡เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบŸเบฑเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ K8S เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบšเบœเปˆเบฒเบ™เบ—เปเปˆ CD โˆ’ Mozilla SOPS - เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบซเบผเบฒเบเปƒเบ™เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบšเบ„เบงเบฒเบกเบฅเบฑเบš Kustomize. เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™: dotGPG, เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™: HashiCorp Vault, เบ›เบฑเบšเปเบ•เปˆเบ‡ Plugins เบกเบนเบ™เบ„เปˆเบฒเบฅเบฑเบš.

Ingress

เป€เบงเบฑเป‰เบ™เป€เบชเบเปเบ•เปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เป€เบฅเบทเบญเบเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเบžเบญเบ”เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบกเบต Ingress Controller เบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒ. เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบšเปเปˆเปƒเบŠเป‰ ingress-nginx (เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเบกเบงเบเบเบฑเบ™เบเบฐเบ—เบปเบš) เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบฎเบนเป‰เปเบฅเป‰เบงเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ„เปเบฒเบšเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™ ingress-patch.yaml.tmpl เบซเบผเบท platform/ingress.yaml. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ ingress-nginx เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบซเป‰เบญเบ‡เบฎเบฝเบ™ ingress nginx เบ—เบตเปˆเบกเบต load balancer เบŠเบตเป‰เป„เบ›เบซเบฒเบกเบฑเบ™เปเบฅเบฐ DNS เบžเบฒเบเบ™เบญเบเบซเบผเบท wildcard DNS entry, เบ—เปˆเบฒเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเป„เบ›. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Ingress Controller เปเบฅเบฐ DNS, เบซเบผเบทเบ‚เป‰เบฒเบกเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบฎเบฑเบเบชเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเบเบปเบ‡เบเบฑเบš pod.

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

เบฅเปเบ–เป‰เบฒเบชเบญเบ‡เบชเบฒเบกเบ™เบฒเบ—เบตเบˆเบปเบ™เบเปˆเบงเบฒ tomcat เปเบกเปˆเบ™เบเบฝเบกเบžเป‰เบญเบกเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. Cert-manager เบˆเบฐเปƒเบŠเป‰เป€เบงเบฅเบฒเบšเบฒเบ‡เป€เบงเบฅเบฒเป€เบžเบทเปˆเบญเบเบงเบ”เบชเบญเบšเบŠเบทเปˆเป‚เบ”เป€เบกเบ™. เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบกเบตเบขเบนเปˆ, เป€เบŠเบฑเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบŠเบฑเปˆเบ™ kubetail, เบซเบผเบทเบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰ kubectl:

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

เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบ•เปเปˆโ€‹เป„เบ›

เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”

เบ™เบตเป‰เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Camunda BPM เบซเบผเบฒเบเบเปˆเบงเบฒ Kubernetes, เปเบ•เปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™ REST API. เป€เบˆเบปเป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ” เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™ เบซเบผเบทเปƒเบŠเป‰เบงเบดเบ—เบตเบญเบทเปˆเบ™เป€เบŠเบฑเปˆเบ™ J.W.T.. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ configmaps เปเบฅเบฐเบ›เบฐเบฅเบดเบกเบฒเบ™เป€เบžเบทเปˆเบญเป‚เบซเบฅเบ” xml, เบซเบผเบท xmlstarlet (เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡) เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบฎเบนเบšเบžเบฒเบš, เปเบฅเบฐเบšเปเปˆเบงเปˆเบฒเบˆเบฐเปƒเบŠเป‰ wget เบซเบผเบทเป‚เบซเบผเบ”เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป‚เบ”เบเปƒเบŠเป‰ init container เปเบฅเบฐเบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™.

เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เป€เบŠเบ”เบŠเบฑเบ™

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบญเบทเปˆเบ™เป†เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, Camunda BPM เบˆเบฑเบ”เบเบฒเบ™เป€เบŠเบ”เบŠเบฑเบ™เปƒเบ™ JVM, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ replicas เบซเบผเบฒเบ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบญเบ‡เบ›เบฐเบŠเบธเบกเบซเบ™เบฝเบง (เบ•เบปเบงเบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบš ingress-nginx), เป€เบŠเบดเปˆเบ‡เบˆเบฐเบกเบตเบˆเบปเบ™เบเปˆเบงเบฒเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบˆเบฐเบซเบฒเบเป„เบ›, เบซเบผเบทเบเปเบฒเบ™เบปเบ”เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” Max-Age เบชเปเบฒเบฅเบฑเบš cookies. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เบเบงเปˆเบฒ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเปƒเบŠเป‰ Session Manager เปƒเบ™ Tomcat. Lars เบกเบต เบ•เบญเบšเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ เบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰, เปเบ•เปˆเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™:

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 เปเบ—เบ™ sed

เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ twemproxy เบขเบนเปˆเบ—เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡ Google Cloud Memorystore, เบเบฑเบš memcached-session-manage (เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™ Redisโ€‹) เป€เบžเบทเปˆเบญโ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™โ€‹เบกเบฑเบ™โ€‹.

เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบเบญเบ‡เบ›เบฐเบŠเบธเบกเปเบฅเป‰เบง, เบ—เปเบฒเบญเบดเบ” (เปเบฅเบฐเป€เบฅเบทเป‰เบญเบเป†เบชเบธเบ”เบ—เป‰เบฒเบ) เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ Camunda BPM เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™. เบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เบšเบฒเบ‡เบชเปˆเบงเบ™เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปเบฅเป‰เบง "เบˆเบฒเบเบซเป‰เบญเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง" เปƒเบซเป‰เบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™ intialSize เปƒเบ™เป„เบŸเบฅเปŒ settings.xml. เป€เบžเบตเปˆเบก Horizontal Pod Autoscaler (HPA) เปเบฅเบฐเบ—เปˆเบฒเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบเบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฑเบเป„เบ”เป‰.

เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”

ะ’ platform/deployment.yaml เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เป€เบซเบฑเบ™โ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบเบฒเบโ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบžเบฒเบโ€‹เบชเบฐโ€‹เบซเบ™เบฒเบกโ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™โ€‹. เบญเบฑเบ™เบ™เบตเป‰เปƒเบŠเป‰เป„เบ”เป‰เบ”เบตเบเบฑเบš HPA, เปเบ•เปˆเบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เปเบœเปˆเบ™ customize เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰. เบŠเบฑเบ‡โ€‹เบ•เบตโ€‹เปเบกเบฑเบ”. ingress-patch.yaml.tmpl ะธ ./kustomization.yaml.tmpl

เบชเบฐเบซเบฅเบธเบš

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Camunda BPM เปƒเบ™ Kubernetes เบ”เป‰เบงเบเบ•เบปเบงเบงเบฑเบ”เปเบ—เบ Prometheus, เบšเบฑเบ™เบ—เบถเบ, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ H2, TLS เปเบฅเบฐ Ingress. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเป„เบŸเบฅเปŒ jar เปเบฅเบฐเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเปƒเบŠเป‰ 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, เบเบฒเบ™เปเบ› เบšเบปเบ”เบ„เบงเบฒเบก Alastair Firth, Lars Lange

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™