什么是Headless Services
Headless Services是一种特殊的service,其spec:clusterIP表示为None,这样在实际运行时就不会被分配ClusterIP。也被称为无头服务。
Headless Services使用场景
第一种:自主选择权,有时候client想自己决定使用哪个Real Server,可以通过查询DNS来获取Real Server的信息
第二种:headless service关联的每个endpoint(也就是Pod),都会有对应的DNS域名;这样Pod之间就可以互相访问
基于上面的两个例子,kubernates增加了headless serivces功能,也就是该service对外无提供ClusterIP。下面我们看看它如何配置的:
实例如下:
1: 创建namespace
[root@bogon ~]# vim mysql-space.yaml
apiVersion: v1
kind: Namespace
metadata:
name: mysql-space
labels:
name: mysql-space
2: 创建RC
[root@bogon ~]# vim mysql-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql-balance-rc
namespace: mysql-space
labels:
name: mysql-balance-rc
spec:
replicas: 2
selector:
name: mysql-ba