示例:

  1. apiVersion: v1 # API版本
  2. kind: Service # 声明版本为Service
  3. metadata: # 元数据
  4. name: nginx-service # 定义Service的名字
  5. labels: # 定义Service的标签
  6. name: nginx-service
  7. spec:
  8. type: NodePort # 定义Service的类型
  9. selector: # 定义标签选择器,会代理后端name=nginx-service的Pod
  10. name: nginx-service
  11. ports: # 暴露的端口名
  12. - port: 8000

关键点:

  1. Service 跟 pod 关联的关键点是 selector , 如果没有加 selector 是无法关联的
  2. port 是内部容器的端口
  3. targetPort 是外部服务器暴露的端口,通过 kube-proxy,将 pod 内的服务转发到外部实际的服务器上,再指定端口,让其他人能够访问。
  4. type:NodePort 简单理解就是表示 Service 可以将服务暴露到 node 节点上,通过 node 服务器的 IP 进行访问。