代码之家  ›  专栏  ›  技术社区  ›  Kos

避免在服务中保留不必要的NodePort

  •  2
  • Kos  · 技术社区  · 6 年前

    我有这个 NodePort 公开两个端口的服务:

    kind: Service
    apiVersion: v1
    metadata:
      name: my-service
    spec:
      type: NodePort
      selector:
        app: my-service
      ports:
      - name: nginx-public
        port: 443
        targetPort: nginx-public
      - name: metrics
        port: 9200
        targetPort: metrics
    

    这个 nginx-public 端口必须在节点上公开,因为我将它与aws alb入口控制器一起使用。

    然而,另一个港口 metrics 只在内部使用(从集群内部使用)-由普罗米修斯操作员获取。我需要在服务规范中记录它,但我不想同时在节点上保留另一个端口。

    有没有办法告诉Kubernetes为此服务只保留一个节点端口?

    我试着说明 nodePort: null 在这样的端口规范中:

      ports:
      - name: nginx-public
        port: 443
        targetPort: nginx-public
      - name: metrics
        port: 9200
        targetPort: metrics
        nodePort: null
    

    但是根据 describe service ,似乎这与省略 nodePort 总之,还有一个随机端口 韵律学 .

    1 回复  |  直到 6 年前
        1
  •  2
  •   P Ekambaram    6 年前

    豆荚上分别有不同的标签。