குபெர்னெட்டஸில் கேமுண்டா பிபிஎம் இயங்குகிறது

குபெர்னெட்டஸில் கேமுண்டா பிபிஎம் இயங்குகிறது

நீங்கள் Kubernetes ஐப் பயன்படுத்துகிறீர்களா? உங்கள் Camunda BPM நிகழ்வுகளை மெய்நிகர் இயந்திரங்களிலிருந்து நகர்த்தத் தயாரா அல்லது குபெர்னெட்டஸில் அவற்றை இயக்க முயற்சிக்கலாமா? உங்கள் குறிப்பிட்ட தேவைகளுக்கு ஏற்றவாறு சில பொதுவான உள்ளமைவுகளையும் தனிப்பட்ட பொருட்களையும் பார்க்கலாம்.

நீங்கள் இதற்கு முன்பு குபெர்னெட்ஸைப் பயன்படுத்தியிருக்கிறீர்கள் என்று கருதுகிறது. இல்லையென்றால், ஏன் பார்க்கக்கூடாது வழிகாட்டி மற்றும் உங்கள் முதல் கிளஸ்டரை தொடங்கவில்லையா?

ஆசிரியர்கள்

  • அலஸ்டர் ஃபிர்த் (அலஸ்டர் ஃபிர்த்) - கமுண்டா கிளவுட் குழுவில் மூத்த தள நம்பகத்தன்மை பொறியாளர்;
  • லார்ஸ் லாங்கே (லார்ஸ் லாங்கே) - கமுண்டாவில் டெவொப்ஸ் பொறியாளர்.

சுருக்கமாக:

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

சரி, உங்களிடம் ஸ்கேஃபோல்ட் மற்றும் கஸ்டமைஸ் நிறுவப்படாததால் இது வேலை செய்யவில்லை. சரி, பிறகு படியுங்கள்!

கமுண்டா பிபிஎம் என்றால் என்ன

Camunda BPM என்பது வணிக பயனர்கள் மற்றும் மென்பொருள் உருவாக்குநர்களை இணைக்கும் ஒரு திறந்த மூல வணிக செயல்முறை மேலாண்மை மற்றும் முடிவு தன்னியக்க தளமாகும். மக்கள், (மைக்ரோ) சேவைகள் அல்லது போட்களை ஒருங்கிணைக்கவும் இணைக்கவும் இது சிறந்தது! வெவ்வேறு பயன்பாட்டு நிகழ்வுகளைப் பற்றி நீங்கள் மேலும் படிக்கலாம் இணைப்பை.

ஏன் Kubernetes பயன்படுத்த வேண்டும்

லினக்ஸில் நவீன பயன்பாடுகளை இயக்குவதற்கு Kubernetes நடைமுறை தரநிலையாக மாறியுள்ளது. ஹார்டுவேர் எமுலேஷனுக்குப் பதிலாக கணினி அழைப்புகளைப் பயன்படுத்துவதன் மூலமும், நினைவகம் மற்றும் பணி மாறுதலை நிர்வகிப்பதற்கான கர்னலின் திறன், துவக்க நேரம் மற்றும் தொடக்க நேரம் ஆகியவை குறைந்தபட்சமாக வைக்கப்படுகின்றன. இருப்பினும், அனைத்து பயன்பாடுகளுக்கும் தேவையான உள்கட்டமைப்பை உள்ளமைக்க குபெர்னெட்டஸ் வழங்கும் நிலையான API இலிருந்து மிகப்பெரிய நன்மை வரலாம்: சேமிப்பு, நெட்வொர்க்கிங் மற்றும் கண்காணிப்பு. இது ஜூன் 2020 இல் 6 வயதாகிறது மற்றும் இது இரண்டாவது பெரிய திறந்த மூல திட்டமாகும் (லினக்ஸுக்குப் பிறகு). உலகெங்கிலும் உள்ள உற்பத்திப் பணிச்சுமைகளுக்கு இது முக்கியமானதாக இருப்பதால், கடந்த சில ஆண்டுகளாக விரைவான மறு செய்கைக்குப் பிறகு இது சமீபத்தில் அதன் செயல்பாட்டைத் தீவிரமாக உறுதிப்படுத்துகிறது.

