Kubernetes پر Camunda BPM چل رہا ہے۔

Kubernetes پر Camunda BPM چل رہا ہے۔

کیا آپ Kubernetes استعمال کر رہے ہیں؟ اپنے Camunda BPM مثالوں کو ورچوئل مشینوں سے باہر منتقل کرنے کے لیے تیار ہیں، یا شاید انہیں Kubernetes پر چلانے کی کوشش کریں؟ آئیے کچھ عام کنفیگریشنز اور انفرادی آئٹمز کو دیکھتے ہیں جو آپ کی مخصوص ضروریات کے مطابق بنائی جا سکتی ہیں۔

یہ فرض کرتا ہے کہ آپ نے پہلے Kubernetes استعمال کیا ہے۔ اگر نہیں تو کیوں نہ ایک نظر ڈالیں۔ رہنما اور اپنا پہلا کلسٹر شروع نہیں کرتے؟

مصنفین

  • ایلسٹر فرتھ (الیسٹر فیرتھ) - کیمونڈا کلاؤڈ ٹیم پر سینئر سائٹ ریلائیبلٹی انجینئر؛
  • لارس لینج (لارس لینج) - کیمونڈا میں ڈی او اوپس انجینئر۔

مختصرا:

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

ٹھیک ہے، اس نے شاید کام نہیں کیا کیونکہ آپ کے پاس اسکافولڈ اور کسٹمائز انسٹال نہیں ہے۔ اچھا پھر پڑھو!

Camunda BPM کیا ہے؟

Camunda BPM ایک اوپن سورس بزنس پروسیس مینجمنٹ اور فیصلہ آٹومیشن پلیٹ فارم ہے جو کاروباری صارفین اور سافٹ ویئر ڈویلپرز کو جوڑتا ہے۔ یہ لوگوں، (مائیکرو) خدمات یا یہاں تک کہ بوٹس کو مربوط کرنے اور جوڑنے کے لیے مثالی ہے! آپ مختلف استعمال کے معاملات کے بارے میں مزید پڑھ سکتے ہیں۔ لنک.

کبرنیٹس کیوں استعمال کریں۔

لینکس پر جدید ایپلی کیشنز چلانے کے لیے Kubernetes ڈی فیکٹو معیار بن گیا ہے۔ ہارڈ ویئر ایمولیشن کے بجائے سسٹم کالز کا استعمال کرتے ہوئے اور میموری اور ٹاسک سوئچنگ کا انتظام کرنے کی دانا کی صلاحیت، بوٹ ٹائم اور اسٹارٹ اپ ٹائم کو کم سے کم رکھا جاتا ہے۔ تاہم، سب سے بڑا فائدہ اس معیاری API سے ہو سکتا ہے جو Kubernetes تمام ایپلیکیشنز کے لیے درکار بنیادی ڈھانچے کو ترتیب دینے کے لیے فراہم کرتا ہے: اسٹوریج، نیٹ ورکنگ، اور مانیٹرنگ۔ یہ جون 2020 میں 6 سال کا ہو گیا ہے اور یہ شاید دوسرا سب سے بڑا اوپن سورس پروجیکٹ ہے (لینکس کے بعد)۔ یہ حال ہی میں پچھلے کچھ سالوں میں تیزی سے تکرار کے بعد اپنی فعالیت کو فعال طور پر مستحکم کر رہا ہے کیونکہ یہ دنیا بھر میں پیداواری کام کے بوجھ کے لیے اہم ہو گیا ہے۔

Camunda BPM Engine آسانی سے اسی کلسٹر پر چلنے والی دیگر ایپلی کیشنز سے منسلک ہو سکتا ہے، اور Kubernetes بہترین اسکیل ایبلٹی فراہم کرتا ہے، جس سے آپ کو بنیادی ڈھانچے کی لاگت میں صرف اس وقت اضافہ کرنے کی اجازت ملتی ہے جب واقعی ضرورت ہو (اور آسانی سے انہیں ضرورت کے مطابق کم کر دیں)۔

پرومیتھیس، گرافانا، لوکی، فلوئنٹ اور ایلاسٹک سرچ جیسے ٹولز کے ساتھ مانیٹرنگ کا معیار بھی بہت بہتر ہوا ہے، جس سے آپ کلسٹر میں تمام کام کے بوجھ کو مرکزی طور پر دیکھ سکتے ہیں۔ آج ہم دیکھیں گے کہ جاوا ورچوئل مشین (JVM) میں Prometheus برآمد کنندہ کو کیسے نافذ کیا جائے۔

اہداف

