ααΎα’ααααααα»αααααΎ Kubernetes ααααα? ααααααααα½ααα½α ααΆααα αΎαααΎααααΈααααΆααααΈααααα» Camunda BPM ααααα’αααα ααααΈαααΆαααΈααα·αααα·α α¬αααα ααααΆααααΆααααααααΆααΆαααααΎαααΆααα½αααΆαα ααΎ Kubernetes? ααΌααααα‘ααααΎαααΆααααααααΌαα αα½αα ααα½α αα·αααΆαα»ααΈαα½αααααα’αΆα αααααΌααα ααΆααααααΌαααΆαααΆααααΆααααααα’αααα
ααΆααααααααΆα’αααααααΆααααααΎ Kubernetes ααΈαα»αααα ααΎβαα·αβα’ααΈα
αΉαβααβααΎαβαα
α’ααααα·αααα
Alastair Firth (Alastair Firth) - αα·αααααααΆαααΏααΆααααααα αααααααΆααααααααα ααΎαααα»α Camunda Cloud;α‘αΆα α‘αΆα (Lars Lange) - αα·ααααα DevOps αα Camunda α
αα·ααΆαα±ααααααΈα
git clone https://github.com/camunda-cloud/camunda-examples.git
cd camunda-examples/camunda-bpm-demo
make skaffold
αα·αα’αΈαα ααΆαααα ααααΆαα·αααααΎαααΆααα αααααΆαααα’ααααα·αααΆα skaffold αα·α ααααΌαααΆαααααα α’ααα αΉαα’αΆααααα!
Camunda BPM ααΆα’αααΈ?
Camunda BPM ααΊααΆαααααα·ααΈαααααααααααααΎαααΆαα’αΆααΈααααααααααααΎαα
αα αα·ααααα·ααΆααααααααααααα·ααααααααΆααααααα
α
α·ααα αααααααΆααα’αααααααΎααααΆααα’αΆααΈααααα αα·αα’ααααααααΎααααααα·ααΈα ααΆααα’αααααΆααααΆααααααααααα½α αα·αααααΆααααα»ααα ααααΆαααα (ααΈααααΌ) α¬ααΌααααΈααααΌααααα! α’αααα’αΆα
α’αΆαααααααα’αααΈααααΈααααΎααααΆαααααααααα
α ααα»α’αααΈααααΌαααααΎ Kubernetes
Kubernetes ααΆαααααΆαααΆαααααααΆαααΆααααααααααααΆααααααΎαααΆααααααα·ααΈααααΎααα ααΎααΈαα»α α αααααααΎααΆαα α ααΌαααααααΆαααααααααααα½αα±ααααΆαααααΆααααΆααααααααΉα αα·ααααααααΆαααααααΊααααααα»αααΆααααααααααα’αααα αα αΆα αα·αααΆαααααΆααααααΌαααΆααα·α αα αααααααΆα αΆααααααΎα αα·ααααα αΆααααααΎαααααΌαααΆααααααΆαα»ααα α’αααααααΆα αααααΆαααΆαααΆααααα α’ααααααααααααααααααα»αα’αΆα ααααΈ API αααααααΆαααα Kubernetes αααααα²ααααΎααααΈααααααα ααΆααααααααα αααααΆαα ααΆαααααααααααααΆαααΆαααααααααα·ααΈααΆααα’ααα ααΆααααα»α αααααΆα αα·αααΆααααα½ααα·αα·αααα ααΆααΆαα’αΆαα» 2020 ααααΆααα αααα»ααααα·αα»ααΆ ααααΆα 6 α αΎααααα ααααΆαααααααααααααΎαα αα αααααα»αααΈααΈα (αααααΆααααΈααΈαα»α ) α ααααΈαααα ααΆααααΌαααΆαααααΎα±ααααΆααααααααΆααα»αααΆααααααααα½ααααΆαααααα αααααΆααααΈααααΎαααΆαα‘αΎααα·ααααΆαααΆαααα αααααα»αααααααααα»ααααΆαααααΆαα α»ααααααααα αααααΆαααΆααααΆαααΆαααααΆααααΆαααααααΆααααααα»αααα·ααααααα αα»ααα·ααα·αααααα
Camunda BPM Engine α’αΆα ααααΆαααα αααααα·ααΈαααααααααααααααΎαααΆααα ααΎα ααααααααα½αααΆααααΆαααΆααααα½α α αΎα Kubernetes αααααααΌααααααααΆαααααΎααΆαααααααΆαααααα’α₯αααα αα αααα’αα»ααααΆαα±ααα’ααααααααΎαααΆαα αααΆαααΎα αααααΆαα ααΆαααααααααααα αααααααα·αααΆααααΌαααΆα (αα·αααΆααααα½αααΆαααααααααΆααΆααααααΌαααΆα)α
αα»αααΆαααααΆααααα½ααα·αα·αααααααααΌαααΆαααααΎα±αααααααΎαα‘αΎααααΆαααααΆααααΆαα½αααΉαα§αααααααΌα ααΆ Prometheus, Grafana, Loki, Fluentd αα·α Elasticsearch αααα’αα»ααααΆαα±ααα’αααααΎαααΈαααααΆαααααααα»αααΆαααΆααα αααα»αα ααααααα½αα αααααααααΎαααΉαααΎαααΈααααα’αα»ααααααΆαααΆαα αα Prometheus αα αααα»α Java Virtual Machine (JVM)α
ααααααα
ααΌααααα‘ααααΎαααααααα½αα
ααα½ααααααΎαα’αΆα
ααααΌαααΌαααΆα Camunda BPM Docker ααΆααααα (
- αααααα ααα»αα·ααααααα;
- ααΆααααααΆααααΌαααααΆααα·αααααα;
- ααΆααααααααααΆααααΆαααααΉαααααΌα;
- ααΆααααααααααααααα
ααΎαααΉααα·αα·αααααΎααα·ααΈααΆα αααΎαααΎααααΈαααααα ααΆαααΌαααααα ααΆααααα α αΎααααα αΆααααΆαα αααΆααααΌαααααΎαααΆαααΆααααΌαα
ααΆαααααααααΆααα ααΎα’ααααααα»αααααΎαααααα ααααΆααα? ααΎα
ααΆαα’αα·ααααααααα αΌαααΆαααΆα
αα
αααα»αααΆααααα αΆαααα ααΎαααΉαααααΎ Skaffold ααΎααααΈαααααΎαααΌαααΆα Docker αααααααΎ Google Cloud Buildα ααΆααΆαααΆαααΆααααααααα’αααααΆααα§ααααααααααα (ααΌα
ααΆ Kustomize αα·α Helm) CI αα·αα§αααααααΆαααα αα·αα’ααααααααα αααααΆαα
ααΆααααααααα α―αααΆα skaffold.yaml.tmpl
αα½ααααα
αΌαααΆαααααααααααΆαα Google Cloud Build αα·α GKE ααααααααααΌααα·ααΈααΆαααααααα»ααααα»αααΆαααααΎαααΆαα αααααΆαα
ααΆααααααααααααα·αααα·αααααα
make skaffold
ααΉααααα»αααα·αα Dockerfile αα
αααα»α Cloud Build αααααΎαααΌαααΆα α αΎααααααΆαα»αααΆαα
αααα»α GCR α αΎααααααΆααααα’αα»αααα manifests αα
cluster ααααα’αααα αααααΆα’αααΈαααααΆααααΎ make skaffold
ααα»αααα Skaffold ααΆααα»αααΆαααΆα
αααΎααααα
αααααΆααααααΌ yaml αα
αααα»α Kubernetes ααΎαααααΎ kustomize ααΎααααΈαααααααααααΆαααΆαααΎ yaml ααααα·αα
αΆαααΆα
ααα·α manifest ααΆααααΌα αααα’αα»ααααΆαα±ααα’αααααααΎ git pull --rebase
αααααΆααααΆααααααα’αααααααααα α₯α‘αΌααααααΆαααα·ααα
αααα»α kubectl α αΎαααΆααααΎαααΆαααα’αααααΆααααΏαααααααα
ααΎαααααααΎ envsubst ααΎααααΈαααα
αΌαααααααααΆαααΈα αα·αααααααααΆαααααααα GCP αα
αααα»αα―αααΆα *.yaml.tmpl α α’αααα’αΆα
ααΎαααΈαααααααααΆααααΎαααΆααα
αααα»α makefile
α¬ααααΆαααααααααα
αα»ααααα
ααααααααα αΆαααΆα α
- α
αααααααΆαααΆα
Kubernetes ααααΌαααΆααααα Skaffold - αααααΆααααΆααααααΎαααΌαααΆα docker ααααΆαααααα½αααααα’ααα αα·αααΆααααα½ααααα»αααΆαααΆαααααααΆααα GKE- α αααΆααα αααααααααααΌααααα
- Envsubst
ααα αΌαααΆαααΆααααααααΎ manifests
ααααα·αααΎα’ααααα·αα
ααααααΎ kustomize α¬ skaffold α’αααα’αΆα
ααααα
manifests αα
αααα»α generated-manifest.yaml
α αΎαβαααααβαα½αααβαα
ααΆαβααααΎαααΆαβααΆαααΆαβααβαααααΎαβααααα’αααα
αααααα ααα»αα·ααααααα
Prometheus ααΆαααααΆαααΆαααααααΆααααααΆααααΆααααααΌααααααααα
αααα»α Kubernetes α ααΆααΆααααΆααααΈααααΆααα·αααααΌα
ααααΆααΉα AWS Cloudwatch Metrics, Cloudwatch Alerts, Stackdriver Metrics, StatsD, Datadog, Nagios, vSphere Metrics αα·αααααααααα ααΆααΆαααααααΎαα
αα αα·αααΆαααΆααΆαααα½αααααΆαα₯αααα·ααα ααΎαααΉαααααααααΆαααΎαααΎααα
Grafana - ααΆααααΆααααααΆαα½αααααΆααααααααααααα½αα
ααα½ααααααα’αΆα
ααααΆαα
ααααΈαααα’ααα αα½αααΆααααΌαααΆαααααΆαααα
ααααΆαα
αα·ααα
αα αα·αααΆαααΆαααΆααααα½ααααα»αααΆαααα‘αΎαααΆαα½α
ααΆαααααΆαααΎα Prometheus ααααΎααααΌαααααα
αα <service>/metrics
α αΎαααΆααααααααα»αααΆαααααααααααααΆαααααααΊααΆααΏαααααααΆα ααΆα’αα»αα αααααΆαα JMX ααααΌαααΆααααααααΆαααΆαααα’αααα»ααα
αααα»α JVM ααΌα
αααααα»αααΊααα sidecar αα·αααΆαααααα·αααααΆαααΌα
αααααα αααααααΆαα /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
ααΆααΆααααααΎαααΆαα αααααΆααΆαααΆααααα½αα α’αααααΆαα
ααααΉααααα½ααα·αα·ααα tomcat αα·ααααα αΆααααααΆααααααααΆααΆαααααα Prometheus αα
<svc>:9404/metrics
ααΆαααα‘αΎαα’αααααΆαα αα
α’αααα’αΆααααα
αΆααα’αΆαααααααααα ααααΆαααααααΆααΎααΆααααΈααΆ prometheus-jmx.yaml
? ααΆααααααααααααααΆααΆα
αααΎααααα’αΆα
ααααΎαααΆααα
αααα»α JVM α αΎα tomcat ααΊααααΆααααααΆαααααα½ααααα»αα
αααααα½ααα ααΌα
ααααα’αααααΆαα
ααααααΌαααΆαααΆαααααααααααααα½αα
ααα½αα ααΆαααααααα
ααΆαααααααααααααααΆααααααΆαα tomcat, wildfly, kafka ααΆααΎαα
ααΆααααΌα ααΎαααααααα―αααΆαααααααα ααΆααααααααα’αααααΆαα αααα αααα·ααΆ/ααααααα ααΆαααααααα/ααααααααΎαα
platform/config
βββ prometheus-jmx.yaml
αααααΆααααααΎααααααα kustomization.yaml.tmp
l:
-- platform/kustomization.yaml.tmpl
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
[...]
configMapGenerator:
- name: config
files:
- config/prometheus-jmx.yaml
ααΆααΉαααααααααΆαα»ααΈαα½αα files[]
ααΆααΆαα»ααααααα
ααΆαααααααα ConfigMap α ConfigMapGenerators ααΊα’ααα
αΆαααααΆαα αααααααΆ hash data configuration and force a pod restart if it change. αα½αααααααΆαααααααα
ααα½αααααΆαααααααα
ααΆαααααααααα
αααα»αααΆαααΆααα±ααααααΎααααΆααααααα α
αΆααααΆααααΈα’αααα’αΆα
ααααΆαα "αα" ααΆααααΌαααα―αααΆαααααααα
ααΆαααααααααα
αααα»α 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 Operator α’αΆα
ααααΎααααΆααααΆαα service-monitor.yaml
ααΎααααΈα
αΆααααααΎαα αα»ααα Service-monitor.yaml
,
αααααΈαααααΌααααα ααααΈααααΎααααΆααααααααααα
α―αααΆαααΆααα’αααααααΎααααααααα
ConfigMapGenerator ααΉαααΆααα
αααα»αααααααΈα /etc/config
. α’αααα’αΆα
αααααΈαααααΌααα ααΎααααΈααααΆααα―αααΆαααααααα
ααΆαααααααααααααααααααα’αααααααΌαααΆαα α’ααααααααΆααα’αΆα
ααααΆααααααααΈαα
αΆααααααΎαααααΈααΆααααααα αααβα’αααβα’αΆα
βααααΎ
ααααααΆαααααΈ
ααααααΆαβα’ααα
αΆααα! αααααα ααα»αααααα·ααΈααΆααα½α
α αΎααα
ααΎ stdout α§ααΆα αααααΆαα½α kubectl logs
. Fluentd (ααα‘αΎαααΆαααααΆαααΎααααα»α GKE) ααΉααααααΌααααααα ααα»ααααα’ααααα
Elasticsearch, Loki α¬αααα·ααΆαααααααΆαα ααααΆαααααα’αααα ααααα·αααΎα’αααα
ααααααΎ jsonify αααααΆαααααααα ααα» αααα’αααα’αΆα
ααααΎααΆαααααΌααΆαααΎααΎααααΈααα‘αΎα
ααΌαααααΆααα·αααααα
ααΆαααααΆαααΎα ααΌαααΆαααΉαααΆαααΌαααααΆααα·αααααα H2 α ααΆβαα·αβαααααα·ααβαααααΆααβααΎαβαα α αΎαβααΎαβααΉαβααααΎ Google Cloud SQL ααΆαα½α Cloud SQL Proxy - ααΆβααΉαβααααΌαβααΆαβαααβαααααβααΎααααΈβαααααααΆαβαααα αΆβααΆααααα»αα αααααΊααΆαααααΎαααααΆαααα αα·αα’αΆα αα»αα α·αααααΆα ααααα·αααΎα’ααααα·αααΆαα αααΌαα α·αααααααΆαααααα½αααααα’ααααααα»αααΆαααα‘αΎαααΌαααααΆααα·ααααααα 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 ααΆα’αΆααααααΆααααΆααααααααααααΈααΈ β
Ingress
αα»αααααΆααα’αααααααΎαααΎαααααΎααΆααααααΌαααααα
αααααΌαααααΆα α’αααααΉαααααΌαααΆαα§ααααααααααΆ Ingress αααααΆαααααααα
ααΆααααααααα ααααα·αααΎα’ααααα·αααααΎ ingress-patch.yaml.tmpl
α¬ platform/ingress.yaml
. ααααα·αααΎα’ααααααα»αααααΎ ingress-nginx α αΎαααΎαααααΆαα ingress nginx ααΆαα½αααΉα load balancer α
ααα’α»ααα
ααΆ αα·α DNS ααΆααααα
α¬ wildcard αααα
αΌα DNS ααα α’ααααα·αααΆααα’αααα»αααΆααα
α ααΎαα·αααΌα
αααααα ααααααα
ααΆαααααααα Ingress Controller αα·α DNS α¬ααααααα αΆαααΆααααα α αΎααααααΆααΆαααααΆαααααααααΆαααα
ααα
TLS ααΆα
ααααα·αααΎα’ααααααα»αααααΎ 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
αααα αΆαααΈαααΈααΆααΈαα αΌαααα tomcat αα½α ααΆααα Cert-manager ααΉαα αααΆααααααααααΎααααΈαααααααααΆααααααααααα αααααΆααααα’αααα’αΆα αααα½ααα·αα·ααααααααα ααα»αααααααΎα§ααααααααααΆαααΌα ααΆα§αααααααΌα ααΆ kubetail α¬ααααΆααααααααΎ kubectlα
kubectl logs -n camunda-bpm-demo $(kubectl get pods -o=name -n camunda-bpm-demo) -f
ααα αΆαβαααααΆαα
ααΆαα’αα»ααααΆα
αααααΆαααααααααΉαααΆαααααααα
ααΆαααααααα Camunda BPM ααΆα Kubernetes ααα»ααααααΆααααΆαααααα»αααΆαααααααααΆααααΆααΆαααααΆαααΎα ααΆααααααααααΆααααααΌαααΆααα·ααα
αααα»α REST API α α’αααβα’αΆα
ααΆαααααααααααααα
ααΌα
αααααα·ααΈααααααααααΆα
αααΎαααα Camunda BPM ααααααααααααααα
αααα»α JVM ααΌα
ααααααααα·αααΎα’αααα
ααααααΎαααΆαααΆαα
ααααα
αααΎα α’αααα’αΆα
ααΎαααααααα’α·α (
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
ααΎαβααΆαβααααΎ
ααΆαααααΎααΆαααααααΆα
ααααα·αααΎα’αααααααααααα½α
α αΎα αααααΆααααααααααΌα (α αΎαααΆααΉαααΆααα
α»αααααα) αααα»αααΆαααααΎααΆαααααααΆα Camunda BPM α’αΆα
ααΆααΆαααααΆαααα
ααΌαααααΆααα·ααααααα ααΆαβααααΌαβααΆαβααααβαααααβααΆαβαα½α
βα αΎα"
ααααΎ αα·αααΆαααΉααααααΉα
Π platform/deployment.yaml
α’αααβααΉαβααΎαβααΆβααΎαβααΆαβαααααβααΌαβαααΆαβααααΆααβααΎβααΆαβααααΆαα ααΆααααΎαααΆαααα’ααΆαα½α HPA ααα»ααααα’αΆα
αααααΌαα±ααααΆαααΆααααααααααααα αααα kustomize ααΊαααααααααααΆααααΆααααα αααβααΈβαααβαα ingress-patch.yaml.tmpl ΠΈ ./kustomization.yaml.tmpl
ααα ααααΈααααα·ααααΆα
ααΌα αααα ααΎαααΆαααα‘αΎα Camunda BPM αα ααΎ Kubernetes ααΆαα½αααΉααααααΆαα Prometheus, αααααα ααα», ααΌαααααΆααα·αααααα H2, TLS αα·α Ingress α ααΎαααΆαααααααα―αααΆα jar αα·αα―αααΆαααααααα ααΆαααααααααααααααΎ ConfigMaps αα·α Dockerfile α ααΎαααΆααα·ααΆαα’αααΈααΆαααααΆααααααΌααα·αααααααα ααΆααα·ααΆα αα·ααααααααΆαααα α’αααααα·ααααΆαααΈα’αΆααααααΆααα ααΎαααΈααα ααΎαααΆαααααααα·αααααΆαααΌαα ααααΆαααα‘αΎα Camunda αααααΆααααΆαα ααααα αααΎα αα·α 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