ڪبرنيٽس تي ڪيمنڊا بي پي ايم کي هلائڻ

ڪبرنيٽس تي ڪيمنڊا بي پي ايم کي هلائڻ

ڇا توهان ڪبرنيٽس استعمال ڪري رهيا آهيو؟ توهان جي ڪيمنڊا بي پي ايم مثالن کي ورچوئل مشينن مان ٻاهر منتقل ڪرڻ لاءِ تيار آهيو، يا ٿي سگهي ٿو صرف انهن کي ڪبرنيٽس تي هلائڻ جي ڪوشش ڪريو؟ اچو ته ڪجهه عام ترتيبن ۽ انفرادي شيون تي نظر رکون جيڪي توهان جي مخصوص ضرورتن مطابق ٺاهي سگھجن ٿيون.

اهو فرض ڪري ٿو ته توهان اڳ ۾ ڪبرنيٽس استعمال ڪيو آهي. جيڪڏهن نه، ڇو نه هڪ نظر وٺو رهنمائي ڪندڙ ۽ توهان جو پهريون ڪلستر شروع نه ڪيو؟

ليکڪ

  • اليسٽر فرٿ (Alastair Firth) - ڪيمنڊا ڪلائوڊ ٽيم تي سينئر سائيٽ ريليبلٽي انجنيئر؛
  • لارس لانج (Lars Lange) - ڪيمنڊا ۾ DevOps انجنيئر.

مختصر ۾:

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

ٺيڪ، اهو شايد ڪم نه ڪيو ڇو ته توهان وٽ اسڪافولڊ ۽ ڪسٽمائيز انسٽال نه آهي. چڱو پوءِ پڙهو!

Camunda BPM ڇا آهي؟

Camunda BPM هڪ کليل ذريعو ڪاروباري عمل جي انتظام ۽ فيصلي جي خودڪار پليٽ فارم آهي جيڪو ڪاروباري صارفين ۽ سافٽ ويئر ڊولپرز کي ڳنڍيندو آهي. اهو ماڻهن کي همٿائڻ ۽ ڳنڍڻ لاءِ مثالي آهي، (مائڪرو) خدمتون يا حتي بوٽ! توهان مختلف استعمال جي ڪيسن بابت وڌيڪ پڙهي سگهو ٿا لنڪ.

ڪبرنيٽس ڇو استعمال ڪريو

ڪبرنيٽس لينڪس تي جديد ايپليڪيشنن کي هلائڻ لاءِ حقيقي معيار بڻجي چڪو آهي. هارڊويئر ايموليشن جي بدران سسٽم ڪالن کي استعمال ڪندي ۽ ميموري ۽ ٽاسڪ سوئچنگ کي منظم ڪرڻ جي ڪنيل جي صلاحيت، بوٽ جو وقت ۽ شروع ٿيڻ جو وقت گهٽ ۾ گهٽ رکيو ويو آهي. بهرحال، سڀ کان وڏو فائدو معياري API مان اچي سگھي ٿو جيڪو Kubernetes مهيا ڪري ٿو سڀني ايپليڪيشنن جي گهربل زيربناء کي ترتيب ڏيڻ: اسٽوريج، نيٽ ورڪنگ، ۽ نگراني. اهو جون 2020 ۾ 6 سالن جو ٿيو ۽ شايد اهو ٻيو وڏو اوپن سورس پروجيڪٽ آهي (لينڪس کان پوءِ). اهو تازو ڪيو ويو آهي فعال طور تي ان جي ڪارڪردگي کي مستحڪم ڪرڻ کان پوء گذريل ڪجهه سالن ۾ تيز رفتار جي ورهاڱي کان پوء جيئن اهو دنيا جي پيداوار جي ڪم لوڊ ڪرڻ لاء نازڪ بڻجي وڃي ٿو.

ڪيمنڊا بي پي ايم انجڻ آساني سان ساڳي ڪلسٽر تي هلندڙ ٻين ايپليڪيشنن سان ڳنڍي سگھي ٿو، ۽ ڪبرنيٽس شاندار اسپيبليبلٽي مهيا ڪري ٿو، توهان کي بنيادي ڍانچي جي قيمتن کي صرف ان وقت وڌائڻ جي اجازت ڏئي ٿي جڏهن واقعي گهربل هجي (۽ آسانيءَ سان انهن کي ضرورت جي مطابق گهٽايو).

