Statefulset上的容器未在minikube dns上注册

问题描述 投票:0回答:1

我正在尝试设置一个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

My YAML file is here

我非常感谢任何帮助。

kubernetes minikube
1个回答
4
投票

你是否在你的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公开,否则无法从浏览器访问它!

© www.soinside.com 2019 - 2024. All rights reserved.