summaryrefslogtreecommitdiffstats
path: root/docs/images/models_demo_flow.svg
blob: 3a61dc32107f7a9461571b554b5d5858b414428f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="2024" height="3877" xmlns:xlink="http://www.w3.org/1999/xlink"><source><![CDATA[Title: High-level flow for the OPNFV Models+VES demo deployment.
# (c) 2018 AT&T Intellectual Property, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# To generate the flow, paste the content of this file into the editor at 
# https://bramp.github.io/js-sequence-diagrams/, and select Theme "Simple"

participant Admin Server as admin
participant k8s master as k8s_master
participant k8s worker as k8s_worker
participant Cloudify Manager as cloudify
participant k8s pods as k8s_pod
participant Barometer as barometer
participant Kafka\nZookeeper as kafka
participant VES Agent as agent
participant VES Collector as collector
participant InfluxDB as influxdb
participant Grafana as grafana
Note over admin, grafana: For brevity, action/api responses are not shown (flow continuation indicates success).
admin->k8s_master: deploy host OS
admin->k8s_worker: deploy host OS
admin->k8s_master: (SSH) install k8s master
note over k8s_master: install k8s and\nkube-system pods
admin->k8s_master: (SSH) install k8s workers
k8s_master->k8s_worker: (SSH) install k8s worker
k8s_worker->k8s_master: (api) register as worker
admin->k8s_master: (SSH) install helm
admin->k8s_master: (SSH) test helm chart (nginx)
k8s_master->k8s_worker: (k8s) start nginx pod
note over k8s_pod: (nginx pod)
k8s_worker->k8s_pod: create pod
k8s_master->k8s_pod: GET http://(nginx-service)
k8s_master->k8s_worker: (k8s) stop nginx pod
k8s_worker->k8s_pod: delete pod
admin->k8s_master: (SSH) deploy ceph-docker\nhelm chart
k8s_master->k8s_worker: (k8s) install ceph-docker
admin->k8s_master: (SSH) test helm chart with\n ceph PVC (dokuwiki)
k8s_master->k8s_worker: (k8s) start dokuwiki pod
note over k8s_pod: (dokuwiki pod)
k8s_worker->k8s_pod: create pod
k8s_master->k8s_pod: GET http://(dokuwiki-service)
note over k8s_worker: (k8s worker)
admin->k8s_master: (SSH) install cloudify manager
note over k8s_master: install cloudify CLI
note over cloudify: (on k8s master)
k8s_master->cloudify: create cloudify manager VM
k8s_master->cloudify: (cfy cli) install cloudify k8s plugin
admin->cloudify: (api) upload/deploy cloudify-k8s chart (nginx)
cloudify->k8s_master: (api) deploy nginx chart
k8s_master->k8s_worker: (k8s) start nginx pod
note over k8s_pod: (nginx pod)
k8s_worker->k8s_pod: create pod
admin->k8s_pod: GET http://(nginx-service)
admin->cloudify: (api) upload/deploy ves-influxdb chart
cloudify->k8s_master: (api) deploy ves-influxdb chart
k8s_master->k8s_worker: (k8s) start ves-influxdb pod
k8s_worker->influxdb: create pod (type=ClusterIP,port=8086)
admin->influxdb: (api) create veseventsdb
admin->cloudify: (api) upload/deploy grafana chart
cloudify->k8s_master: (api) deploy grafana chart
k8s_master->k8s_worker: (k8s) start grafana pod
k8s_worker->grafana: create pod (type=NodePort,port=30300)
admin->grafana: create VESEvents datasource
note over grafana: (repeat on\nupdate schedule)
grafana->influxdb: (api)\nquery veseventsdb
admin->grafana: create VES dashboard
note over grafana: display stats\non dashboard
admin->cloudify: (api) upload/deploy ves-collector chart
cloudify->k8s_master: (api) deploy ves-collector chart
k8s_master->k8s_worker: (k8s) start ves-collector pod
k8s_worker->collector: create pod (type=ClusterIP,port=3001)
admin->cloudify: (api) upload/deploy ves-zookeeper chart
cloudify->k8s_master: (api) deploy ves-zookeeper chart
k8s_master->k8s_worker: (k8s) start ves-zookeeper pod
note over kafka: (zookeeper pod)
k8s_worker->kafka: create pod (type=ClusterIP,port=2181)
admin->cloudify: (api) upload/deploy ves-kafka chart
cloudify->k8s_master: (api) deploy ves-kafka chart
k8s_master->k8s_worker: (k8s) start ves-kafka pod
note over kafka: (kafka pod)
k8s_worker->kafka: create pod (type=NodePort,port=30992)
note over kafka: NodePort required\nfor barometer
admin->cloudify: (api) upload/deploy ves-agent chart
cloudify->k8s_master: (api) deploy ves-agent chart
k8s_master->k8s_worker: (k8s) start ves-agent pod
k8s_worker->agent: create pod
admin->k8s_master: (SSH) install barometer container
note over barometer: (on k8s master)
k8s_master->barometer: create barometer container
barometer->kafka: (api) register\n"collectd" topic
note over kafka: configure topic\nvia zookeeper
admin->k8s_worker: (SSH) install barometer container
note over barometer: (on k8s worker)
k8s_worker->barometer: create barometer container
barometer->kafka: (api) register\n"collectd" topic
note over kafka: (api) configure topic\nvia zookeeper
note over barometer: (on k8s master\nand workers,\nper schedule)
barometer->kafka: (api) publish\ncollectd stats
kafka->agent: (api)\ncollectd stats
agent->collector: (api) VES event
collector->influxdb: (api)\nveseventsdb entry]]></source><desc>High-level flow for the OPNFV Models+VES demo deployment.</desc><defs><marker viewBox="0 0 5 5" markerWidth="5" markerHeight="5" orient="auto" refX="5" refY="2.5" id="markerArrowBlock"><path d="M 0 0 L 5 2.5 L 0 5 z"></path></marker><marker viewBox="0 0 9.6 16" markerWidth="4" markerHeight="16" orient="auto" refX="9.6" refY="8" id="markerArrowOpen"><path d="M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"></path></marker></defs><g class="title"><rect x="10" y="10" width="511.421875" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="15" y="29.390625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="15">High-level flow for the OPNFV Models+VES demo deployment.</tspan></text></g><g class="actor"><rect x="10" y="48.390625" width="126.359375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="20.796875" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="20">Admin Server</tspan></text></g><g class="actor"><rect x="10" y="3799.65625" width="126.359375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="20.796875" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="20">Admin Server</tspan></text></g><line x1="73.1796875" x2="73.1796875" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="329.4921875" y="48.390625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="339.4921875" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="339.4921875">k8s master</tspan></text></g><g class="actor"><rect x="329.4921875" y="3799.65625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="339.4921875" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="339.4921875">k8s master</tspan></text></g><line x1="383.4765625" x2="383.4765625" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="604.6015625" y="48.390625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="614.6015625" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="614.6015625">k8s worker</tspan></text></g><g class="actor"><rect x="604.6015625" y="3799.65625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="614.6015625" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="614.6015625">k8s worker</tspan></text></g><line x1="658.5859375" x2="658.5859375" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="732.5703125" y="48.390625" width="160.75" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="742.5703125" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="742.5703125">Cloudify Manager</tspan></text></g><g class="actor"><rect x="732.5703125" y="3799.65625" width="160.75" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="742.5703125" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="742.5703125">Cloudify Manager</tspan></text></g><line x1="812.9453125" x2="812.9453125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="913.3203125" y="48.390625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="923.3203125" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="923.3203125">k8s pods</tspan></text></g><g class="actor"><rect x="913.3203125" y="3799.65625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="923.3203125" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="923.3203125">k8s pods</tspan></text></g><line x1="958.5078125" x2="958.5078125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1023.6953125" y="48.390625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1033.6953125" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1033.6953125">Barometer</tspan></text></g><g class="actor"><rect x="1023.6953125" y="3799.65625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1033.6953125" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1033.6953125">Barometer</tspan></text></g><line x1="1073.28125" x2="1073.28125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1184.4453125" y="48.390625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1194.4453125" y="72.78125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1194.4453125">Kafka</tspan><tspan dy="1.2em" x="1194.4453125">Zookeeper</tspan></text></g><g class="actor"><rect x="1184.4453125" y="3799.65625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1194.4453125" y="3824.046875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1194.4453125">Kafka</tspan><tspan dy="1.2em" x="1194.4453125">Zookeeper</tspan></text></g><line x1="1234.03125" x2="1234.03125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1327.203125" y="48.390625" width="99.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1338" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1337.203125">VES Agent</tspan></text></g><g class="actor"><rect x="1327.203125" y="3799.65625" width="99.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1338" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1337.203125">VES Agent</tspan></text></g><line x1="1377.1875" x2="1377.1875" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1461.5625" y="48.390625" width="135.15625" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1472.359375" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1471.5625">VES Collector</tspan></text></g><g class="actor"><rect x="1461.5625" y="3799.65625" width="135.15625" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1472.359375" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1471.5625">VES Collector</tspan></text></g><line x1="1529.140625" x2="1529.140625" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1653.5" y="48.390625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1663.5" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1663.5">InfluxDB</tspan></text></g><g class="actor"><rect x="1653.5" y="3799.65625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1663.5" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1663.5">InfluxDB</tspan></text></g><line x1="1698.6875" x2="1698.6875" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1827.4453125" y="48.390625" width="81.578125" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1837.4453125" y="82.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1837.4453125">Grafana</tspan></text></g><g class="actor"><rect x="1827.4453125" y="3799.65625" width="81.578125" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1837.4453125" y="3833.6484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1837.4453125">Grafana</tspan></text></g><line x1="1868.234375" x2="1868.234375" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="note"><rect x="63.1796875" y="125.984375" width="1815.0546875" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="68.1796875" y="145.375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="68.1796875">For brevity, action/api responses are not shown (flow continuation indicates success).</tspan></text></g><g class="signal"><text x="166.75" y="184.5703125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="166.75">deploy host OS</tspan></text><line x1="73.1796875" x2="383.4765625" y1="192.765625" y2="192.765625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="304.3046875" y="222.9609375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="304.3046875">deploy host OS</tspan></text><line x1="73.1796875" x2="658.5859375" y1="231.15625" y2="231.15625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="122.765625" y="261.3515625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="122.765625">(SSH) install k8s master</tspan></text><line x1="73.1796875" x2="383.4765625" y1="269.546875" y2="269.546875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="308.1015625" y="289.546875" width="150.75" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="313.1015625" y="308.9375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="313.1015625">install k8s and</tspan><tspan dy="1.2em" x="313.1015625">kube-system pods</tspan></text></g><g class="signal"><text x="118.3671875" y="367.3359375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="118.3671875">(SSH) install k8s workers</tspan></text><line x1="73.1796875" x2="383.4765625" y1="375.53125" y2="375.53125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="415.46875" y="405.7265625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="415.46875">(SSH) install k8s worker</tspan></text><line x1="383.4765625" x2="658.5859375" y1="413.921875" y2="413.921875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="415.46875" y="444.1171875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="415.46875">(api) register as worker</tspan></text><line x1="658.5859375" x2="383.4765625" y1="452.3125" y2="452.3125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="149.15625" y="482.5078125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="149.15625">(SSH) install helm</tspan></text><line x1="73.1796875" x2="383.4765625" y1="490.703125" y2="490.703125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="100.7734375" y="520.8984375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="100.7734375">(SSH) test helm chart (nginx)</tspan></text><line x1="73.1796875" x2="383.4765625" y1="529.09375" y2="529.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="428.6640625" y="559.2890625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="428.6640625">(k8s) start nginx pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="567.484375" y2="567.484375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="905.125" y="587.484375" width="106.765625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="910.125" y="606.875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="910.125">(nginx pod)</tspan></text></g><g class="signal"><text x="764.5625" y="646.0703125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="764.5625">create pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="654.265625" y2="654.265625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="556.6328125" y="684.4609375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="556.6328125">GET http://(nginx-service)</tspan></text><line x1="383.4765625" x2="958.5078125" y1="692.65625" y2="692.65625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="433.0625" y="722.8515625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="433.0625">(k8s) stop nginx pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="731.046875" y2="731.046875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="764.5625" y="761.2421875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="764.5625">delete pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="769.4375" y2="769.4375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="122.765625" y="790.03125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="122.765625">(SSH) deploy ceph-docker</tspan><tspan dy="1.2em" x="122.765625">helm chart</tspan></text><line x1="73.1796875" x2="383.4765625" y1="827.03125" y2="827.03125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="411.0703125" y="857.2265625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="411.0703125">(k8s) install ceph-docker</tspan></text><line x1="383.4765625" x2="658.5859375" y1="865.421875" y2="865.421875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="113.96875" y="886.015625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="113.96875">(SSH) test helm chart with</tspan><tspan dy="1.2em" x="113.96875">ceph PVC (dokuwiki)</tspan></text><line x1="73.1796875" x2="383.4765625" y1="923.015625" y2="923.015625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="415.46875" y="953.2109375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="415.46875">(k8s) start dokuwiki pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="961.40625" y2="961.40625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="891.9296875" y="981.40625" width="133.15625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="896.9296875" y="1000.796875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="896.9296875">(dokuwiki pod)</tspan></text></g><g class="signal"><text x="764.5625" y="1039.9921875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="764.5625">create pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="1048.1875" y2="1048.1875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="543.4375" y="1078.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="543.4375">GET http://(dokuwiki-service)</tspan></text><line x1="383.4765625" x2="958.5078125" y1="1086.578125" y2="1086.578125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="600.8046875" y="1106.578125" width="115.5625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="605.8046875" y="1125.96875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="605.8046875">(k8s worker)</tspan></text></g><g class="signal"><text x="96.375" y="1165.1640625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="96.375">(SSH) install cloudify manager</tspan></text><line x1="73.1796875" x2="383.4765625" y1="1173.359375" y2="1173.359375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="290.5078125" y="1193.359375" width="185.9375" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="295.5078125" y="1212.75" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="295.5078125">install cloudify CLI</tspan></text></g><g class="note"><rect x="741.96875" y="1241.75" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="746.96875" y="1261.140625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="746.96875">(on k8s master)</tspan></text></g><g class="signal"><text x="483.8515625" y="1300.3359375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="483.8515625">create cloudify manager VM</tspan></text><line x1="383.4765625" x2="812.9453125" y1="1308.53125" y2="1308.53125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="435.46875" y="1338.7265625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="435.46875">(cfy cli) install cloudify k8s plugin</tspan></text><line x1="383.4765625" x2="812.9453125" y1="1346.921875" y2="1346.921875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="240.734375" y="1377.1171875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="240.734375">(api) upload/deploy cloudify-k8s chart (nginx)</tspan></text><line x1="73.1796875" x2="812.9453125" y1="1385.3125" y2="1385.3125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="492.6484375" y="1415.5078125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="492.6484375">(api) deploy nginx chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="1423.703125" y2="1423.703125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="428.6640625" y="1453.8984375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="428.6640625">(k8s) start nginx pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="1462.09375" y2="1462.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="905.125" y="1482.09375" width="106.765625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="910.125" y="1501.484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="910.125">(nginx pod)</tspan></text></g><g class="signal"><text x="764.5625" y="1540.6796875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="764.5625">create pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="1548.875" y2="1548.875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="401.484375" y="1579.0703125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="401.484375">GET http://(nginx-service)</tspan></text><line x1="73.1796875" x2="958.5078125" y1="1587.265625" y2="1587.265625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="275.921875" y="1617.4609375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="275.921875">(api) upload/deploy ves-influxdb chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="1625.65625" y2="1625.65625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="461.859375" y="1655.8515625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="461.859375">(api) deploy ves-influxdb chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="1664.046875" y2="1664.046875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="397.875" y="1694.2421875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="397.875">(k8s) start ves-influxdb pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="1702.4375" y2="1702.4375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1015.89453125" y="1732.6328125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1015.89453125">create pod (type=ClusterIP,port=8086)</tspan></text><line x1="658.5859375" x2="1698.6875" y1="1740.828125" y2="1740.828125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="780.37109375" y="1771.0234375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="780.37109375">(api) create veseventsdb</tspan></text><line x1="73.1796875" x2="1698.6875" y1="1779.21875" y2="1779.21875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="297.9140625" y="1809.4140625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="297.9140625">(api) upload/deploy grafana chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="1817.609375" y2="1817.609375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="483.8515625" y="1847.8046875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="483.8515625">(api) deploy grafana chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="1856" y2="1856" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="419.8671875" y="1886.1953125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="419.8671875">(k8s) start grafana pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="1894.390625" y2="1894.390625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1100.66796875" y="1924.5859375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1100.66796875">create pod (type=NodePort,port=30300)</tspan></text><line x1="658.5859375" x2="1868.234375" y1="1932.78125" y2="1932.78125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="851.94921875" y="1962.9765625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="851.94921875">create VESEvents datasource</tspan></text><line x1="73.1796875" x2="1868.234375" y1="1971.171875" y2="1971.171875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1792.859375" y="1991.171875" width="150.75" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1797.859375" y="2010.5625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1797.859375">(repeat on</tspan><tspan dy="1.2em" x="1797.859375">update schedule)</tspan></text></g><g class="signal"><text x="1708.6875" y="2059.359375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1708.6875">(api)</tspan><tspan dy="1.2em" x="1708.6875">query veseventsdb</tspan></text><line x1="1868.234375" x2="1698.6875" y1="2096.359375" y2="2096.359375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="882.73828125" y="2126.5546875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="882.73828125">create VES dashboard</tspan></text><line x1="73.1796875" x2="1868.234375" y1="2134.75" y2="2134.75" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1806.0546875" y="2154.75" width="124.359375" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1811.0546875" y="2174.140625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1811.0546875">display stats</tspan><tspan dy="1.2em" x="1811.0546875">on dashboard</tspan></text></g><g class="signal"><text x="271.5234375" y="2232.5390625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="271.5234375">(api) upload/deploy ves-collector chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2240.734375" y2="2240.734375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="457.4609375" y="2270.9296875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="457.4609375">(api) deploy ves-collector chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2279.125" y2="2279.125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="393.4765625" y="2309.3203125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="393.4765625">(k8s) start ves-collector pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2317.515625" y2="2317.515625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="931.12109375" y="2347.7109375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="931.12109375">create pod (type=ClusterIP,port=3001)</tspan></text><line x1="658.5859375" x2="1529.140625" y1="2355.90625" y2="2355.90625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="271.5234375" y="2386.1015625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="271.5234375">(api) upload/deploy ves-zookeeper chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2394.296875" y2="2394.296875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="457.4609375" y="2424.4921875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="457.4609375">(api) deploy ves-zookeeper chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2432.6875" y2="2432.6875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="393.4765625" y="2462.8828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="393.4765625">(k8s) start ves-zookeeper pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2471.078125" y2="2471.078125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1163.0546875" y="2491.078125" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1168.0546875" y="2510.46875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1168.0546875">(zookeeper pod)</tspan></text></g><g class="signal"><text x="783.56640625" y="2549.6640625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="783.56640625">create pod (type=ClusterIP,port=2181)</tspan></text><line x1="658.5859375" x2="1234.03125" y1="2557.859375" y2="2557.859375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="289.1171875" y="2588.0546875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="289.1171875">(api) upload/deploy ves-kafka chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2596.25" y2="2596.25" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="475.0546875" y="2626.4453125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="475.0546875">(api) deploy ves-kafka chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2634.640625" y2="2634.640625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="411.0703125" y="2664.8359375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="411.0703125">(k8s) start ves-kafka pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2673.03125" y2="2673.03125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1180.6484375" y="2693.03125" width="106.765625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1185.6484375" y="2712.421875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1185.6484375">(kafka pod)</tspan></text></g><g class="signal"><text x="783.56640625" y="2751.6171875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="783.56640625">create pod (type=NodePort,port=30992)</tspan></text><line x1="658.5859375" x2="1234.03125" y1="2759.8125" y2="2759.8125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1154.2578125" y="2779.8125" width="159.546875" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1159.2578125" y="2799.203125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1159.2578125">NodePort required</tspan><tspan dy="1.2em" x="1159.2578125">for barometer</tspan></text></g><g class="signal"><text x="289.1171875" y="2857.6015625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="289.1171875">(api) upload/deploy ves-agent chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2865.796875" y2="2865.796875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="475.0546875" y="2895.9921875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="475.0546875">(api) deploy ves-agent chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2904.1875" y2="2904.1875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="411.0703125" y="2934.3828125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="411.0703125">(k8s) start ves-agent pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2942.578125" y2="2942.578125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="973.90234375" y="2972.7734375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="973.90234375">create pod</tspan></text><line x1="658.5859375" x2="1377.1875" y1="2980.96875" y2="2980.96875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="83.1796875" y="3011.1640625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="83.1796875">(SSH) install barometer container</tspan></text><line x1="73.1796875" x2="383.4765625" y1="3019.359375" y2="3019.359375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1002.3046875" y="3039.359375" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1007.3046875" y="3058.75" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1007.3046875">(on k8s master)</tspan></text></g><g class="signal"><text x="614.01953125" y="3097.9453125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="614.01953125">create barometer container</tspan></text><line x1="383.4765625" x2="1073.28125" y1="3106.140625" y2="3106.140625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1083.28125" y="3126.734375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1083.28125">(api) register</tspan><tspan dy="1.2em" x="1083.28125">"collectd" topic</tspan></text><line x1="1073.28125" x2="1234.03125" y1="3163.734375" y2="3163.734375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1163.0546875" y="3183.734375" width="141.953125" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1168.0546875" y="3203.125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1168.0546875">configure topic</tspan><tspan dy="1.2em" x="1168.0546875">via zookeeper</tspan></text></g><g class="signal"><text x="220.734375" y="3261.5234375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="220.734375">(SSH) install barometer container</tspan></text><line x1="73.1796875" x2="658.5859375" y1="3269.71875" y2="3269.71875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1002.3046875" y="3289.71875" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1007.3046875" y="3309.109375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1007.3046875">(on k8s worker)</tspan></text></g><g class="signal"><text x="751.57421875" y="3348.3046875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="751.57421875">create barometer container</tspan></text><line x1="658.5859375" x2="1073.28125" y1="3356.5" y2="3356.5" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1083.28125" y="3377.09375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1083.28125">(api) register</tspan><tspan dy="1.2em" x="1083.28125">"collectd" topic</tspan></text><line x1="1073.28125" x2="1234.03125" y1="3414.09375" y2="3414.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="note"><rect x="1136.6640625" y="3434.09375" width="194.734375" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1141.6640625" y="3453.484375" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1141.6640625">(api) configure topic</tspan><tspan dy="1.2em" x="1141.6640625">via zookeeper</tspan></text></g><g class="note"><rect x="1006.703125" y="3501.6875" width="133.15625" height="66.796875" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1011.703125" y="3521.078125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1011.703125">(on k8s master</tspan><tspan dy="1.2em" x="1011.703125">and workers,</tspan><tspan dy="1.2em" x="1011.703125">per schedule)</tspan></text></g><g class="signal"><text x="1092.078125" y="3589.078125" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1092.078125">(api) publish</tspan><tspan dy="1.2em" x="1092.078125">collectd stats</tspan></text><line x1="1073.28125" x2="1234.03125" y1="3626.078125" y2="3626.078125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1244.03125" y="3646.671875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1244.03125">(api)</tspan><tspan dy="1.2em" x="1244.03125">collectd stats</tspan></text><line x1="1234.03125" x2="1377.1875" y1="3683.671875" y2="3683.671875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1387.1875" y="3713.8671875" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1387.1875">(api) VES event</tspan></text><line x1="1377.1875" x2="1529.140625" y1="3722.0625" y2="3722.0625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g><g class="signal"><text x="1539.140625" y="3742.65625" style="font-size: 16px; font-family: &quot;Andale Mono&quot;, monospace;"><tspan x="1539.140625">(api)</tspan><tspan dy="1.2em" x="1539.140625">veseventsdb entry</tspan></text><line x1="1529.140625" x2="1698.6875" y1="3779.65625" y2="3779.65625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url(&quot;#markerArrowBlock&quot;);"></line></g></svg>