مانيٽرنگ جي معيار کي پڻ تمام گهڻو بهتر ڪيو ويو آهي اوزارن جهڙوڪ پروميٿيوس، گرافانا، لوڪي، فلوئنٽ ۽ ايلسٽسٽڪ سرچ، توهان کي اجازت ڏئي ٿو ته مرڪزي طور تي سڀني ڪم لوڊ کي ڪلستر ۾ ڏسڻ. اڄ اسان ڏسنداسين ته ڪيئن پروميٿيوس ايڪسپورٽر کي جاوا ورچوئل مشين (JVM) ۾ لاڳو ڪجي.

مقصد

اچو ته ڪجھ علائقن تي نظر رکون جتي اسان ڪيمنڊا بي پي ايم ڊاڪر تصوير کي ترتيب ڏئي سگھون ٿا (GitHub) انهي ڪري ته اهو ڪبرنيٽس سان سٺي نموني سان رابطو ڪري ٿو.

  1. لاگ ۽ ميٽرڪ؛
  2. ڊيٽابيس ڪنيڪشن؛
  3. تصديق؛
  4. سيشن جو انتظام.

اسان انهن مقصدن کي حاصل ڪرڻ لاء ڪيترن ئي طريقن تي نظر ڪنداسين ۽ واضح طور تي سڄي عمل کي ڏيکارينداسين.

ويچاري: ڇا توهان انٽرپرائز ورزن استعمال ڪري رهيا آهيو؟ ڏس هتي ۽ ضرورت مطابق تصويري لنڪس کي اپڊيٽ ڪريو.

ڪم فلو ترقي

هن ڊيم ۾، اسان استعمال ڪنداسين Skaffold Docker تصويرون ٺاهڻ لاء Google Cloud Build استعمال ڪندي. ان ۾ مختلف اوزارن (جهڙوڪ Kustomize ۽ Helm)، CI ۽ بلڊنگ ٽولز، ۽ انفراسٽرڪچر فراهم ڪرڻ وارن لاءِ سٺي مدد آهي. فائل skaffold.yaml.tmpl Google Cloud Build ۽ GKE لاءِ سيٽنگون شامل آھن، پروڊڪشن-گريڊ انفراسٽرڪچر کي ھلائڻ لاءِ تمام سادو طريقو مهيا ڪري ٿو.

make skaffold Dockerfile جي حوالي سان Cloud Build ۾ لوڊ ڪندو، تصوير ٺاھيو ۽ ان کي GCR ۾ ذخيرو ڪريو، ۽ پوء پنھنجي ڪلستر تي منشور لاڳو ڪريو. اھو اھو آھي جيڪو اھو ڪندو آھي make skaffold، پر Skaffold ۾ ٻيا به ڪيترائي خاصيتون آھن.

Kubernetes ۾ yaml ٽيمپليٽس لاءِ، اسان yaml اوورليز کي منظم ڪرڻ لاءِ kustomize استعمال ڪريون ٿا پوري مينيفيسٽ کي ڇڪڻ کان سواءِ، توھان کي استعمال ڪرڻ جي اجازت ڏيو git pull --rebase وڌيڪ بهتري لاء. هاڻي اهو kubectl ۾ آهي ۽ اهو اهڙين شين لاءِ ڪافي ڪم ڪري ٿو.

اسان پڻ envsubst استعمال ڪريون ٿا ميزبان نالو ۽ GCP پروجيڪٽ ID کي *.yaml.tmpl فائلن ۾ آباد ڪرڻ لاءِ. توهان ڏسي سگهو ٿا ته اهو ڪيئن ڪم ڪري ٿو makefile يا صرف اڳتي وڌو.

شرائط

منشور استعمال ڪندي ڪم فلو

جيڪڏهن توهان ڪسٽمائيز يا اسڪافولڊ استعمال ڪرڻ نٿا چاهيو، توهان حوالو ڪري سگهو ٿا منشور ۾ generated-manifest.yaml ۽ انھن کي پنھنجي پسند جي ڪم جي فلو مطابق ٺاھيو.

