this is working okay for development especially. (we do not have any plan for the production environment yet.) i would love to get feedback and use cases if anyone is interested :smile:

images are really dependent packages or application. this is about security (fail independently, should it auto-heal by pod?), performance (application can use true zero copy if they are in the same pod) and so on.

yes, we have full internal CI/CD pipeline daily and by-commit.

sometimes using host network is straight forward with privilege especially for development, but that is we can configure when we deploy the application. our plan is to use Cilium CNI empowered by eBPF (with wireguard VPN and encryption) instead of host network, so that we can even go beyond the NAT in the network layer without application layer proxy or bridge anymore. (this is not ROS development, but we are actively working on this, and verified with AWS and Huawei Cloud) besides that, we can rely on full observability and security such as Runtime Enforcement.

the thing is Cilium CNI does not fully support multicast yet (I am not sure multicast would be major use case, because we can have discovery service in the cluster with auto-healing and backup endpoints.), we are still working on some cli extension and utilities to enable in Cilium development. (see more details for ros_k8s/docs/Setup_Kubernetes_Cluster.md at main · fujitatomoya/ros_k8s · GitHub)

according to the runtime overhead, maybe KubeEdge meets Cilium !!! | KubeEdge would be interesting.

I am probably not gonna go more details, since this is not really about ROS application specific architecture. but if you are interested in this architecture with ROS, i am happy to discuss and chat more! please let me know :grin: (jfyi, I will be talking about this in next KubeCon NA 2024, robotics can be one of the major use case I believe :crossed_fingers: )

thanks,
Tomoya

1 Like