कुबेरनेट्स पर कैमुंडा बीपीएम चलाना

कुबेरनेट्स पर कैमुंडा बीपीएम चलाना

क्या आप कुबेरनेट्स का उपयोग कर रहे हैं? क्या आप अपने कैमुंडा बीपीएम इंस्टेंस को वर्चुअल मशीनों से बाहर ले जाने के लिए तैयार हैं, या शायद उन्हें कुबेरनेट्स पर चलाने का प्रयास करें? आइए कुछ सामान्य कॉन्फ़िगरेशन और व्यक्तिगत आइटम देखें जिन्हें आपकी विशिष्ट आवश्यकताओं के अनुरूप बनाया जा सकता है।

यह मानता है कि आपने पहले कुबेरनेट्स का उपयोग किया है। यदि नहीं, तो क्यों न देखें नेतृत्व और अपना पहला क्लस्टर प्रारंभ नहीं करें?

लेखक

  • एलेस्टेयर फ़र्थ (एलेस्टेयर फ़र्थ) - कैमुंडा क्लाउड टीम में वरिष्ठ साइट विश्वसनीयता इंजीनियर;
  • लार्स लैंग (लार्स लैंग) - कैमुंडा में डेवऑप्स इंजीनियर।

संक्षेप में, तब:

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

ठीक है, शायद यह काम नहीं कर सका क्योंकि आपके पास स्कैफ़ोल्ड और कस्टमाइज़ इंस्टॉल नहीं है। तो फिर आगे पढ़ें!

कैमुंडा बीपीएम क्या है?

कैमुंडा बीपीएम एक खुला स्रोत व्यवसाय प्रक्रिया प्रबंधन और निर्णय स्वचालन मंच है जो व्यावसायिक उपयोगकर्ताओं और सॉफ्टवेयर डेवलपर्स को जोड़ता है। यह लोगों, (सूक्ष्म) सेवाओं या यहां तक ​​कि बॉट्स के समन्वय और संपर्क के लिए आदर्श है! आप विभिन्न उपयोग मामलों के बारे में अधिक पढ़ सकते हैं लिंक.

कुबेरनेट्स का उपयोग क्यों करें?

कुबेरनेट्स लिनक्स पर आधुनिक एप्लिकेशन चलाने के लिए वास्तविक मानक बन गया है। हार्डवेयर इम्यूलेशन के बजाय सिस्टम कॉल का उपयोग करके और मेमोरी और कार्य स्विचिंग को प्रबंधित करने की कर्नेल की क्षमता, बूट समय और स्टार्टअप समय को न्यूनतम रखा जाता है। हालाँकि, सबसे बड़ा लाभ मानक एपीआई से हो सकता है जो कुबेरनेट्स सभी अनुप्रयोगों के लिए आवश्यक बुनियादी ढांचे को कॉन्फ़िगर करने के लिए प्रदान करता है: भंडारण, नेटवर्किंग और निगरानी। जून 2020 में यह 6 साल का हो गया और शायद यह दूसरा सबसे बड़ा ओपन सोर्स प्रोजेक्ट (लिनक्स के बाद) है। पिछले कुछ वर्षों में तेजी से पुनरावृत्ति के बाद यह हाल ही में सक्रिय रूप से अपनी कार्यक्षमता को स्थिर कर रहा है क्योंकि यह दुनिया भर में उत्पादन कार्यभार के लिए महत्वपूर्ण हो गया है।

कैमुंडा बीपीएम इंजन एक ही क्लस्टर पर चल रहे अन्य अनुप्रयोगों से आसानी से जुड़ सकता है, और कुबेरनेट्स उत्कृष्ट स्केलेबिलिटी प्रदान करता है, जिससे आप केवल जरूरत पड़ने पर बुनियादी ढांचे की लागत बढ़ा सकते हैं (और आवश्यकतानुसार उन्हें आसानी से कम कर सकते हैं)।

