Interpod通讯
Interpod Communication
我们在 GoogleCloud Kubernetes 中有以下内容:
3 REST API Pods 接受 POST 并将它们发送到通过 Websocket 连接的客户端。
如果 Pods 中的一个 post 已打开,我们希望将此 post 发送给所有其他 pods。
问题是:我们如何/在哪里可以找到另一个 Pods 的 IP?
您可以使用下面的方法找到 pod IP 并尝试点击该 IP,但建议您公开一个服务来执行此操作。
kubectl get po -n test -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod1 1/1 Running 0 98m 10.42.0.16 worker3 <none> <none>
pod6 1/1 Running 0 87m 10.44.0.26 worker1 <none> <none>
公开服务:
kubectl expose pod/pod1 -n test --name=svc --port=80 --target-port=80
kubectl run bb --image=busybox -n test -it --rm -- sh
If you don't see a command prompt, try pressing enter.
wget -O- svc:80
Connecting to svc:80 (10.101.174.245:80)
writing to stdout
<html><body><h1>It works!</h1></body></html>
我们在 GoogleCloud Kubernetes 中有以下内容: 3 REST API Pods 接受 POST 并将它们发送到通过 Websocket 连接的客户端。
如果 Pods 中的一个 post 已打开,我们希望将此 post 发送给所有其他 pods。 问题是:我们如何/在哪里可以找到另一个 Pods 的 IP?
您可以使用下面的方法找到 pod IP 并尝试点击该 IP,但建议您公开一个服务来执行此操作。
kubectl get po -n test -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod1 1/1 Running 0 98m 10.42.0.16 worker3 <none> <none>
pod6 1/1 Running 0 87m 10.44.0.26 worker1 <none> <none>
公开服务:
kubectl expose pod/pod1 -n test --name=svc --port=80 --target-port=80
kubectl run bb --image=busybox -n test -it --rm -- sh
If you don't see a command prompt, try pressing enter.
wget -O- svc:80
Connecting to svc:80 (10.101.174.245:80)
writing to stdout
<html><body><h1>It works!</h1></body></html>