【问题标题】:How to allow access only for kubernetes pods in postgresql?如何只允许在 postgresql 中访问 kubernetes pod?
【发布时间】:2017-10-16 08:22:40
【问题描述】:

我有一个在 GKE 的 Kubernetes 中运行的 Django 应用程序。那个 django 应用程序连接到一个静态(非容器化)postgresql 服务器。由于它们都位于一个区域中,我的 django 应用程序使用内部 IP 连接到数据库。

我只希望我的 django 应用程序请求与 postgresql 数据库的连接,并拒绝来自其他 IP 的请求的连接。

为此,我在pg_hba.conf 中这样做了:

host    all             all             14.133.0.0/24              md5

因为所有内部 IP 都以 14.133 开头。但是,请求来自 pod IP,因此连接请求被拒绝。

Pod IP 的示例可以是14.4.123.32。因此,如果我在pg_hba.conf 中执行以下操作,问题将得到解决:

host    all             all             14.0.0.0/8              md5

另外需要注意的是 Pod IP 总是在变化。因此,一旦更新 pod,此解决方案就会中断。

解决此问题的最佳做法是什么?

【问题讨论】:

    标签: django postgresql docker kubernetes google-kubernetes-engine


    【解决方案1】:

    另外需要注意的是 Pod IP 总是在变化。因此,一旦更新 pod,此解决方案就会中断。

    为什么你认为一旦更新 pod 就会中断?只要您的 pod IP 在 14.0.0.0/8 范围内,它应该可以正常工作,除非您定义的 IP 范围大于此范围。

    Pod IP 由集群的容器地址范围设置定义,您可以在创建集群时通过gcloud container clusters create ...... --cluster-ipv4-cidr=${SOME_IP_RANGE} 进行配置。

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 2019-03-27
      • 2013-09-05
      相关资源
      最近更新 更多