آئیے چند ایسے علاقوں کو دیکھتے ہیں جہاں ہم کیمونڈا بی پی ایم ڈوکر امیج کو اپنی مرضی کے مطابق بنا سکتے ہیں (گاٹہوب) تاکہ یہ Kubernetes کے ساتھ اچھی طرح سے تعامل کرے۔

  1. لاگ اور میٹرکس؛
  2. ڈیٹا بیس کنکشن؛
  3. تصدیق؛
  4. سیشن کا انتظام۔

ہم ان اہداف کو حاصل کرنے کے کئی طریقے دیکھیں گے اور پورے عمل کو واضح طور پر دکھائیں گے۔

نوٹ: کیا آپ انٹرپرائز ورژن استعمال کر رہے ہیں؟ دیکھو یہاں اور ضرورت کے مطابق تصویری لنکس کو اپ ڈیٹ کریں۔

ورک فلو کی ترقی

اس ڈیمو میں، ہم اسکافولڈ کو گوگل کلاؤڈ بلڈ کا استعمال کرتے ہوئے ڈوکر امیجز بنانے کے لیے استعمال کریں گے۔ اس میں مختلف ٹولز (جیسے Kustomize اور Helm)، CI اور بلڈ ٹولز، اور انفراسٹرکچر فراہم کرنے والوں کے لیے اچھی مدد حاصل ہے۔ فائل skaffold.yaml.tmpl Google Cloud Build اور GKE کی ترتیبات پر مشتمل ہے، جو پروڈکشن گریڈ کے بنیادی ڈھانچے کو چلانے کا ایک بہت آسان طریقہ فراہم کرتی ہے۔

make skaffold Dockerfile سیاق و سباق کو Cloud Build میں لوڈ کرے گا، امیج بنائے گا اور اسے GCR میں اسٹور کرے گا، اور پھر مینی فیسٹس کو آپ کے کلسٹر پر لاگو کرے گا۔ یہ وہی کرتا ہے make skaffold، لیکن اسکافولڈ میں بہت سی دوسری خصوصیات ہیں۔

Kubernetes میں yaml ٹیمپلیٹس کے لیے، ہم پورے مینی فیسٹ کو کانٹے لگائے بغیر یامل اوورلیز کو منظم کرنے کے لیے کسٹمائز کا استعمال کرتے ہیں، جو آپ کو استعمال کرنے کی اجازت دیتا ہے۔ git pull --rebase مزید بہتری کے لیے۔ اب یہ kubectl میں ہے اور یہ ایسی چیزوں کے لیے کافی اچھا کام کرتا ہے۔

ہم میزبان نام اور GCP پروجیکٹ ID کو *.yaml.tmpl فائلوں میں بھرنے کے لیے envsubst کا بھی استعمال کرتے ہیں۔ آپ دیکھ سکتے ہیں کہ یہ کیسے کام کرتا ہے۔ makefile یا صرف مزید جاری رکھیں.

ضروریات

مینی فیسٹ کا استعمال کرتے ہوئے ورک فلو

اگر آپ کسٹمائز یا اسکافولڈ استعمال نہیں کرنا چاہتے ہیں، تو آپ مینی فیسٹ کا حوالہ دے سکتے ہیں generated-manifest.yaml اور انہیں اپنی پسند کے ورک فلو کے مطابق ڈھالیں۔

لاگ اور میٹرکس

Prometheus Kubernetes میں میٹرکس جمع کرنے کا معیار بن گیا ہے۔ یہ AWS Cloudwatch Metrics، Cloudwatch Alerts، Stackdriver Metrics، StatsD، Datadog، Nagios، vSphere Metrics اور دیگر کے طور پر وہی مقام رکھتا ہے۔ یہ اوپن سورس ہے اور اس میں استفسار کی ایک طاقتور زبان ہے۔ ہم گرافانا کو ویژولائزیشن سونپیں گے - یہ باکس کے باہر دستیاب ڈیش بورڈز کی ایک بڑی تعداد کے ساتھ آتا ہے۔ وہ ایک دوسرے سے جڑے ہوئے ہیں اور ان کے ساتھ انسٹال کرنا نسبتاً آسان ہے۔ prometheus-آپریٹر.

پہلے سے طے شدہ طور پر، Prometheus نکالنے کا ماڈل استعمال کرتا ہے۔ <service>/metricsاور اس کے لیے سائیڈ کار کنٹینرز شامل کرنا عام بات ہے۔ بدقسمتی سے، JMX میٹرکس JVM میں بہترین لاگ ان ہوتے ہیں، اس لیے سائڈ کار کنٹینرز اتنے موثر نہیں ہوتے۔ آئیے جڑتے ہیں۔ 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

ٹھیک ہے، یہ آسان تھا. برآمد کنندہ ٹامکیٹ کی نگرانی کرے گا اور اس کے میٹرکس کو پرومیتھیس فارمیٹ میں دکھائے گا۔ <svc>:9404/metrics