Camunda BPM இன்ஜின் அதே கிளஸ்டரில் இயங்கும் பிற பயன்பாடுகளுடன் எளிதாக இணைக்க முடியும், மேலும் குபெர்னெட்டஸ் சிறந்த அளவிடுதல் வழங்குகிறது, உண்மையில் தேவைப்படும் போது மட்டுமே உள்கட்டமைப்பு செலவுகளை அதிகரிக்க அனுமதிக்கிறது (மேலும் தேவைக்கேற்ப அவற்றை எளிதாகக் குறைக்கவும்).

ப்ரோமிதியஸ், கிராஃபனா, லோகி, ஃப்ளூன்ட் மற்றும் எலாஸ்டிக் சர்ச் போன்ற கருவிகள் மூலம் கண்காணிப்பின் தரம் பெரிதும் மேம்படுத்தப்பட்டுள்ளது, இது ஒரு கிளஸ்டரில் உள்ள அனைத்து பணிச்சுமைகளையும் மையமாக பார்க்க அனுமதிக்கிறது. ஜாவா மெய்நிகர் இயந்திரத்தில் (ஜேவிஎம்) ப்ரோமிதியஸ் ஏற்றுமதியாளரை எவ்வாறு செயல்படுத்துவது என்று இன்று பார்ப்போம்.

இலக்குகளை

Camunda BPM Docker படத்தைத் தனிப்பயனாக்கக்கூடிய சில பகுதிகளைப் பார்ப்போம் (-மகிழ்ச்சியா) அதனால் அது குபெர்னெட்டஸுடன் நன்றாக தொடர்பு கொள்கிறது.

  1. பதிவுகள் மற்றும் அளவீடுகள்;
  2. தரவுத்தள இணைப்புகள்;
  3. அங்கீகார;
  4. அமர்வு மேலாண்மை.

இந்த இலக்குகளை அடைய பல வழிகளைப் பார்ப்போம் மற்றும் முழு செயல்முறையையும் தெளிவாகக் காண்பிப்போம்.

கருத்து: நீங்கள் எண்டர்பிரைஸ் பதிப்பைப் பயன்படுத்துகிறீர்களா? பார் இங்கே மற்றும் பட இணைப்புகளை தேவைக்கேற்ப புதுப்பிக்கவும்.

பணிப்பாய்வு வளர்ச்சி

இந்த டெமோவில், Google Cloud Buildஐப் பயன்படுத்தி Docker படங்களை உருவாக்க Skaffold ஐப் பயன்படுத்துவோம். இது பல்வேறு கருவிகளுக்கு (கஸ்டோமைஸ் மற்றும் ஹெல்ம் போன்றவை), CI மற்றும் உருவாக்க கருவிகள் மற்றும் உள்கட்டமைப்பு வழங்குநர்களுக்கு நல்ல ஆதரவைக் கொண்டுள்ளது. கோப்பு skaffold.yaml.tmpl Google Cloud Build மற்றும் GKEக்கான அமைப்புகளை உள்ளடக்கியது, உற்பத்தி தர உள்கட்டமைப்பை இயக்க மிகவும் எளிமையான வழியை வழங்குகிறது.

make skaffold Dockerfile சூழலை Cloud Build இல் ஏற்றி, படத்தை உருவாக்கி, GCR இல் சேமித்து, பின்னர் உங்கள் கிளஸ்டருக்கு மேனிஃபெஸ்ட்களைப் பயன்படுத்தும். இதைத்தான் செய்கிறது make skaffold, ஆனால் ஸ்காஃபோல்டு பல அம்சங்களைக் கொண்டுள்ளது.

