kubernetes 中的 Zookeeper 和无头服务

Zookeeper and headless service in kubernetes

在 kubernetes 中我部署了一个名为 zookeeper 的状态集:

apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: zookeeper
spec:
  serviceName: zookeeper-svc
  replicas: 1
  template:
    metadata:
      labels:
        app: zookeeper

和无头服务:

apiVersion: v1
kind: Service
metadata:
  name: zookeeper-svc
  labels:
    app: zookeeper    
spec:
  clusterIP: None
  ports:
  - port: 2888
    name: server
  - port: 3888
    name: leader-election

进入我的 zookeeper-0 pod 我可以看到它的 IP:

zookeeper@zookeeper-0:/usr/bin$ cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.32.0.11      zookeeper-0.zookeeper-svc.default.svc.cluster.local     zookeeper-0

但是正在寻找 IP

kb exec dnsutils nslookup zookeeper-0
服务器:10.96.0.10 地址:10.96.0.10#53

** 服务器找不到 zookeeper-0:NXDOMAIN

我看不到。

我哪里错了? 任何建议表示赞赏。

您是否尝试访问 zookeeper-0.zookeeper-svc 服务名称未添加到 /etc/resolv.conf 中的搜索域列表,因此您需要添加名称中命名空间名称之前的所有内容。