प्रोमेथियस, ग्राफाना, लोकी, फ्लुएंट और इलास्टिक्सर्च जैसे उपकरणों के साथ निगरानी की गुणवत्ता में भी काफी सुधार हुआ है, जिससे आप एक क्लस्टर में सभी कार्यभार को केंद्रीय रूप से देख सकते हैं। आज हम देखेंगे कि प्रोमेथियस निर्यातक को जावा वर्चुअल मशीन (जेवीएम) में कैसे लागू किया जाए।

लक्ष्यों

आइए कुछ क्षेत्रों पर नजर डालें जहां हम कैमुंडा बीपीएम डॉकर छवि को अनुकूलित कर सकते हैं (GitHub) ताकि यह कुबेरनेट्स के साथ अच्छी तरह से इंटरैक्ट कर सके।

  1. लॉग और मेट्रिक्स;
  2. डेटाबेस कनेक्शन;
  3. प्रमाणीकरण;
  4. सत्र प्रबंधन.

हम इन लक्ष्यों को प्राप्त करने के कई तरीकों पर गौर करेंगे और पूरी प्रक्रिया को स्पष्ट रूप से दिखाएंगे।

नोट: क्या आप एंटरप्राइज़ संस्करण का उपयोग कर रहे हैं? देखना यहां और आवश्यकतानुसार छवि लिंक अपडेट करें।

वर्कफ़्लो विकास

इस डेमो में, हम Google क्लाउड बिल्ड का उपयोग करके डॉकर छवियां बनाने के लिए स्केफोल्ड का उपयोग करेंगे। इसमें विभिन्न टूल (जैसे कस्टमाइज़ और हेल्म), सीआई और बिल्ड टूल और इंफ्रास्ट्रक्चर प्रदाताओं के लिए अच्छा समर्थन है। फ़ाइल skaffold.yaml.tmpl इसमें Google क्लाउड बिल्ड और GKE के लिए सेटिंग्स शामिल हैं, जो उत्पादन-ग्रेड बुनियादी ढांचे को चलाने का एक बहुत ही सरल तरीका प्रदान करता है।

make skaffold डॉकरफ़ाइल संदर्भ को क्लाउड बिल्ड में लोड करेगा, छवि बनाएगा और इसे जीसीआर में संग्रहीत करेगा, और फिर मैनिफ़ेस्ट को आपके क्लस्टर पर लागू करेगा। यह यही करता है make skaffold, लेकिन स्केफ़ोल्ड में कई अन्य विशेषताएं हैं।

Kubernetes में yaml टेम्प्लेट के लिए, हम संपूर्ण मेनिफेस्ट को फोर्क किए बिना yaml ओवरले को प्रबंधित करने के लिए कस्टमाइज़ का उपयोग करते हैं, जिससे आप इसका उपयोग कर सकते हैं git pull --rebase आगे के सुधार के लिए. अब यह क्यूबेक्टल में है और यह ऐसी चीजों के लिए काफी अच्छा काम करता है।

हम *.yaml.tmpl फ़ाइलों में होस्टनाम और GCP प्रोजेक्ट आईडी को पॉप्युलेट करने के लिए envsubst का भी उपयोग करते हैं। आप देख सकते हैं कि यह कैसे काम करता है makefile या बस आगे जारी रखें.

आवश्यक शर्तें

  • कार्य समूह Kubernetes
  • अनुकूलित करें
  • मचान - अपनी खुद की डॉकर छवियां बनाने और जीकेई पर आसान तैनाती के लिए
  • इस कोड की प्रति
  • Envsubst

मैनिफ़ेस्ट का उपयोग करके वर्कफ़्लो

यदि आप कस्टमाइज़ या स्केफ़ोल्ड का उपयोग नहीं करना चाहते हैं, तो आप इसमें मैनिफ़ेस्ट देख सकते हैं generated-manifest.yaml और उन्हें अपनी पसंद के वर्कफ़्लो में अनुकूलित करें।

लॉग और मेट्रिक्स

