今天研究下了中心k8s集群,mysql 数据不在集群中, 当时好奇集群内部是如何访问到集群外部db的呢?查了下资料,研究了下yaml配置,了解了ep(endpoint)
文章参考: https://blog.csdn.net/cuipengchong/article/details/71698764
- k8s访问集群外独立的服务最好的方式是采用Endpoint方式,以mysql服务为例:
1. 创建mysql service
apiVersion: v1
kind: Service
metadata:
name: mysql-production
spec:
ports:
- port: 3306
2.创建mysql-endpoints.yaml
kind: Endpoints
apiVersion: v1
metadata:
name: mysql-production
namespace: default
subsets:
- addresses:
- ip: 192.168.1.25
ports:
- port: 3306
具体业务代码内部可能用的是host, 那host怎么与这个对应的呢,可以使用coredns,具体使用可以自行查手册