k8 - EndPoints
首先要注意名称,名称中有字母s,名称不能简写。
EndPoints 是 kubenetes 集群中的一个资源对象,存储在 etcd 中,用来记录一个 service 对应的所有 pod 的访问地址。
一个 service 由一组 pod 组成,这些 pod 通过 Endpoints 暴露出来,Endpoints 是实现实际服务的端点集合。换句话说,service 和 pod 之间的联系是通过 endpoints 实现的。
手动创建 EndPoints 的场景
需求:客户已经有一套 mysql 数据库,它部署在了宿主机上,需要 kubenetes 以 service 的方式进行托管,
手动创建 EndPoints,将 IP、端口 配置成本地的 mysql,这时候 k8s 就可以通过 service 调用到 mysql。
# Service定义 (mysql-local-service.yaml)
apiVersion: v1
kind: Service
metadata:
name: mysql-local
spec:
ports:
- port: 3306
type: ExternalName
externalName: mysql-host.default.svc.cluster.local
# Endpoints定义 (mysql-local-endpoints.yaml)
apiVersion: v1
kind: Endpoints
metadata:
name: mysql-local
subsets:
- addresses:
- ip: "你本地MySQL服务器的IP"
ports:
- port: 3306
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!