【问题标题】:Communication between pods on different namespaces不同命名空间上的 pod 之间的通信
【发布时间】:2020-07-27 06:50:59
【问题描述】:

我有一个在名为 frontend 的命名空间上运行的应用程序 pod 和一个在名为 backend 的不同命名空间上运行的数据库 pod。我需要在不同命名空间中的两个 pod 之间进行通信。数据库容器已启动并正在运行,但应用程序容器出现 crashloopbackoff 错误。

当我看到应用程序 pod 的日志时,在解析通过环境变量 PGHOST 提供的与数据库容器名称相同的数据库主机名时出现错误。但是好像是应用容器无法解析数据库主机。

因此,我应该如何连接它们。我想问题是由于不同的命名空间造成的。那么如何连接它们并使它们通信。

错误:

> The Gemfile's dependencies are satisfied rake aborted!
> PG::ConnectionBad: could not translate host name "postgres" to
> address: Name or service not known

【问题讨论】:

  • 你得到什么错误添加..也添加 yamls
  • 我只是想知道,在 configmap 文件中指定 POSTGRES_HOST: postgres 时,我是否需要提及有关命名空间或更确切地说是 postgres 容器的 IP 的任何内容?因为 postgres 在不同的命名空间中

标签: kubernetes minikube kubernetes-pod


【解决方案1】:

我假设您在 xyz 命名空间中有一个名为 postgres ClusterIP 类型服务。然后你可以通过指定postgres.xyz从另一个命名空间访问它

Kubernetes 有一个 DNS 系统 CoreDNS,它将主机名 postgres.xyz 解析为 POD IP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多