ndemanga: Kodi mukugwiritsa ntchito mtundu wa Enterprise? Penyani! apa ndikusintha maulalo azithunzi ngati pakufunika.
Kupititsa patsogolo ntchito
Muchiwonetserochi, tidzagwiritsa ntchito Skaffold kupanga zithunzi za Docker pogwiritsa ntchito Google Cloud Build. Ili ndi chithandizo chabwino pazida zosiyanasiyana (monga Kustomize ndi Helm), CI ndi zida zomangira, ndi othandizira zomangamanga. Fayilo skaffold.yaml.tmpl imaphatikizapo zoikidwiratu za Google Cloud Build ndi GKE, zomwe zimapereka njira yosavuta yoyendetsera zomangamanga zopangira.
make skaffold idzakweza zolemba za Dockerfile mu Cloud Build, pangani chithunzicho ndikuchisunga mu GCR, kenako ndikuyika zowonetsera pagulu lanu. Izi ndi zomwe zimachita make skaffold, koma Skaffold ili ndi zina zambiri.
Timagwiritsanso ntchito envsubst kudzaza dzina la olandila ndi ID ya projekiti ya GCP mumafayilo a *.yaml.tmpl. Mutha kuwona momwe zimagwirira ntchito makefile kapena ingopitirirani.
Skaffold - popanga zithunzi zanu za docker ndikutumiza mosavuta ku GKE
Kopi ya code iyi
Zithunzi za Envsubst
Njira yogwiritsira ntchito mawonekedwe
Ngati simukufuna kugwiritsa ntchito kustomize kapena skaffold, mutha kulozera pazowonetsa mu generated-manifest.yaml ndi kuzisintha kuti zigwirizane ndi kachitidwe kanu.
Zolemba ndi metrics
Prometheus wakhala muyeso wotolera ma metric ku Kubernetes. Imakhala ndi niche yofanana ndi AWS Cloudwatch Metrics, Cloudwatch Alerts, Stackdriver Metrics, StatsD, Datadog, Nagios, vSphere Metrics ndi ena. Ndi gwero lotseguka ndipo lili ndi chilankhulo champhamvu chofunsa. Tipereka zowonera ku Grafana - zimabwera ndi ma dashboard ambiri omwe akupezeka m'bokosi. Iwo olumikizidwa kwa wina ndi mzake ndipo ndi zosavuta kukhazikitsa ndi wogwiritsa ntchito prometheus.
Mwachikhazikitso, Prometheus amagwiritsa ntchito chitsanzo chochotsa <service>/metrics, ndi kuwonjezera zotengera zam'mbali za izi ndizofala. Tsoka ilo, ma metric a JMX amalowetsedwa bwino mu JVM, kotero zotengera zam'mbali sizigwira ntchito bwino. Tiyeni tigwirizane jmx_exporter gwero lotseguka kuchokera ku Prometheus kupita ku JVM powonjezera pa chithunzi cha chidebe chomwe chidzapereke njira /metrics padoko lina.
Onjezani Prometheus jmx_exporter ku chidebecho
-- 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
Chabwino, izo zinali zophweka. Wotumiza kunja aziyang'anira tomcat ndikuwonetsa ma metric ake mumtundu wa Prometheus pa <svc>:9404/metrics
Kukonzekera kwa kunja
Wowerenga mwachidwi angadabwe kuti idachokera kuti prometheus-jmx.yaml? Pali zinthu zambiri zosiyanasiyana zomwe zimatha kuthamanga mu JVM, ndipo tomcat ndi imodzi mwa izo, kotero wotumiza kunja amafunikira kasinthidwe kowonjezera. Kukonzekera kokhazikika kwa tomcat, wildfly, kafka ndi zina zotero zilipo apa. Tidzawonjezera tomcat ngati ConfigMap mu Kubernetes ndikuyiyika ngati voliyumu.
Choyamba, timawonjezera fayilo yosinthira kunja ku nsanja yathu/config/ directory
Ngati simunakhazikitse malowedwe anu ku ulalo wapagulu, mutha kuulozeranso ndi localhost: kubectl port-forward -n camunda-bpm-demo svc/camunda-bpm 8080:8080 pa localhost:8080/camunda
Ngati mumamvetsetsa kale magawo, ndiye kuti choletsa choyamba (ndipo nthawi zambiri chomaliza) pakukulitsa Camunda BPM chikhoza kukhala cholumikizira ku database. Kusintha pang'ono kulipo kale "kuchokera ku bokosi" Tiyeni tiyimitsenso intialSize mu fayilo ya settings.xml. Onjezani Horizontal Pod Autoscaler (HPA) ndipo mutha kukulitsa mosavuta kuchuluka kwa ma pod.
Zopempha ndi zoletsa
В platform/deployment.yaml Mudzawona kuti takhomerera kwambiri gawo lazothandizira. Izi zimagwira ntchito bwino ndi HPA, koma zingafunike kusinthidwa kowonjezera. Chigamba cha kustomize ndichoyenera izi. Cm. ingress-patch.yaml.tmpl и ./kustomization.yaml.tmpl
Pomaliza
Chifukwa chake tidayika Camunda BPM pa Kubernetes ndi ma Prometheus metrics, mitengo, H2 database, TLS ndi Ingress. Tidawonjezera mafayilo amatsuko ndi mafayilo osinthira pogwiritsa ntchito ConfigMaps ndi Dockerfile. Tinakambirana za kusinthanitsa deta ku ma voliyumu komanso mwachindunji ku zosintha zachilengedwe kuchokera ku zinsinsi. Kuphatikiza apo, tidapereka chiwongolero chakukhazikitsa Camunda kwa ma replicas angapo komanso API yotsimikizika.