कुबेरनेट्स में मेट्रिक्स एकत्र करने के लिए प्रोमेथियस मानक बन गया है। यह AWS क्लाउडवॉच मेट्रिक्स, क्लाउडवॉच अलर्ट्स, स्टैकड्राइवर मेट्रिक्स, स्टैट्सडी, डेटाडॉग, नागियोस, वीस्फेयर मेट्रिक्स और अन्य के समान स्थान रखता है। यह खुला स्रोत है और इसमें एक शक्तिशाली क्वेरी भाषा है। हम विज़ुअलाइज़ेशन को ग्राफ़ाना को सौंपेंगे - यह बड़ी संख्या में डैशबोर्ड के साथ आता है। वे एक-दूसरे से जुड़े हुए हैं और इन्हें स्थापित करना अपेक्षाकृत आसान है प्रोमेथियस-ऑपरेटर.

डिफ़ॉल्ट रूप से, प्रोमेथियस निष्कर्षण मॉडल का उपयोग करता है <service>/metrics, और इसके लिए साइडकार कंटेनर जोड़ना आम बात है। दुर्भाग्यवश, जेएमएक्स मेट्रिक्स जेवीएम के भीतर सबसे अच्छी तरह से लॉग किए जाते हैं, इसलिए साइडकार कंटेनर उतने कुशल नहीं होते हैं। आइए जुड़ें jmx_निर्यातक इसे कंटेनर छवि में जोड़कर प्रोमेथियस से जेवीएम तक खुला स्रोत जो पथ प्रदान करेगा /metrics एक अलग बंदरगाह पर.

कंटेनर में प्रोमेथियस 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? कई अलग-अलग चीजें हैं जो जेवीएम में चल सकती हैं, और टॉमकैट उनमें से सिर्फ एक है, इसलिए निर्यातक को कुछ अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है। टॉमकैट, वाइल्डफ्लाई, काफ्का आदि के लिए मानक विन्यास उपलब्ध हैं यहां. हम टॉमकैट को इस रूप में जोड़ेंगे कॉन्फिग मैप कुबेरनेट्स में और फिर इसे वॉल्यूम के रूप में माउंट करें।

सबसे पहले, हम निर्यातक कॉन्फ़िगरेशन फ़ाइल को अपने प्लेटफ़ॉर्म/कॉन्फिग/निर्देशिका में जोड़ते हैं

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[] कॉन्फ़िगमैप कॉन्फ़िगरेशन तत्व के रूप में। कॉन्फिगमैपजेनरेटर बहुत अच्छे हैं क्योंकि वे कॉन्फ़िगरेशन डेटा को हैश करते हैं और यदि यह बदलता है तो पॉड को पुनरारंभ करने के लिए मजबूर करते हैं। वे परिनियोजन में कॉन्फ़िगरेशन की मात्रा को भी कम करते हैं क्योंकि आप कॉन्फ़िगरेशन फ़ाइलों के संपूर्ण "फ़ोल्डर" को एक वॉल्यूममाउंट में माउंट कर सकते हैं।

अंत में, हमें कॉन्फ़िगमैप को पॉड में वॉल्यूम के रूप में माउंट करने की आवश्यकता है:

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

आश्चर्यजनक। यदि प्रोमेथियस को पूर्ण सफाई करने के लिए कॉन्फ़िगर नहीं किया गया है, तो आपको उसे पॉड्स को साफ करने के लिए कहना पड़ सकता है। प्रोमेथियस ऑपरेटर उपयोगकर्ता उपयोग कर सकते हैं service-monitor.yaml प्रारंभ करना। अन्वेषण करना Service-monitor.yaml, ऑपरेटर डिज़ाइन и सर्विसमॉनिटरस्पेक आपके शुरू करने से पहले।

इस पैटर्न को अन्य उपयोग के मामलों में विस्तारित करना