Kubernetes இல் உள்ள yaml டெம்ப்ளேட்டுகளுக்கு, முழு மேனிஃபெஸ்ட்டையும் பிரிக்காமல், yaml மேலடுக்குகளை நிர்வகிக்க, நாங்கள் kustomize ஐப் பயன்படுத்துகிறோம். git pull --rebase மேலும் மேம்பாடுகளுக்கு. இப்போது அது kubectl இல் உள்ளது மற்றும் இது போன்ற விஷயங்களுக்கு நன்றாக வேலை செய்கிறது.

*.yaml.tmpl கோப்புகளில் ஹோஸ்ட்பெயர் மற்றும் GCP திட்டப்பணி ஐடியை நிரப்ப envsubst ஐப் பயன்படுத்துகிறோம். இது எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் பார்க்கலாம் makefile அல்லது மேலும் தொடரவும்.

முன்நிபந்தனைகள்

மேனிஃபெஸ்ட்ஸைப் பயன்படுத்தி பணிப்பாய்வு

நீங்கள் kustomize அல்லது skaffold ஐப் பயன்படுத்த விரும்பவில்லை என்றால், நீங்கள் மேனிஃபெஸ்ட்ஸைப் பார்க்கவும் generated-manifest.yaml மற்றும் உங்கள் விருப்பத்தின் பணிப்பாய்வுக்கு அவற்றை மாற்றியமைக்கவும்.

பதிவுகள் மற்றும் அளவீடுகள்

குபெர்னெட்ஸில் அளவீடுகளை சேகரிப்பதற்கான தரநிலையாக ப்ரோமிதியஸ் மாறியுள்ளது. இது AWS Cloudwatch அளவீடுகள், Cloudwatch எச்சரிக்கைகள், Stackdriver Metrics, StatsD, Datadog, Nagios, vSphere Metrics மற்றும் பிறவற்றின் அதே முக்கிய இடத்தைப் பிடித்துள்ளது. இது ஓப்பன் சோர்ஸ் மற்றும் சக்திவாய்ந்த வினவல் மொழியைக் கொண்டுள்ளது. காட்சிப்படுத்தலை நாங்கள் கிராஃபனாவிடம் ஒப்படைப்போம் - இது பெட்டிக்கு வெளியே ஏராளமான டாஷ்போர்டுகளுடன் வருகிறது. அவை ஒன்றோடொன்று இணைக்கப்பட்டுள்ளன மற்றும் நிறுவ எளிதானது prometheus-ஆபரேட்டர்.

இயல்பாக, ப்ரோமிதியஸ் பிரித்தெடுத்தல் மாதிரியைப் பயன்படுத்துகிறார் <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 இல் இயங்கக்கூடிய பல்வேறு விஷயங்கள் உள்ளன, மேலும் tomcat அவற்றில் ஒன்றுதான், எனவே ஏற்றுமதியாளருக்கு சில கூடுதல் கட்டமைப்புகள் தேவை. டாம்கேட், காட்டுப் பூச்சி, காஃப்கா மற்றும் பலவற்றிற்கான நிலையான கட்டமைப்புகள் கிடைக்கின்றன இங்கே. டாம்கேட் என சேர்ப்போம் கட்டமைப்பு வரைபடம் 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 சிறந்தவை, ஏனெனில் அவை உள்ளமைவுத் தரவை ஹாஷ் செய்து, அது மாறினால் பாட் மறுதொடக்கம் செய்ய கட்டாயப்படுத்துகிறது. ஒரு வால்யூம்மவுண்டில் உள்ளமைவு கோப்புகளின் முழு "கோப்புறையை" நீங்கள் ஏற்ற முடியும் என்பதால், அவை வரிசைப்படுத்தலில் உள்ளமைவின் அளவையும் குறைக்கின்றன.