لاگ ۽ ميٽرڪ

Prometheus Kubernetes ۾ ميٽرڪ گڏ ڪرڻ جو معيار بڻجي چڪو آهي. اهو ساڳيو جڳهه تي قبضو ڪري ٿو AWS Cloudwatch Metrics، Cloudwatch Alerts، Stackdriver Metrics، StatsD، Datadog، Nagios، vSphere Metrics ۽ ٻيا. اهو کليل ذريعو آهي ۽ هڪ طاقتور سوال جي ٻولي آهي. اسان بصري کي گرافانا جي حوالي ڪنداسين - اهو هڪ وڏي تعداد ۾ ڊيش بورڊ سان گڏ اچي ٿو جيڪو دٻي کان ٻاهر موجود آهي. اهي هڪ ٻئي سان ڳنڍيل آهن ۽ انسٽال ڪرڻ لاء نسبتا آسان آهن prometheus- آپريٽر.

ڊفالٽ طور، Prometheus extracting ماڊل استعمال ڪري ٿو <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، wildfly، kafka وغيره لاءِ معياري ترتيبون موجود آهن هتي. اسان ٽامڪٽ شامل ڪنداسين جيئن ConfigMap Kubernetes ۾ ۽ پوء ان کي حجم جي طور تي نصب ڪريو.

پهرين، اسان اسان جي پليٽ فارم/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 عظيم آهن ڇاڪاڻ ته اهي ترتيب واري ڊيٽا کي هيش ڪن ٿا ۽ هڪ پوڊ ٻيهر شروع ڪرڻ تي مجبور ڪن ٿا جيڪڏهن اهو تبديل ٿئي ٿو. اهي ترتيب ۾ ترتيب جي مقدار کي به گھٽائي ڇڏيندا آهن ڇو ته توهان هڪ 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
[...]

عجيب. جيڪڏهن 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
[...]

ويچاري: توهان هڪ اوورلي استعمال ڪندي مختلف ماحول ۾ ترتيب ڏيڻ لاءِ Kustomize استعمال ڪري سگهو ٿا: مثال.

ويچاري: استعمال valueFrom: secretKeyRef. مهرباني ڪري، استعمال ڪريو هي Kubernetes خاصيت جيتوڻيڪ ترقي جي دوران توهان جي رازن کي محفوظ رکڻ لاء.

اهو ممڪن آهي ته توهان وٽ اڳ ۾ ئي ڪوبرنيٽس رازن کي منظم ڪرڻ لاءِ ترجيحي سسٽم آهي. جيڪڏهن نه، هتي ڪجهه اختيار آهن: انهن کي توهان جي ڪلائوڊ فراهم ڪندڙ جي KMS سان انڪرپٽ ڪرڻ ۽ پوءِ سي ڊي پائپ لائن ذريعي راز جي طور تي K8S ۾ داخل ڪرڻ - Mozilla SOPS - Kustomize رازن سان ميلاپ ۾ تمام سٺو ڪم ڪندو. اهڙا ٻيا اوزار آهن، جهڙوڪ dotGPG، جيڪي ساڳيو ڪم ڪن ٿا: HashiCorp Vault, ڳجهي قدر پلگ ان کي ترتيب ڏيو.

اندر اچڻ

جيستائين توهان مقامي پورٽ فارورڊنگ استعمال ڪرڻ جو انتخاب نه ڪيو، توهان کي هڪ ترتيب ڏنل Ingress ڪنٽرولر جي ضرورت پوندي. جيڪڏهن توهان استعمال نٿا ڪريو ingress-nginx (هيلم چارٽ) ته پوءِ توهان گهڻو ڪري پهريان ئي ڄاڻو ٿا ته توهان کي ضروري تشريحون انسٽال ڪرڻ جي ضرورت آهي ingress-patch.yaml.tmpl يا platform/ingress.yaml. جيڪڏهن توهان ingress-nginx استعمال ڪري رهيا آهيو ۽ هڪ nginx ingress ڪلاس ڏسي رهيا آهيو لوڊ بيلنس سان ان ڏانهن اشارو ڪندي ۽ هڪ خارجي DNS يا وائلڊ ڪارڊ DNS داخلا، توهان وڃڻ لاءِ سٺو آهيو. ٻي صورت ۾، Ingress ڪنٽرولر ۽ 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

