...
Main Function: the module is invoked by traffic controller after traffic controller recievesreceives
intents from external world, and parses requests from traffic controller and
extracts some key information to assemble a new yaml file for creating instances
of inbound services and clients based on istio.
Main OpearationsOperations:
- create/destroy inbound services (API: Add Inbound service)
- create/destroy client services (API: Add Clients)
- create/remove security details for client services (API: Add Security details for clients)
- create/destroy ServiceEntry for inbound services used by clients
- create/destroy DestinationRules for both inbound and client services
- create/destroy VirtualService for client services
- create/destroy AuthorizationPolicy for inbound services used by clients
The key inforamtion information includes but not limited:
...
The interface between SM config and Traffic Controller: maybe via gPRC, and APIs are TBD
Traffic Controller
Main Function: it acts as main controlling loop/daemon, and receives the request in a form of
REST from external modules e.g. orchestrator. Then it parses these requests and
figures out the exact purposes which these requests want to express
e.g. service creation, DNS update or workload adjust. Afterwards, it invoke corresponding
components like SM config, DNS updater, to fulfill these requirements by creating
and configuring related uServices based on the various mechanisms of istio.
...
4. Traffic controller may need to notify orchestrator that it, including the plugins,
is ready to serve (which API provided by orchestrator should be invoked?).
5. At this moment, orchestrator can start to monitor and manage the life-cycle of traffic controller.
And the way/APIs of monitor and manage need to be clarified. (Is HA is required for traffic controller?)
6. The requests from users/admin can be sent to traffic controller from now on.
users/admin are allowed to send their request to running uServices directly by REST.
...