இறுதியாக, நாம் 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 ஆபரேட்டர் பயனர்கள் பயன்படுத்தலாம் service-monitor.yaml தொடங்குவதற்கு. ஆராயுங்கள் Service-monitor.yaml, ஆபரேட்டர் வடிவமைப்பு и ServiceMonitorSpec நீங்கள் தொடங்கும் முன்.

இந்த வடிவத்தை மற்ற பயன்பாட்டு நிகழ்வுகளுக்கும் விரிவுபடுத்துதல்

ConfigMapGenerator இல் நாம் சேர்க்கும் அனைத்து கோப்புகளும் புதிய கோப்பகத்தில் கிடைக்கும் /etc/config. உங்களுக்குத் தேவையான வேறு எந்த உள்ளமைவு கோப்புகளையும் ஏற்ற இந்த டெம்ப்ளேட்டை நீட்டிக்கலாம். நீங்கள் ஒரு புதிய தொடக்க ஸ்கிரிப்டை ஏற்றலாம். நீங்கள் பயன்படுத்தலாம் துணைப்பாதை தனிப்பட்ட கோப்புகளை ஏற்றுவதற்கு. xml கோப்புகளைப் புதுப்பிக்க, பயன்படுத்தவும் xmlstarlet விதைக்கு பதிலாக. இது ஏற்கனவே படத்தில் சேர்க்கப்பட்டுள்ளது.

இதழ்கள்

பெரிய செய்தி! பயன்பாட்டுப் பதிவுகள் ஏற்கனவே stdout இல் உள்ளன, எடுத்துக்காட்டாக உடன் kubectl logs. Fluentd (GKE இல் இயல்பாக நிறுவப்பட்டது) உங்கள் பதிவுகளை Elasticsearch, Loki அல்லது உங்கள் நிறுவன பதிவு தளத்திற்கு அனுப்பும். பதிவுகளுக்கு jsonify ஐப் பயன்படுத்த விரும்பினால், நிறுவுவதற்கு மேலே உள்ள டெம்ப்ளேட்டைப் பின்பற்றலாம் பின்வாங்கல்.

தகவல்

இயல்பாக, படம் H2 தரவுத்தளத்தைக் கொண்டிருக்கும். இது எங்களுக்குப் பொருந்தாது, மேலும் Cloud SQL ப்ராக்ஸியுடன் Google Cloud SQLஐப் பயன்படுத்துவோம் - அகச் சிக்கல்களைத் தீர்க்க இது பின்னர் தேவைப்படும். தரவுத்தளத்தை அமைப்பதில் உங்கள் சொந்த விருப்பத்தேர்வுகள் இல்லையென்றால் இது எளிமையான மற்றும் நம்பகமான விருப்பமாகும். AWS RDS இதே போன்ற சேவையை வழங்குகிறது.

நீங்கள் தேர்வுசெய்த தரவுத்தளத்தைப் பொருட்படுத்தாமல், அது H2 ஆக இல்லாவிட்டால், பொருத்தமான சூழல் மாறிகளை நீங்கள் அமைக்க வேண்டும் platform/deploy.yaml. இது போல் தெரிகிறது:

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

கருத்து: மேலடுக்கைப் பயன்படுத்தி வெவ்வேறு சூழல்களில் பயன்படுத்த நீங்கள் Kustomize ஐப் பயன்படுத்தலாம்: உதாரணமாக.

கருத்து: பயன்பாடு valueFrom: secretKeyRef. தயவு செய்து உபயோகிக்கவும் இந்த Kubernetes அம்சம் வளர்ச்சியின் போது கூட உங்கள் ரகசியங்களை பாதுகாப்பாக வைத்திருக்கலாம்.

