Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.9k views
in Technique[技术] by (71.8m points)

docker - How to implement Kubernetes POD to POD Communication?

This question has been asked and answered before on stackoverflow but because I'm new to K8, I don't understand the answer.

Assuming I have two containers with each container in a separate POD (because I believe this is the recommend approach), I think I need to create a single service for my two pods to be apart of.

  1. How does my java application code get the IP address of the service?
  2. How does my java application code get the IP addresses of another POD/container (from the service)?
  3. This will be a list of IP address because these are stateless and they might be replicated. Is this correct?
  4. How do I select the least busy instance of the POD to communicate with?

Thanks Siegfried

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

How does my java application code get the IP address of the service?

You need to create a Service to expose the Pod's port and then you just need to use the Service name and kube-dns will resolve the Pod's IP address

How does my java application code get the IP addresses of another POD/container (from the service)?

Yes, using the service's name

This will be a list of IP address because these are stateless and they might be replicated. Is this correct?

The Service will load balance between all pods that matches the selector, so it could be 0, 1 or any number of Pods

How do I select the least busy instance of the POD to communicate with?

Common way is round robin policy but here are other specific balancing policies https://kubernetes.io/docs/concepts/services-networking/service/#proxy-mode-ipvs

Cheers ;)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...