认识
2024年08月30日
一、认识
Kubernetes Service
是一种 Kubernetes
资源,用于定义和管理应用程序的网络服务。其主要作用是在一组 Pod
前面提供一个稳定的网络访问接口,使得即使 Pod
动态变化,外部也可以通过 Service
访问这些 Pod
。Service
可以被看作是一种 虚拟 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
Selector
:Service
使用标签选择器(Label Selector
)来选择一组符合条件的 Pod
,通常这些 Pod
拥有相同的标签。
3.2 Endpoints
Endpoints
:Service
通过选择器确定哪些 Pod
应包含在服务中,然后生成一个 Endpoints
对象,其中包含服务的 IP
地址和端口,帮助 Kubernetes
将流量路由到正确的 Pod
上。