Service(服务)
k8s的三层网络
- 宿主机网络
物理主机网络。 - svc集群网络
clusterIp集群网络,集群内部服务可以相互访问,集群外部不能访问集群内的服务。可以升级为NodePort方式,映射podIp:podPort到宿主机的IP和端口,这样外部用就可以访问pod服务了。
数据流向:
外部用户 --> 宿主机的IP和端口 --> svc(nodePort).label --> 通过标签找到pod - pod网络
podIp:podPort == endpoint
修改 service
命令方式修改 service
以下三种写法都可以修改 service
修改完保存后,就会自动生效
# 修改 kubectl edit service/core-api-service
# 修改 kubectl edit svc/core-api-service
core-api-service.ymal
apiVersion: v1
kind: Service
metadata:
labels:
name: core-api-service
name: core-api-service
spec:
ports:
- name: port8081
nodePort: 31080 #对外暴露的端口
port: 8081 # 容器内的端口
protocol: TCP
targetPort: 8081 # 容器内的端口
selector:
k8s-app: core-api-service
sessionAffinity: None
type: NodePort
[Haima的博客]
http://www.cnblogs.com/haima/