कॉन्फिगमैपजेनरेटर में हमारे द्वारा जोड़ी गई सभी फ़ाइलें नई निर्देशिका में उपलब्ध होंगी /etc/config. आप अपनी ज़रूरत की किसी भी अन्य कॉन्फ़िगरेशन फ़ाइल को माउंट करने के लिए इस टेम्पलेट का विस्तार कर सकते हैं। आप एक नई स्टार्टअप स्क्रिप्ट भी माउंट कर सकते हैं। आप उपयोग कर सकते हैं सब-पाथ व्यक्तिगत फ़ाइलें माउंट करने के लिए. xml फ़ाइलों को अद्यतन करने के लिए, उपयोग करने पर विचार करें एक्सएमएलस्टारलेट सेड के बजाय. यह पहले से ही छवि में शामिल है.

पत्रिकाओं

अच्छी खबर! एप्लिकेशन लॉग पहले से ही stdout पर उपलब्ध हैं, उदाहरण के लिए kubectl logs. फ़्लुएंटडी (जीकेई में डिफ़ॉल्ट रूप से स्थापित) आपके लॉग को इलास्टिक्स खोज, लोकी या आपके एंटरप्राइज़ लॉगिंग प्लेटफ़ॉर्म पर अग्रेषित करेगा। यदि आप लॉग के लिए 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 के साथ एन्क्रिप्ट करना और फिर उन्हें सीडी पाइपलाइन के माध्यम से K8S में रहस्य के रूप में इंजेक्ट करना - मोज़िलाएसओपीएस - कस्टमाइज़ रहस्यों के साथ संयोजन में बहुत अच्छा काम करेगा। dotGPG जैसे अन्य उपकरण भी हैं, जो समान कार्य करते हैं: हशीकोर्प वॉल्ट, गुप्त मूल्य प्लगइन्स को अनुकूलित करें.

प्रवेश

जब तक आप स्थानीय पोर्ट फ़ॉरवर्डिंग का उपयोग करना नहीं चुनते, आपको एक कॉन्फ़िगर इनग्रेस कंट्रोलर की आवश्यकता होगी। यदि आप उपयोग नहीं करते हैं प्रवेश-nginx (हेल्म चार्ट) तो आप संभवतः पहले से ही जानते हैं कि आपको आवश्यक एनोटेशन स्थापित करने की आवश्यकता है ingress-patch.yaml.tmpl या platform/ingress.yaml. यदि आप इनग्रेस-नेग्नेक्स का उपयोग कर रहे हैं और एक लोड बैलेंसर और एक बाहरी डीएनएस या वाइल्डकार्ड डीएनएस प्रविष्टि के साथ एक नेग्नेक्स इनग्रेस क्लास देखते हैं, तो आप जाने के लिए तैयार हैं। अन्यथा, इनग्रेस कंट्रोलर और डीएनएस को कॉन्फ़िगर करें, या इन चरणों को छोड़ें और पॉड से सीधा कनेक्शन रखें।

टीएलएस

यदि आप उपयोग करते हैं प्रमाणपत्र प्रबंधक या क्यूब-लेगो और लेटसेंक्रिप्ट - नए लॉगिन के लिए प्रमाणपत्र स्वचालित रूप से प्राप्त हो जाएंगे। नहीं तो खोलो ingress-patch.yaml.tmpl और इसे अपनी आवश्यकताओं के अनुरूप अनुकूलित करें।

शुरू करना!

यदि आपने ऊपर लिखी सभी बातों का पालन किया है, तो आदेश make skaffold HOSTNAME=<you.example.com> में एक उपलब्ध उदाहरण लॉन्च करना चाहिए <hostname>/camunda

यदि आपने अपना लॉगिन किसी सार्वजनिक यूआरएल पर सेट नहीं किया है, तो आप इसे रीडायरेक्ट कर सकते हैं localhost: kubectl port-forward -n camunda-bpm-demo svc/camunda-bpm 8080:8080 पर localhost:8080/camunda

टॉमकैट पूरी तरह से तैयार होने तक कुछ मिनट प्रतीक्षा करें। प्रमाणपत्र-प्रबंधक को डोमेन नाम सत्यापित करने में कुछ समय लगेगा। फिर आप उपलब्ध टूल जैसे क्यूबटेल जैसे टूल का उपयोग करके या बस क्यूबेक्टल का उपयोग करके लॉग की निगरानी कर सकते हैं:

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

