Description
To be updated.
Requirements
To be updated.
Design
To be updated.
...
A lot of edge devices might be placed for the smart factory to process data. And the edge devices can be grouped to support dedicated functions, or can be located hierarchicaly to process data step by step. So the efficient way is need to manage lots of edge device and microservice in the factory. To realize this, two components are being developed for microservice deployment and management in this project. One is service deployment manager and the other one is service deployment agent. The service deployment manager is the administration feature to deploy, update and monitor the microservices in the edge devices in the factory. And the service deployment agent is the control feature to install, run and remove microservices in each eage device. The one manager can administrate the multiple agents in the reachable network.
Features
- For management of microservice
- Deploy a container to an Edge device or a group of Edge devices.
- Create and delete a group of Edge device.
- Add and remove an Edge device to/from a group of Edge devices.
- Provides a healthy status(i.eNotReady/Ready) of all registered Edge devices.
- To run / monitor microservice
- Docker operations for container management by utilizing “docker-compose” languages.
- Request a registration to an Edge server for centralized management of service deployment.
- Send a periodic ping request for its availability to a master.
- Failover for a case where a running container is unexpectedly terminated.
Design
Pharos consists of Pharos Anchor, Pharos Node, and Web Client application for both of them. Key highlight features for each component are described as follows:
- Pharos Anchor provides functionalities to deploy, update, terminate a container or containers to a certain edge device or a group of edge devices. Also, this provides APIs to create, update, and delete a group of edge devices which container(s) can be deployed at the same time.
- Deployed location: a centralized Edge server
- Role: Edge device group management, service deployment propagation to each Edge device
- Deployed location: a centralized Edge server
- Pharos Node is intented to be installed in each of Edge devices, which communicates with centralized service deployment management, running in a management server. Once Pharos Anchor sends a request of service deployment to a certain Edge device, the corresponding Pharos Node performs one of Docker operations to pull, run, and stop containers as requested.
- Deployed location: Every edge device
- Role: Perform container installation, update, and termination as requests by master
- Deployed location: Every edge device
- Web Client application for Pharos Anchor and Pharos Node : A web based GUI-Tool for Pharos
Code repository
https://github.com/mgjeongedgexfoundry-holding/system-deploymentpharos-mgmtanchor-go
https://github.com/mgjeongedgexfoundry-holding/system-deploymentpharos-agentnode-go
Current status
To be updatedhttps://github.com/edgexfoundry-holding/system-pharos-web-client
Current status
Pharos Anchor, Pharos Node are available in GoLang. Web Client application for Pharos is also available.