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

是不是nacos部署在k8s里,需要用nodeport的方式暴露8848,9848?

是不是nacos部署在k8s里,需要用nodeport的方式暴露8848,9848?

展开
收起
小易01 2023-07-19 20:43:13 566 0
2 条回答
写回答
取消 提交回答
  • 在 Kubernetes 中部署 Nacos 时,你可以使用多种方式将 Nacos 的端口暴露给外部访问。NodePort 是其中一种可行的方式。

    使用 NodePort 方式暴露 Nacos 的 8848 和 9848 端口,可以按照以下步骤进行操作:

    1. 在 Nacos 的 Service 配置中,确保已设置正确的端口号。默认情况下,Nacos 控制台使用 8848 端口,而 Nacos 服务器使用 9848 端口。

    2. 创建一个 Service 类型为 NodePort 的 YAML 文件,例如 nacos-service.yaml,并将以下内容添加到文件中:

      apiVersion: v1
      kind: Service
      metadata:
        name: nacos-service
      spec:
        type: NodePort
        selector:
          app: nacos
        ports:
          - protocol: TCP
            port: 8848
            targetPort: 8848
            nodePort: <your-nodeport>
          - protocol: TCP
            port: 9848
            targetPort: 9848
            nodePort: <your-nodeport>
      

      请注意,将 <your-nodeport> 替换为实际的 NodePort 值。

    3. 执行以下命令来创建 Service:

      kubectl apply -f nacos-service.yaml
      
    4. 完成后,你可以使用 NodeIP:NodePort 的格式访问 Nacos 控制台和 Nacos 服务器。例如,如果你的集群中有多个节点,并且选择使用其中一个节点的 NodePort,那么可以通过 NodeIP:NodePort 访问 Nacos。

    需要注意的是,使用 NodePort 方式暴露端口可能会有一些安全性和可用性方面的考虑。在生产环境中,你可能需要进一步评估并选择适合你需求的暴露方式,如 Ingress、LoadBalancer 等。

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

    SLB暴露8848和9848应该就可以。ingress 也行 ,porter组件用LoadBalancer,nodeport也可以。nginx-ingress组件 你得装到集群,在创建ingress路由,和nginx一样域名访问形式,集群内部你就用svc就行了,外部一般用ingress,nodeport 都行。
    此回答整理至钉群“Nacos社区群4”。

    2023-07-19 23:42:06
    赞同 展开评论 打赏

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

相关产品

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

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

    相关镜像