Kubernetes多端口容器

原创
半兽人 发表于: 2018-11-08   最后更新时间: 2021-02-24 10:47:21  
{{totalSubscript}} 订阅, 13,118 游览

如果app需要开放两个端口,有两种办法:

  • 第一种是起2个service,每个service开放一个端口
  • 第二种是同一个service开放2个端口

第一种:起2个service,每个service开放一个端口

明明可以用一个service搞定,为什么还要起两个service呢?

  • 让service更清晰,一个service负责一种服务。

例如,有个app,同时开发92009300端口。9200提供web服务,9300提供api。那么,用两个service,分别命名为app-httpapp-api,分别暴露92009300端口,分别为nodePortclusterIP方式,这样层次清晰。

第二种:同一个service开2个端口

一般我们只有一个端口的时候,在service的yaml文件是这样的:

ports:
  - nodePort: 9200
    port: 9200
    protocol: TCP
    targetPort: 9200

而如果你想开两个端口,直接复制粘贴可不行,k8s会提示你必须要加上name。所以,如果要开多端口,要为每个port都指定一个name,如:

ports:
  - name: http
    nodePort: 9200
    port: 9200
    protocol: TCP
    targetPort: 9200
  - name: api
    port: 9300
    protocol: TCP
    targetPort: 9300
更新于 2021-02-24

查看kubernetes更多相关的文章或提一个关于kubernetes的问题,也可以与我们一起分享文章