குபெர்னெட்ஸ் ரகசியங்களை நிர்வகிப்பதற்கான விருப்பமான அமைப்பு உங்களிடம் ஏற்கனவே இருக்கலாம். இல்லையெனில், இங்கே சில விருப்பங்கள் உள்ளன: அவற்றை உங்கள் கிளவுட் வழங்குநரின் KMS மூலம் என்க்ரிப்ட் செய்து, CD பைப்லைன் வழியாக ரகசியமாக K8S இல் உட்செலுத்துதல் - MozillaSOPS - கஸ்டமைஸ் ரகசியங்களுடன் இணைந்து நன்றாக வேலை செய்யும். இதேபோன்ற செயல்பாடுகளைச் செய்யும் dotGPG போன்ற பிற கருவிகளும் உள்ளன: ஹாஷிகார்ப் வால்ட், ரகசிய மதிப்பு செருகுநிரல்களைத் தனிப்பயனாக்குங்கள்.

உட்செல்வதை

லோக்கல் போர்ட் ஃபார்வர்டிங்கைப் பயன்படுத்த நீங்கள் தேர்வு செய்யாவிட்டால், உங்களுக்கு உள்ளமைக்கப்பட்ட இன்க்ரஸ் கன்ட்ரோலர் தேவைப்படும். நீங்கள் பயன்படுத்தவில்லை என்றால் நுழைவு-nginx (ஹெல்ம் விளக்கப்படம்) பின்னர் தேவையான சிறுகுறிப்புகளை நீங்கள் நிறுவ வேண்டும் என்பதை நீங்கள் ஏற்கனவே அறிந்திருக்கலாம் ingress-patch.yaml.tmpl அல்லது platform/ingress.yaml. நீங்கள் ingress-nginx ஐப் பயன்படுத்தினால், nginx இன்க்ரெஸ் வகுப்பை சுட்டி சமநிலைப்படுத்தி, வெளிப்புற டிஎன்எஸ் அல்லது வைல்டு கார்டு டிஎன்எஸ் உள்ளீட்டைக் கண்டால், நீங்கள் செல்வது நல்லது. இல்லையெனில், இன்க்ரஸ் கன்ட்ரோலர் மற்றும் டிஎன்எஸ் ஆகியவற்றை உள்ளமைக்கவும் அல்லது இந்தப் படிகளைத் தவிர்த்து, பாட் உடனான நேரடி இணைப்பை வைத்திருக்கவும்.

டிஎல்எஸ்

நீங்கள் பயன்படுத்தினால் சான்றிதழ் மேலாளர் அல்லது 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

அடுத்த படிகள்

அங்கீகாரம்

குபெர்னெட்டஸை விட Camunda BPM ஐ உள்ளமைக்க இது மிகவும் பொருத்தமானது, ஆனால் முன்னிருப்பாக, REST API இல் அங்கீகாரம் முடக்கப்பட்டுள்ளது என்பதை கவனத்தில் கொள்ள வேண்டும். உன்னால் முடியும் அடிப்படை அங்கீகாரத்தை செயல்படுத்தவும் அல்லது மற்றொரு முறையைப் பயன்படுத்தவும் ஜே.டபிள்யூ.டி. படத்தில் இருக்கும் கோப்புகளைத் திருத்த xml அல்லது xmlstarlet (மேலே காண்க) நீங்கள் configmaps மற்றும் தொகுதிகளைப் பயன்படுத்தலாம், மேலும் wget ஐப் பயன்படுத்தலாம் அல்லது ஒரு init கொள்கலன் மற்றும் பகிரப்பட்ட தொகுதியைப் பயன்படுத்தி ஏற்றலாம்.

அமர்வு மேலாண்மை

பல பயன்பாடுகளைப் போலவே, Camunda BPM JVM இல் அமர்வுகளைக் கையாளுகிறது, எனவே நீங்கள் பல பிரதிகளை இயக்க விரும்பினால், நீங்கள் ஒட்டும் அமர்வுகளை இயக்கலாம் (உதாரணமாக ingress-nginx), இது பிரதி மறையும் வரை இருக்கும் அல்லது குக்கீகளுக்கான அதிகபட்ச வயது பண்புக்கூறை அமைக்கும். மிகவும் வலுவான தீர்வுக்கு, நீங்கள் Tomcat இல் Session Managerஐப் பயன்படுத்தலாம். லார்ஸ் உள்ளது தனி பதவி இந்த தலைப்பில், ஆனால் இது போன்ற ஒன்று:

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 ஐப் பயன்படுத்தலாம்

