k8s访问外部mysql_Kubernetes连接外部数据源

Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistent volumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很有难度的,Kubernetes提供了endpoints这种模式让外部的服务映射成内部的服务,这样比较好的解决了集群对外的连接问题,

如果我们去连接外部的一个oracle数据库,具体的步骤如下:

建立endpoints和service.

[root@k8s-master jdbcservice]# cat jdbc-endpoint.yaml

apiVersion: v1

kind: Endpoints

metadata:

name: jdbc

subsets:-addresses:- ip: 10.182.168.244ports:- port: 1521protocol: TCP

为了方便,我们固定了service的集群地址

[root@k8s-master jdbcservice]# cat jdbcservice.yaml

apiVersion: v1

kind: Service

metadata:

name: jdbc

spec:

clusterIP:10.254.150.201ports:- port: 1521targetPort:1521protocol: TCP

需要注意的是,service和endpoints的名字要相同,另外如果delete了service.再重新建立的时候要再把endpoints建立一遍。

在这个service的表里,我们看到jdbc服务绑在了201这个地址上。

[root@k8s

你可能感兴趣的:(k8s访问外部mysql)