अगले चरण

प्राधिकरण

यह कुबेरनेट्स की तुलना में कैमुंडा बीपीएम को कॉन्फ़िगर करने के लिए अधिक प्रासंगिक है, लेकिन यह ध्यान रखना महत्वपूर्ण है कि डिफ़ॉल्ट रूप से, REST API में प्रमाणीकरण अक्षम है। तुम कर सकते हो बुनियादी प्रमाणीकरण सक्षम करें या किसी अन्य विधि का उपयोग करें जैसे जेडब्ल्यूटी. आप छवि में मौजूदा फ़ाइलों को संपादित करने के लिए xml, या xmlstarlet (ऊपर देखें) को लोड करने के लिए कॉन्फिगमैप्स और वॉल्यूम का उपयोग कर सकते हैं, और या तो wget का उपयोग कर सकते हैं या एक init कंटेनर और एक साझा वॉल्यूम का उपयोग करके उन्हें लोड कर सकते हैं।

सत्र प्रबंधन

कई अन्य अनुप्रयोगों की तरह, कैमुंडा बीपीएम जेवीएम में सत्रों को संभालता है, इसलिए यदि आप एकाधिक प्रतिकृतियां चलाना चाहते हैं, तो आप स्टिकी सत्र सक्षम कर सकते हैं (उदाहरण के लिए ingress-nginx के लिए), जो प्रतिकृति के गायब होने तक मौजूद रहेगा, या कुकीज़ के लिए अधिकतम-आयु विशेषता सेट करेगा। अधिक मजबूत समाधान के लिए, आप टॉमकैट में सत्र प्रबंधक तैनात कर सकते हैं। लार्स के पास है अलग पोस्ट इस विषय पर, लेकिन कुछ इस प्रकार:

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 का उपयोग कर सकते हैं

हमने इस्तेमाल किया ट्वेमप्रॉक्सी Google क्लाउड मेमोरीस्टोर के सामने, साथ में memcached-सत्र-प्रबंधक (रेडिस का समर्थन करता है) इसे चलाने के लिए।

स्केलिंग

यदि आप पहले से ही सत्रों को समझते हैं, तो कैमुंडा बीपीएम को स्केल करने की पहली (और अक्सर आखिरी) सीमा डेटाबेस से कनेक्शन हो सकती है। आंशिक अनुकूलन पहले से ही उपलब्ध है"डिब्बे से" आइए सेटिंग्स.xml फ़ाइल में intialSize को भी अक्षम करें। जोड़ना क्षैतिज पॉड ऑटोस्केलर (एचपीए) और आप आसानी से स्वचालित रूप से पॉड्स की संख्या माप सकते हैं।

अनुरोध और प्रतिबंध

В platform/deployment.yaml आप देखेंगे कि हमने संसाधन फ़ील्ड को हार्ड-कोड किया है। यह एचपीए के साथ अच्छी तरह से काम करता है, लेकिन अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता हो सकती है। कस्टमाइज़ पैच इसके लिए उपयुक्त है. सेमी। ingress-patch.yaml.tmpl и ./kustomization.yaml.tmpl

उत्पादन

इसलिए हमने कुबेरनेट्स पर प्रोमेथियस मेट्रिक्स, लॉग्स, एच2 डेटाबेस, टीएलएस और इनग्रेस के साथ कैमुंडा बीपीएम स्थापित किया। हमने कॉन्फिगमैप्स और डॉकरफाइल का उपयोग करके जार फ़ाइलें और कॉन्फ़िगरेशन फ़ाइलें जोड़ीं। हमने डेटा को वॉल्यूम से लेकर रहस्यों से सीधे पर्यावरण चर तक आदान-प्रदान करने के बारे में बात की। इसके अलावा, हमने कई प्रतिकृतियों और एक प्रमाणित एपीआई के लिए कैमुंडा की स्थापना का एक अवलोकन प्रदान किया।

संदर्भों

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

एक टिप्पणी जोड़ें