【问题标题】:Not able to access external database in a pod using kubeadm-dind-cluster无法使用 kubeadm-dind-cluster 访问 pod 中的外部数据库
【发布时间】:2019-06-12 04:26:27
【问题描述】:

我正在尝试配置本地环境来测试 kubernetes。我选择使用 kubeadm-dind-cluster 和 minikube。

我将数据库部署在 kubernetes 外部的容器上,我正尝试在 kubernetes 上创建的 pod 内访问它。

为此,我创建了一个没有 pod 选择器和端点的服务,如下所示:

apiVersion: v1

kind: Service

metadata:

  name: db-service

spec:

  ports:

  - name: db-port

    port: 1521

    protocol: TCP

    targetPort: 1521

apiVersion: v1

kind: Endpoints

metadata:

  name: db-service

subsets:

- addresses:

  - ip: 10.1.90.161

  ports:

  - name: db-port

    port: 1521

    protocol: TCP

服务创建成功如下图:

服务输出:

NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE

db-service   ClusterIP   10.111.130.231   <none>        1521/TCP   16m

端点输出:

NAME         ENDPOINTS          AGE

db-service   10.1.90.161:1521   19m

pod 容器内的 ping 不工作。

你能告诉我我错过了什么吗?

【问题讨论】:

    标签: kubernetes external minikube


    【解决方案1】:

    在您的清单文件中看起来一切正常。从 pod 内部 ping 端点并不是验证与外部数据库的连接的好方法。请用telnet查看端口是否真的打开了:

    telnet 10.1.90.161 1521
    

    【讨论】:

    • 感谢您的回答。我能够通过禁用 iptables 并重新安装 kubeadm-dind-cluster 来解决问题
    猜你喜欢
    • 2019-07-10
    • 2018-02-01
    • 2020-02-02
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2020-01-31
    • 2018-02-26
    相关资源
    最近更新 更多