我正在尝试设置一个zookeeper集群(3个副本),但每个主机都无法连接到另一个,我真的不知道问题出在哪里。它正在成功创建3个pod,名称如
zookeeper-0.zookeeper-internal.default.svc.cluster.local
zookeeper-1.zookeeper-internal.default.svc.cluster.local
zookeeper-2.zookeeper-internal.default.svc.cluster.local
但当连接到其中一个并尝试连接到开放端口时,它将返回未知主机消息:
zookeeper@zookeeper-0:/opt$ nc -z zookeeper-1.zookeeper-internal.default.svc.cluster.local 2181
zookeeper-1.zookeeper-internal.default.svc.cluster.local: forward host lookup failed: Unknown host
我非常感谢任何帮助。
你是否在你的yaml中提到了无头服务 - serviceName: zookeeper-internal
?
您需要创建此服务(更新端口)才能访问zookeeper-0.zookeeper-internal.default.svc.cluster.local
apiVersion: v1
kind: Service
metadata:
labels:
app: zookeeper-cluster-dev
name: zookeeper
name: zookeeper-internal
spec:
ports:
- name: zookeeper-port
port: 80
protocol: TCP
targetPort: 80
selector:
name: zookeeper
clusterIP: None
type: ClusterIP
需要服务。但它不会暴露集群外的任何东西。它只在集群内。任何pod都可以在群集中访问此服务。因此,除非通过NodePort
/ LoadBalancer
/ Ingress
公开,否则无法从浏览器访问它!