I'm setting up an
EKS
cluster on AWS
and I want to secure all the data in flight in the Kuberentes cluster (and also between EKS and external systems but thats out of scope here).
In Kubernetes are different protocols in use between the different pods, mainly Rest/HTTP
but also communication between microservice-pods with a KafkaBroker
and JDBC between microservice-pods and database pods
(Zalando Postgres), between a filebeat-pod and elasticsearch
, ...
I see several options but I don't like any of them.
- Encrypt every communication individually --> too much work. operational nightmare
- Istio or LinkerD --> Works only for Http and gRPC, not for KafkaCommunication. Heavy ControlPlane.
- a CNI like WeaveNet --> no support for SecurityGroups, FlowLogs, ACLs
Are there better alternatives? Would you recommend any of these options?