ایکسپورٹر سیٹ اپ

دھیان سے پڑھنے والا سوچ سکتا ہے کہ یہ کہاں سے آیا ہے۔ prometheus-jmx.yaml? بہت سی مختلف چیزیں ہیں جو JVM میں چل سکتی ہیں، اور tomcat ان میں سے صرف ایک ہے، لہذا برآمد کنندہ کو کچھ اضافی ترتیب کی ضرورت ہے۔ ٹامکیٹ، وائلڈ فلائی، کافکا اور اسی طرح کی معیاری ترتیبیں دستیاب ہیں۔ یہاں. ہم ٹامکیٹ کو بطور شامل کریں گے۔ کنفیگ میپ Kubernetes میں اور پھر اسے حجم کے طور پر ماؤنٹ کریں۔

سب سے پہلے، ہم برآمد کنندہ کنفیگریشن فائل کو اپنے پلیٹ فارم/config/ ڈائریکٹری میں شامل کرتے ہیں۔

platform/config
└── prometheus-jmx.yaml

پھر ہم شامل کرتے ہیں۔ کنفیگ میپ جنریٹر в 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 بہت اچھے ہیں کیونکہ وہ کنفیگریشن ڈیٹا کو ہیش کرتے ہیں اور اگر یہ تبدیل ہوتا ہے تو پوڈ کو دوبارہ شروع کرنے پر مجبور کرتے ہیں۔ وہ تعیناتی میں کنفیگریشن کی مقدار کو بھی کم کرتے ہیں کیونکہ آپ ایک والیوم ماؤنٹ میں کنفیگریشن فائلوں کے پورے "فولڈر" کو ماؤنٹ کر سکتے ہیں۔

آخر میں، ہمیں 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
[...]

کمال ہے۔ اگر Prometheus کو مکمل صفائی کرنے کے لیے ترتیب نہیں دیا گیا ہے، تو آپ کو اسے پوڈز کو صاف کرنے کے لیے بتانا پڑ سکتا ہے۔ Prometheus آپریٹر استعمال کرنے والے استعمال کر سکتے ہیں۔ service-monitor.yaml شروع کرنے کے لیے دریافت کریں۔ Service-monitor.yaml, آپریٹر ڈیزائن и سروس مانیٹر اسپیک آپ شروع کرنے سے پہلے.

اس پیٹرن کو دوسرے استعمال کے معاملات تک بڑھانا

تمام فائلیں جو ہم ConfigMapGenerator میں شامل کرتے ہیں وہ نئی ڈائریکٹری میں دستیاب ہوں گی۔ /etc/config. آپ اس ٹیمپلیٹ کو کسی بھی دوسری کنفیگریشن فائلوں کو ماؤنٹ کرنے کے لیے بڑھا سکتے ہیں جن کی آپ کو ضرورت ہے۔ یہاں تک کہ آپ ایک نیا اسٹارٹ اپ اسکرپٹ بھی لگا سکتے ہیں۔ آپ استعمال کر سکتے ہیں ذیلی راستہ انفرادی فائلوں کو ماؤنٹ کرنے کے لیے۔ xml فائلوں کو اپ ڈیٹ کرنے کے لیے، استعمال کرنے پر غور کریں۔ xmlstarlet sed کے بجائے. یہ پہلے ہی تصویر میں شامل ہے۔

بہت اچھی خبر! ایپلیکیشن لاگز پہلے سے ہی stdout پر دستیاب ہیں، مثال کے طور پر کے ساتھ kubectl logs. Fluentd (GKE میں بطور ڈیفالٹ انسٹال) آپ کے لاگز کو Elasticsearch، Loki، یا آپ کے انٹرپرائز لاگنگ پلیٹ فارم پر بھیجے گا۔ اگر آپ لاگز کے لیے jsonify استعمال کرنا چاہتے ہیں تو آپ انسٹال کرنے کے لیے اوپر دیے گئے سانچے کو فالو کر سکتے ہیں۔ لاگ بیک.

ڈیٹا بیس۔

پہلے سے طے شدہ طور پر، تصویر میں H2 ڈیٹا بیس ہوگا۔ یہ ہمارے لیے موزوں نہیں ہے، اور ہم Cloud SQL Proxy کے ساتھ 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
[...]

نوٹ: آپ اوورلے کا استعمال کرتے ہوئے مختلف ماحول میں تعینات کرنے کے لیے کسٹمائز کا استعمال کر سکتے ہیں: مثال کے طور پر.

نوٹ: استعمال valueFrom: secretKeyRef. براہ کرم استعمال کریں۔ یہ Kubernetes کی خصوصیت ترقی کے دوران بھی اپنے رازوں کو محفوظ رکھنے کے لیے۔

