Kubernetes Pod无法与Oracle,Mongo等外部服务通信

y53ybaqx  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(97)

我的数据库运行在不同的主机上,没有部署在Kubernetes中(例如:主机名为testDevDb)
当我运行我的微服务(MS)作为K8 Pod时,MS无法打开与外部数据库的连接。我得到未知的主机异常. DNS好像没有解决。

Caused by: java.net.UnknownHostException: testDevDb
    at java.net.InetAddress$CachedAddresses.get(InetAddress.java:797) ~[?:?]
    at java.net.InetAddress.getAllByName0(InetAddress.java:1505) ~[?:?]
    at java.net.InetAddress.getAllByName(InetAddress.java:1364) ~[?:?]
    at java.net.InetAddress.getAllByName(InetAddress.java:1298) ~[?:?]

我找不到合适的文章来解决这个问题。
有没有办法在K8的POD中使用主机的/etc/resolv.conf。
请帮助我正确的方法来解决这个问题

nom7f22z

nom7f22z1#

如果您想在Pod中的/etc/hosts文件中添加主机和IP信息,可以使用hostAliases。在doc中有一个pod的例子。
示例部署。yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: yourdeploymentname
  labels:
    app: yourapp
spec:
  replicas: 3
  selector:
    matchLabels:
      app: yourapp
  template:
    metadata:
      labels:
        app: yourapp
    spec:
      containers:
      - name: yourapp
        image: yourappimage:latest
    hostAliases:
      - ip: "10.10.10.10"
        hostnames:
        - "testDevDb"

相关问题