29、k8s-service的类型-四种-ClusterIP、NodePort、LoadBalancer、ExternalName
service的资源清单
vim service.yaml
------------------------------------------------------
apiVersion: v1
kind: Service
metadata:
name: sevice
namespace: dev
spec:
selector: #标签选择器、用于确定当前service代理哪些pod
app: nginx
type: #service类型、指定service的访问方式
clusterIP: # 虚拟服务的ip地址(service的ip地址)
sessionAffinity: #session亲和性、支持clientIP、None两个选项
ports: #端口信息
- protocol: TCP
port: 3017 #service的端口
targetPort: 5003 #pod的端口
nodePort: 31122 #主机端口
------------------------------------------------------------------------------
type:
·ClusterIP 默认值、他是kubernetes系统自动分配的虚拟ip、只能在集群内部访问
·NodePort 将service通过指定的Node节点上的端口暴露给外部、通过此方法、就可以再集群外部访问服务
·LoadBalancer: 使用外接负载均衡器完成到服务的负载分发、注意此模式需要外部云环境的支持
·ExternalName: 把集群外的服务引入集群内部、直接使用
sessionAffinity:
·支持clientIP 根据ip来分配service部署在哪个节点上
·None:不配置亲和性