یہ امکان ہے کہ آپ کے پاس پہلے سے ہی Kubernetes کے رازوں کے انتظام کے لیے ایک ترجیحی نظام موجود ہے۔ اگر نہیں۔ موزیلا ایس او پی ایس - Kustomize رازوں کے ساتھ مل کر بہت اچھا کام کرے گا۔ دوسرے ٹولز ہیں، جیسے ڈاٹ جی پی جی، جو اسی طرح کے کام انجام دیتے ہیں: ہاشی کارپ والٹ, خفیہ ویلیو پلگ ان کو اپنی مرضی کے مطابق بنائیں.

لاگ ان

جب تک آپ مقامی پورٹ فارورڈنگ استعمال کرنے کا انتخاب نہیں کرتے، آپ کو کنفیگرڈ انگریس کنٹرولر کی ضرورت ہوگی۔ اگر آپ استعمال نہیں کرتے ہیں۔ ingress-nginx (ہیلم چارٹ) تب آپ کو غالباً پہلے ہی معلوم ہو گیا ہو گا کہ آپ کو ضروری تشریحات انسٹال کرنے کی ضرورت ہے۔ ingress-patch.yaml.tmpl یا platform/ingress.yaml. اگر آپ ingress-nginx استعمال کر رہے ہیں اور ایک nginx انگریس کلاس دیکھتے ہیں جس میں لوڈ بیلنسر اس کی طرف اشارہ کر رہا ہے اور ایک بیرونی DNS یا وائلڈ کارڈ DNS اندراج ہے، تو آپ جانا اچھا ہے۔ بصورت دیگر، Ingress Controller اور 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

ٹامکیٹ مکمل طور پر تیار ہونے تک چند منٹ انتظار کریں۔ سرٹ مینیجر کو ڈومین نام کی تصدیق کرنے میں کچھ وقت لگے گا۔ اس کے بعد آپ دستیاب ٹولز جیسے کہ 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 (اوپر دیکھیں) کو لوڈ کرنے کے لیے configmaps اور والیوم استعمال کر سکتے ہیں، اور یا تو wget استعمال کر سکتے ہیں یا init کنٹینر اور مشترکہ والیوم کا استعمال کر کے انھیں لوڈ کر سکتے ہیں۔

سیشن کا انتظام

بہت سی دوسری ایپلی کیشنز کی طرح، Camunda BPM JVM میں سیشنز کو ہینڈل کرتا ہے، لہذا اگر آپ ایک سے زیادہ نقلیں چلانا چاہتے ہیں، تو آپ سٹکی سیشنز کو فعال کر سکتے ہیں (مثال کے طور پر ingress-nginx کے لیے)، جو اس وقت تک موجود رہے گا جب تک کہ نقل غائب نہ ہو جائے، یا کوکیز کے لیے Max-Age وصف متعین کریں۔ مزید مضبوط حل کے لیے، آپ Tomcat میں سیشن مینیجر تعینات کر سکتے ہیں۔ لارس نے علیحدہ پوسٹ اس موضوع پر، لیکن کچھ اس طرح:

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 گوگل کلاؤڈ میموری اسٹور کے سامنے، کے ساتھ memcached-session-manager (ریڈیس کی حمایت کرتا ہے) اسے چلانے کے لیے۔

اسکیلنگ

اگر آپ سیشنز کو پہلے ہی سمجھتے ہیں، تو Camunda BPM کو اسکیل کرنے کی پہلی (اور اکثر آخری) حد ڈیٹا بیس سے کنکشن ہو سکتی ہے۔ جزوی حسب ضرورت پہلے ہی دستیاب ہے"ڈھبے سے" آئیے settings.xml فائل میں intialSize کو بھی غیر فعال کریں۔ شامل کریں۔ Horizontal Pod Autoscaler (HPA) اور آپ آسانی سے پھلیوں کی تعداد کو آسانی سے پیمانہ کرسکتے ہیں۔

درخواستیں اور پابندیاں

В platform/deployment.yaml آپ دیکھیں گے کہ ہم نے وسائل کی فیلڈ کو سختی سے کوڈ کیا ہے۔ یہ HPA کے ساتھ اچھی طرح کام کرتا ہے، لیکن اس کے لیے اضافی کنفیگریشن کی ضرورت پڑ سکتی ہے۔ کسٹمائز پیچ اس کے لیے موزوں ہے۔ سینٹی میٹر. ingress-patch.yaml.tmpl и ./kustomization.yaml.tmpl

آؤٹ پٹ

لہذا ہم نے کیمونڈا بی پی ایم کوبرنیٹس پر پرومیتھیس میٹرکس، لاگز، H2 ڈیٹا بیس، TLS اور Ingress کے ساتھ انسٹال کیا۔ ہم نے 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

نیا تبصرہ شامل کریں