- 我有两个Pod在两个节点上运行,每个Pod在不同的节点上运行。
- 这些节点位于同一子网中,可以通过TCP/UDP/ICMP相互通信。
这些Pod具有一些主机名,例如:
- drill-staging-75cddd789-kbzsq
- drill-staging-75cddd789-amsrj
从Pod drill-staging-75cddd789-kbzsq无法解析drill-staging-75cddd789-amsrj的主机名,反之亦然。 解析自身Pod的名称可以正常工作。
我尝试了设置各种dnsPolicies:
- ClusterFirst:没有成功
- Default:没有成功
- ClusterFirstWithHostNet:没有成功,甚至无法解析其自己节点的主机名
- None:未尝试(我认为这不是一个好方法)
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "app.name" . }}
namespace: {{ .Values.global.namespace }}
spec:
replicas: 2
selector:
matchLabels:
app: {{ include "app.name" . }}
template:
metadata:
labels:
app: {{ include "app.name" . }}
spec:
containers:
- name: {{ include "app.name" . }}
image: ...
resources:
...
ports:
...
imagePullPolicy: Always
restartPolicy: Always
podname.namespace.pod.cluster.local
。在大多数情况下,通过 Service 更好的做法。 - David Maze