Statefulset 中的容器未在 minikube dns 上注册
Containers on Statefulset not being registred on minikube dns
我正在尝试设置一个 zookeeper 集群(3 个副本),但每个主机都无法连接到另一个主机,我真的不知道问题出在哪里。
它正在成功创建 3 pods,名称如
zookeeper-0.zookeeper-internal.default.svc.cluster.local
zookeeper-1.zookeeper-internal.default.svc.cluster.local
zookeeper-2.zookeeper-internal.default.svc.cluster.local
但是当连接到其中之一并尝试连接到开放端口时,它 returns 未知主机消息:
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
需要服务。但它不会在集群外暴露任何东西。它仅在集群内。任何 pods 都可以在集群内访问此服务。因此,除非您通过 NodePort
/ LoadBalancer
/ Ingress
公开它,否则您无法从浏览器访问它!
我正在尝试设置一个 zookeeper 集群(3 个副本),但每个主机都无法连接到另一个主机,我真的不知道问题出在哪里。 它正在成功创建 3 pods,名称如
zookeeper-0.zookeeper-internal.default.svc.cluster.local
zookeeper-1.zookeeper-internal.default.svc.cluster.local
zookeeper-2.zookeeper-internal.default.svc.cluster.local
但是当连接到其中之一并尝试连接到开放端口时,它 returns 未知主机消息:
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
需要服务。但它不会在集群外暴露任何东西。它仅在集群内。任何 pods 都可以在集群内访问此服务。因此,除非您通过 NodePort
/ LoadBalancer
/ Ingress
公开它,否则您无法从浏览器访问它!