Infrastructure Manager Service

Purpose

The service identifies a suitable cluster to deploy services and stores infrastructure information.

Function

This component exposes APIs for different components, such as Kubernetes workers and masters, to register with the infrastructure manager. When a request comes from the pricing service, it redirects the parameters to a registered cluster to determine if it can serve the request. If a suitable cluster is found, the service returns true. It also handles requests from the node service after a bid is won.

Upon receiving a request, the service identifies the appropriate cluster by calling the cluster manager service deployed on each cluster. It then creates the configuration based on the cluster and calls the API exposed by the cluster manager service to deploy the POS on the respective cluster.

The cluster manager service registers with the infrastructure manager service, storing its endpoint and other relevant information for use by the infrastructure manager service.

The infrastructure manager service also periodically performs health checks, calls APIs to terminate pods when their lease time expires, and can renew existing services.

All information is stored in the service's database. The service also maintains a copy of cluster information and the status of deployed pod services. Active information for clusters and pod services is updated regularly by the cluster service, and notifications are triggered if a ping is not received within a certain period.

Deploying

Users can fetch the Docker file from the Kandola Committee GitHub repository and run the Docker Compose command.

Provider

Girnaar built

Type

Docker image

Configuration

Dependencies

  • Docker

  • Docker Compose

  • Pricing Service

  • Cluster Manager Service

Last updated