【发布时间】:2019-08-13 06:04:37
【问题描述】:
我正在使用 kubernetes 设置一个新服务器来运行 Spring boot 微服务。如何让 Spring Boot 应用程序连接到外部 oracle 数据库? (数据库ip为170.27.10.10:1521)
Kube Master 的 IP:170.16.163.10 Kube节点的IP:170.16.163.11 Kube Node 可以连接到服务器 db。
我通过命令创建部署:
kubectl run db-deployment --image 170.16.163.30:5000/mcrdb:0.0.4 --replicas=2 --port=8083
kubectl expose deployment db-deployment --type=LoadBalancer --port=8083 --target-port=8083
并创建服务:
kind: "Service"
apiVersion: "v1"
metadata:
name: "dbdev"
spec:
ports:
-
name: "oracle-db"
protocol: "TCP"
port: 1521
targetPort: 1521
nodePort: 0
kind: Endpoints
apiVersion: v1
metadata:
name: dbdev
subsets:
- addresses:
- ip: 170.27.10.10
ports:
- port: 1521
并在 application.properties 中配置数据库
spring.datasource.url=jdbc:oracle:thin:@170.27.10.10:1521/vservice
spring.datasource.username=dev_user
spring.datasource.password=dev_pass
微服务无法启动,错误连接到 oracle db。
【问题讨论】:
-
是否可以从集群网络中访问此数据库?看起来所有范围都是本地的。另外,请记住,在集群内所有地址都可以访问,但在集群外,您可以尝试从 pod 内 ping 它以在无头服务方法之前测试通信。
标签: oracle kubernetes