I am running so many services in Kubernetes cluster. Now, service A is able to access Service B and Service C is also able to access Service B. Is there any way to control who can access what service? Like, ACL( Access Control List) in typical VM style.
Thanks
The short answer is yes, the longer answer is that there are several approaches to that. Starting with NetworkPolicy, which as best I can tell is just the standardization of the concept implemented by the underlying SDN -- similar to the way the Ingress
resource standardized how virtual-hosts are managed by the underlying Ingress controllers.
The whole list is here but the major players I know off-hand are:
There was also a blog post back in 2016, which may be enlightening but unknown how much of it is still applicable
This may be stating the obvious, but pushing that level of security into your cluster will greatly, greatly increase debugging costs. I am a much bigger proponent of "don't run untrusted code in your cluster" than "firewall all the things!!1"