1/13/2024 0 Comments Run 8 train simulator demomysql>create user identified by 'password' Note that the version of MySQL is 5.6, which is pretty light, but you can do as you wish.Ĭreate a user 'admin' with admin rights, I know this is not best practice, but I'll let you work a bit to secure your cluster. Later we will add an annotation in order to expose the database on a given IP with a load balancer called Metallb. We will build API's with Talend in part 2 to avoid that. Replace the proposed service part by : apiVersion: v1 If you want the database to be reached from outside of the cluster, change the service type to "LoadBalancer". ![]() I defined the persisting volume as 10Gb instead of the 20Gb suggested in the tutorial : To install Mysql Database on Minikube, I followed the following tutorial. Store parameters in a table (key, value).Mysql database installation will have 2 goals : Minikube status Mysql on Minikube installation to manage parameters of the platform Installed Minikube ( ) and kubectl, started Minikube and (optional) its dashboard (I am not too much into command lines), checked the Minikube cluster is up and running.Created a 16Gb RAM / 2 cores / 100Gb VM with Ubuntu 22.04.Installed VMWare Workstation 17 Player.I have done the following way to build my Gateway Note : Some parameters may change as I discover problems in future blog posts :) Docker and Minikube installationīeforehand I have to warn you that installing Minikube and Docker can be a real inferno :D If you follow the versions and recommandation here below it should be straight forward. Obviously we are going to build all the data flows and real time routes with Talend (Enterprise version, what else ?). This is quite limited, capabilities such as security and Artificial Intelligence could be added (if you can please do !). Expose APIs to enable parameterization from the outside.Send filtered data to a cloud (in this case GCP via Pub/Sub).Transform / Anonymize (vehicle plates) / Aggregate data.Enable local storage (limited and temporary).Read MQTT messages from sensors (we could try other protocols as well, OPC UA/ AMPQ).Install a Gateway with the following capabilities : Of course you can choose the setup you prefer, that is the added value of microservices. InfluxDB for IoT data storage with retention periods management.Mysql microservice for the parameters storage and persistence.MQTT Mosquitto server for MQTT message consumption/publication.I chose minikube (bare metal compatible and low footprint kubernetes) but it could have been newer solutions such as k3s or any other ligthweight microservice orchestrator. Therefore a Kubernetes approach could work the best. The microservice approach is key to be able to chose what component you need depending on your use case. The goal is to setup an "independant box". 2 sensors signaling the departure of the train.2 sensors, that are signaling the arrival of a train (one way or the other) 1 mile ahead.A lidar that is detecting what is currently engaged on the level crossing (vehicle type + plate number, human, animal, nothing).A sensor giving the status of the barriers (open / closing / closed).A sensor on the traffic light that flashes when a train is arriving.We are going to assume we have the following sensors : Those functions should be available on a small box (2 cores / 16gb Ram) on the side of the level crossing. Send detailed info when an incident happens (hopefully not too often).Send some filtered and aggregated data to the cloud for analytics purposes.Alerts will be materialized as a MQTT message. Trigger alerts in some conditions (to be defined :)), alert processing should be local (not in the cloud).The goal is to explore Talend capabilities to build an edge architecture to gather data from a bunch of sensors in order to : In this demo we are going to simulate edge computing at a level crossing. Use case requires data encryption for security or local regulations compliance (GDPR for instance).Use case does not require all sensor data, or bandwidth costs / capability are limited.Use case requires calculation as fast as possible (no time to send data to the cloud or a data center) : e.g : a level crossing has to process data asap to trigger an alert. ![]() ![]() boat in the middle of a sea, train rolling in the countryside.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |