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 访问到该服务