பயன்படுத்தினோம் ட்வெம்ப்ராக்ஸி கூகுள் கிளவுட் மெமரிஸ்டோர் முன், உடன் memcached-session-manager (ரெடிஸை ஆதரிக்கிறது) அதை இயக்க.

அளவிடுதல்

நீங்கள் ஏற்கனவே அமர்வுகளைப் புரிந்துகொண்டிருந்தால், Camunda BPMஐ அளவிடுவதற்கான முதல் (மற்றும் பெரும்பாலும் கடைசி) வரம்பு தரவுத்தளத்திற்கான இணைப்பாக இருக்கலாம். பகுதி தனிப்பயனாக்கம் ஏற்கனவே உள்ளது "பெட்டியிலிருந்து" settings.xml கோப்பில் intialSize ஐ முடக்கவும். கூட்டு கிடைமட்ட பாட் ஆட்டோஸ்கேலர் (HPA) மற்றும் காய்களின் எண்ணிக்கையை நீங்கள் எளிதாக தானாக அளவிட முடியும்.

கோரிக்கைகள் மற்றும் கட்டுப்பாடுகள்

В platform/deployment.yaml நாங்கள் வளங்கள் துறையில் கடின குறியிடப்பட்டிருப்பதை நீங்கள் காண்பீர்கள். இது HPA உடன் நன்றாக வேலை செய்கிறது, ஆனால் கூடுதல் கட்டமைப்பு தேவைப்படலாம். கஸ்டமைஸ் பேட்ச் இதற்கு ஏற்றது. செ.மீ. ingress-patch.yaml.tmpl и ./kustomization.yaml.tmpl

முடிவுக்கு

எனவே ப்ரோமிதியஸ் அளவீடுகள், பதிவுகள், H2 தரவுத்தளம், TLS மற்றும் Ingress ஆகியவற்றைக் கொண்டு குபெர்னெட்டஸில் Camunda BPM ஐ நிறுவியுள்ளோம். ConfigMaps மற்றும் Dockerfile ஐப் பயன்படுத்தி ஜார் கோப்புகள் மற்றும் உள்ளமைவு கோப்புகளைச் சேர்த்துள்ளோம். இரகசியங்களிலிருந்து தரவுகளை தொகுதிகளுக்கும் நேரடியாக சூழல் மாறிகளுக்கும் பரிமாற்றம் செய்வது பற்றி பேசினோம். கூடுதலாக, பல பிரதிகள் மற்றும் அங்கீகரிக்கப்பட்ட API க்கான Camunda அமைப்பது பற்றிய மேலோட்டத்தை வழங்கினோம்.

குறிப்புகள்

github.com/camunda-cloud/camunda-examples/camunda-bpm-kubernetes

├── generated-manifest.yaml <- manifest for use without kustomize
├── images
│ └── camunda-bpm
│ └── Dockerfile <- overlay docker image
├── ingress-patch.yaml.tmpl <- site-specific ingress configuration
├── kustomization.yaml.tmpl <- main Kustomization
├── Makefile <- make targets
├── namespace.yaml
├── platform
│ ├── config
│ │ └── prometheus-jmx.yaml <- prometheus exporter config file
│ ├── deployment.yaml <- main deployment
│ ├── ingress.yaml
│ ├── kustomization.yaml <- "base" kustomization
│ ├── service-monitor.yaml <- example prometheus-operator config
│ └── service.yaml
└── skaffold.yaml.tmpl <- skaffold directives

05.08.2020/XNUMX/XNUMX, மொழிபெயர்ப்பு கட்டுரைகள் அலஸ்டர் ஃபிர்த், லார்ஸ் லாங்கே

ஆதாரம்: www.habr.com

கருத்தைச் சேர்