Service(服务)

发布时间 2023-08-22 08:38:12作者: HaimaBlog

k8s的三层网络

image

  1. 宿主机网络
    物理主机网络。
  2. svc集群网络
    clusterIp集群网络,集群内部服务可以相互访问,集群外部不能访问集群内的服务。可以升级为NodePort方式,映射podIp:podPort到宿主机的IP和端口,这样外部用就可以访问pod服务了。
    数据流向:
    外部用户 --> 宿主机的IP和端口 --> svc(nodePort).label --> 通过标签找到pod
  3. 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