Private communication between a external droplet and a pod in k8 cluster

August 25, 2019 172 views
Kubernetes Networking Arch Linux

Hello!

I am trying to figure out a means to have a private communication between a pod in k8 cluster and an external droplet in the same data centre from same account.

I know i can expose a loadbalancer/nodeport service from the pod and get access but i want a private networking between these and totally avoid public access.

Any insights are appreciated.

Thanks!

1 Answer

Hi there!

Unfortunately, DOKS NodePort services only bind to the nodes public interface at this time. One option to control access is to use and ingress controller such as nginx(https://github.com/kubernetes/ingress-nginx) , and then configure ingress rules using ingress objects(https://kubernetes.io/docs/concepts/services-networking/ingress/).

By using this you can setup a whitelist on the ingress controller and whitelist your external droplet’s IP: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#whitelist-source-range

This would allow you to expose that service publicly but only allow one IP to actually contact your service.

Regards,

John Kwiatkoski
Senior Developer Support Engineer

Have another answer? Share your knowledge.