k8s的三层网络
- 宿主机网络
物理主机网络(node网络)。 - 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
# 将Service的端口号映射到每个Node的一个端口号上,
# 这样集群中的任意Node都可以作为Service的访问入口地址,即NodeIP:NodePort
nodePort: 31080 #对外暴露的端口
port: 8081 # svc 集群端口
protocol: TCP
targetPort: 8081 # pod端口 容器内的端口
selector:
k8s-app: core-api-service
sessionAffinity: None
type: NodePort
更新原理参考以下文档
作者:海马 创建时间:2023-07-19 09:36
最后编辑:海马 更新时间:2024-08-03 21:41
最后编辑:海马 更新时间:2024-08-03 21:41