前提条件:kubernetes集群有1个主服务器和2个工作服务器。群集对所有节点使用一个CIDR。 问题:如何将网络配置为worker1上的pod可以与worker2上的pod通信?
答案 0 :(得分:2)
Kubernetes有其自己的服务发现,您可以使用定义service
进行通信。如果要通信或向worker2
发送请求,则必须为worker2
定义服务。假设您有一个工作人员add-service
,并且想与之通信,那么您就必须为add-service
工作人员定义一个服务,如下所示:
apiVersion: v1
kind: Service
metadata:
name: add-service
spec:
selector:
app: add
ports:
- port: 3000
targetPort: add-service
然后,您可以从worker1中使用add-service
进行通信,并且kuberntes将使用服务发现来查找确切的工作人员。这是一个 hackernoon 详细信息article,有关如何创建pod,部署,服务以及它们之间的通信。
答案 1 :(得分:1)
一个Kubernetes集群由一个或多个节点组成。节点是一个主机系统,无论是物理系统还是虚拟系统,都具有容器运行时及其依存关系(即主要是docker)以及多个kubernetes系统组件,该主机系统连接到允许其访问群集中其他节点的网络。一个由两个节点组成的简单群集可能看起来像这样:
您可以找到更多答案here
When the cluster use one CIDR for all nodes, the pod will be assigned ip address from one subnet.