开发者社区 > 云原生 > 正文

我在k8s 1.27 部署集群,nacos 的yaml 文件也没修改过但启动一直就只有一个什么原因?

bd71325347d0382c5b46f3f0dc71d2e3.png
我在k8s 1.27 部署集群,nacos 的yaml 文件也没修改过。但是启动起来咋一直就只有一个节点在线啊,什么原因?现在很奇怪的是,nacos pod 之间的8848 都启动的,但是pod之间无法访问,可以ping。。我试了访问其他的pod没问题的,就nacos pod之间 telnet ip 端口不行啊。随便关闭一个在线的,另外两个离线的能正常上线提供服务。nacos-cluster.log。

展开
收起
十一0204 2023-07-19 20:44:56 109 0
2 条回答
写回答
取消 提交回答
  • 如果你在 Kubernetes 1.27 上部署 Nacos 集群,并且发现只有一个实例启动,可能的原因如下:

    1. 副本数配置问题:检查你的 Nacos 的 YAML 文件中是否正确设置了副本数(replicas)。确保副本数大于 1,以便在集群中启动多个实例。例如:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nacos-server
      spec:
        replicas: 3  # 设置为大于1的值
        ...
      
    2. 资源不足:每个 Kubernetes 节点有一定的资源限制,如 CPU、内存等。确保你的节点具有足够的资源来运行所需数量的 Nacos 实例。如果资源不足,Kubernetes 可能无法调度更多的副本进行启动。

    3. 调度约束问题:Kubernetes 可能会受到调度约束的影响,导致无法同时启动多个 Nacos 实例。例如,可能存在节点亲和性、Pod 数量限制等设置。请检查集群的调度约束并确保它们允许多个 Nacos 实例在集群中运行。

    4. YAML 文件或部署配置错误:请仔细检查你的 Nacos YAML 文件和部署配置,确保没有任何错误导致只有一个实例被创建。比如,可能错误地指定了 labels 或 selectors,导致只有一个 Pod 被选中进行部署。

    2023-07-28 13:07:09
    赞同 展开评论 打赏
  • 意中人就是我呀!

    nacos后面版本,不止8848一个端口号。
    我没测试过集群,我用的笔记本和迷你主机,防火墙只开了8848一个端口号,这导致注册失败。后来好像是把另外一个端口号开放了就正常了,好像没有在nacos客户端有额外配置。你找一下那个端口号,看看能不能通讯。此回答整理至钉群“Nacos社区群4”。

    2023-07-19 23:47:08
    赞同 展开评论 打赏

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像