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