gpt4 book ai didi

networking - 使用 DNS 名称的 Pod 到 Pod 通信

转载 作者:行者123 更新时间:2023-12-02 12:26:06 26 4
gpt4 key购买 nike

在我的 Kubernetes 集群上,我有几个可以相互通信的 pod。它们分别部署
我创建了一个名为 my-service 的 headless 服务这是针对所有 pod 。

apiVersion: v1
kind: Service
metadata:
name: my-service
namespace: default
spec:
clusterIP: None
ports:
- name: test1
port: 111
protocol: TCP
targetPort: 111
- name: test2
port: 222
protocol: TCP
targetPort: 222
publishNotReadyAddresses: true
selector:
app: "my-app"
type: ClusterIP
每个 pod 都暴露两个端口:111 和 222
apiVersion: v1
kind: Pod
metadata:
labels:
app: "my-app"
name: my-service-6c44bdf68c-q6jdq
namespace: default
spec:
containers:
- image: my-image
name: my-app
ports:
- containerPort: 111
name: test1
protocol: TCP
- containerPort: 222
name: test1
protocol: TCP
当我做 nslookup on my-service.default.svc.cluster.local我确实可以看到我所有的 pod 。
我还为每个 pod 分配了单独的主机名和 subdomain: my-service .现在每个 Pod 都有一个单独的 DNS A 记录,例如: <hostname>.my-service.default.svc.cluster.local .到现在为止还挺好。但是当我尝试使用域(和端口) <hostname>.my-service.default.svc.cluster.local:111 访问 pod(从另一个容器)时我得到“连接被拒绝”。我怎样才能使这项工作?我错过了什么吗?

最佳答案

问题的最可能原因是您尝试访问服务的方式。如果您检查响应端口 111 的内容,它将起作用。
例如,在一个不监听它的端口上建立一个 http 连接会导致 Connection Refused。
尝试根据您的服务 ping 或 telnet。

关于networking - 使用 DNS 名称的 Pod 到 Pod 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63080487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com