k8s的Service中nodePort,targetPort,port的区别和意义

apiVersion: v1
kind: Service
metadata:
  labels:
    app: service-app-war
  name: service-app-war
  namespace: app-war
spec:
  ports:
    ## 服务本身的端口
    - name: http-app-war
      port: 8081
      targetPort: 8080
      nodePort: 8082
  selector:
    app: app-war
  ## 负载策略,可选值,None(随机),ClientIP(ip hash)
  ## 注意:选ClientIP时,应当增加此配置spec.sessionAffinityConfig.clientIP.timeoutSeconds(默认值为 10800 秒,即 3 小时)
  sessionAffinity: None
  ## 修改此值,service类型,可选值,ClusterIP,NodePort
  type: NodePort

1、port:8081
k8s中的服务之间访问的端口,集群内其他容器需要通过8081端口访问该服务,外部机器不能访问通过该端口访问该服务

2、targetPort:8080
容器的端口(最根本的端口入口),也就是没上k8s之前该服务使用的端口

3、nodePort:8082
k8s集群外部机器可访问的端口,那么其他机器就可以通过浏览器访问  ClientIP(k8s集群内任一机器ip)://:8082  访问到该服务

你可能感兴趣的:(k8s,kubernetes)