介绍说明
• 防止Pod失联
• 定义一组Pod的访问策略
• 支持ClusterIP,NodePort以及LoadBalancer三种类型
• Service的底层实现主要有Iptables和IPVS二种网络模式
Pod与Service的关系
• 通过label-selector相关联
• 通过Service实现Pod的负载均衡( TCP/UDP 4层)
Service 定义
# 版本 apiVersion: v1 # 资源对象 kind: Service # 元数据 metadata: # 指定service名称 name: my-service # 命名空间 namespace: default spec: # 分配IP clusterIP: 10.0.0.1 # 指定端口 ports: # 端口名称 - name: http # 指定service端口 port: 80 # service使用协议 protocol: TCP # 容器端口,转发后端容器端口 targetPort: 80 # 标签选择器,通过标签匹配关联的pod selector: # 标签 app: nginx
实例
1、创建service yml文件
apiVersion: v1 kind: Service metadata: name: my-service namespace: default spec: clusterIP: 10.0.0.123 ports: - name: http port: 80 protocol: TCP targetPort: 80 selector: app: nginx