跳到主要内容

认识

2024年08月30日
柏拉文
越努力,越幸运

一、认识


Kubernetes Service 是一种 Kubernetes 资源,用于定义和管理应用程序的网络服务。其主要作用是在一组 Pod 前面提供一个稳定的网络访问接口,使得即使 Pod 动态变化,外部也可以通过 Service 访问这些 PodService 可以被看作是一种 虚拟 IP负载均衡器,在 Kubernetes 集群内外提供负载均衡和服务发现的功能。

二、语法


apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: NodePort
selector:
app: my-app
ports:
- protocol: TCP
port: 80 # Service 的端口
targetPort: 8080 # Pod 的端口
nodePort: 30007 # Node 上的端口

三、工作


3.1 Selector

SelectorService 使用标签选择器(Label Selector)来选择一组符合条件的 Pod,通常这些 Pod 拥有相同的标签。

3.2 Endpoints

EndpointsService 通过选择器确定哪些 Pod 应包含在服务中,然后生成一个 Endpoints 对象,其中包含服务的 IP 地址和端口,帮助 Kubernetes 将流量路由到正确的 Pod 上。