示例:
apiVersion: v1 # API版本
kind: Service # 声明版本为Service
metadata: # 元数据
name: nginx-service # 定义Service的名字
labels: # 定义Service的标签
name: nginx-service
spec:
type: NodePort # 定义Service的类型
selector: # 定义标签选择器,会代理后端name=nginx-service的Pod
name: nginx-service
ports: # 暴露的端口名
- port: 8000
关键点:
- Service 跟 pod 关联的关键点是
selector
, 如果没有加selector
是无法关联的 - port 是内部容器的端口
- targetPort 是外部服务器暴露的端口,通过 kube-proxy,将 pod 内的服务转发到外部实际的服务器上,再指定端口,让其他人能够访问。
type:NodePort
简单理解就是表示 Service 可以将服务暴露到 node 节点上,通过 node 服务器的 IP 进行访问。