What if we could use Kubernetes (k8s) to deploy and manage our Autoware Auto packages? We could be looking at deploying the different Autoware Auto components as services within a k8s cluster that we could easily manage (scaling up or down) and update across more than 1 board in the vehicle. To achieve this we have started with a base building block, combining Autocore's PCU, a couple of Cyclone DDS based applications and k8s to assess whether the DDS performance was affected or not by the k8s infrastructure. For the full blog post please follow this link.
Our initial setup is made of a laptop to run the k8s master node (which can be replaced by a different board) and Autocore's PCU to be set up as the worker node, where our containerized applications will be executed. In addition we have put together a Docker image with a compiled Cyclone DDS and the needed scripts to reproduce all the steps. For the performance testing we have used the perftest script that is available in the Cyclone DDS Github repository. The image below shows that the k8s infrastructure does not impact the outcome of running Cyclone DDS performance test when compared against running the same test manually through a couple of containers.
Taking this initial setup as reference we are now ready to take it further with other configurations, such as increasing the number of applications (e.g. Autoware Auto packages) or the amount of worker nodes using a wider range of boards.