这是 Kubernetes 服务
apiVersion: v1
kind: Service
metadata:
name: mysvc
spec:
clusterIP: None
selector:
app: myapp
type: main
ports:
- name: http
appProtocol: http
targetPort: http
port: 8000
为 9 个 Pod 提供服务。大多数情况下mysvc.default.svc.cluster.local
解析为 9 个 IP 地址。随机解析为 8 个 IP 地址(一个 IP 地址消失),而 Pod 保持不变且健康。Pod 位于多个大洲的独立节点上。每个节点上均匀分布着 20 个 CoreDNS 实例。
这个问题能解决吗?
自托管 Kubernetes 1.25.3
答案1
事实证明,该问题与 CoreDNS 无关。Pod 在短时间内无法准备就绪。发生这种情况的原因是其中一个 Pod 容器是一个 bash 脚本,经常退出并重新开始。重启发生得非常快,但这段时间足以让重启的 pod 从 CoreDNS 域解析响应中移除。