ڪجھ منٽ انتظار ڪريو جيستائين ٽامڪٽ مڪمل طور تي تيار ٿي وڃي. Cert-manager ڊومين جي نالي جي تصديق ڪرڻ لاء ڪجهه وقت وٺندو. توهان وري دستياب اوزار استعمال ڪندي لاگز مانيٽر ڪري سگهو ٿا، جهڙوڪ ڪوبيٽل جهڙو اوزار، يا صرف ڪبيڪٽل استعمال ڪندي:

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

ايندڙ قدم

اختيار ڏيڻ

اهو وڌيڪ لاڳاپيل آهي Camunda BPM ترتيب ڏيڻ لاءِ Kubernetes، پر اهو نوٽ ڪرڻ ضروري آهي ته ڊفالٽ طور، تصديق REST API ۾ بند ٿيل آهي. توهان ڪري سگهو ٿا بنيادي تصديق کي فعال ڪريو يا ٻيو طريقو استعمال ڪريو جهڙوڪ جي وي ٽي. توھان استعمال ڪري سگھو ٿا configmaps ۽ حجم لوڊ ڪرڻ لاءِ xml، يا xmlstarlet (مٿي ڏسو) تصوير ۾ موجود فائلن کي ايڊٽ ڪرڻ لاءِ، ۽ يا ته wget استعمال ڪري سگھو ٿا يا انھن کي init ڪنٽينر ۽ گڏيل حجم استعمال ڪري لوڊ ڪريو.

سيشن جو انتظام

ٻين ڪيترن ئي ايپليڪيشنن وانگر، ڪيمنڊا 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

ويچاري: توهان استعمال ڪري سگهو ٿا xmlstarlet بدران sed

اسان استعمال ڪيو twemproxy گوگل Cloud Memorystore جي سامهون، سان memcached-سيشن-منيجر (ريڊيس کي سپورٽ ڪري ٿو) ان کي هلائڻ لاءِ.

اسڪيلنگ

جيڪڏھن توھان اڳ ۾ ئي سيشن سمجھو ٿا، ته پوءِ پھرين (۽ اڪثر ڪري آخري) حد بندي ڪيمنڊا بي پي ايم کي اسڪيل ڪرڻ لاءِ ڊيٽابيس سان ڪنيڪشن ٿي سگھي ٿي. جزوي حسب ضرورت اڳ ۾ ئي موجود آهي "دٻي مان" اچو ته Settings.xml فائل ۾ intialSize کي به غير فعال ڪريون. شامل ڪريو Horizontal Pod Autoscaler (HPA) ۽ توهان آساني سان خود بخود پوڊ جي تعداد کي ماپ ڪري سگهو ٿا.

درخواستون ۽ پابنديون

В platform/deployment.yaml توھان ڏسندا سين ته اسان وسيلن جي فيلڊ کي سخت ڪوڊ ڪيو آھي. اهو HPA سان سٺو ڪم ڪري ٿو، پر شايد اضافي ترتيب جي ضرورت هجي. ڪسٽمائيز پيچ هن لاء مناسب آهي. سي ايم. ingress-patch.yaml.tmpl и ./kustomization.yaml.tmpl

ٿڪل

تنهن ڪري اسان ڪيمنڊا بي پي ايم انسٽال ڪيو Kubernetes تي Prometheus metrics، لاگز، H2 ڊيٽابيس، TLS ۽ Ingress سان. اسان ConfigMaps ۽ Dockerfile استعمال ڪندي جار فائلون ۽ ڪنفيگريشن فائلون شامل ڪيون. اسان ڊيٽا کي مقدار ۾ تبديل ڪرڻ ۽ رازن کان سڌو ماحول جي متغيرن جي باري ۾ ڳالهايو. اضافي طور تي، اسان ڪيترن ئي نقلن ۽ هڪ تصديق ٿيل 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

تبصرو شامل ڪريو