2017-10-16 75 views
0

我有一个Django应用程序在GKE的Kubernetes中运行。该django应用程序连接到一个静态(非集装箱)postgresql服务器。由于它们都位于一个区域中,我的django应用程序使用内部IP连接到数据库。如何仅允许访问postgresql中的kubernetes窗格?

我只希望我的Django的应用请求到PostgreSQL数据库的连接,并拒绝来自其他IP地址来请求连接。

要做到这一点,在pg_hba.conf我这样做:

host all    all    14.133.0.0/24    md5 

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

用于波德IP的示例可以是14.4.123.32。所以,如果我这样做在pg_hba.conf,这个问题将是固定的:

host all    all    14.0.0.0/8    md5 

另一个要注意的是,波德IP地址随时更改。因此,该解决方案将在更新吊舱后中断。

最好的做法是什么?

回答

0

另一个要注意的是,波德IP地址随时更改。因此,该解决方案将在更新吊舱后中断。

为什么你认为这将打破一旦吊舱更新?只要你的pod IP在14.0.0.0/8范围内,它应该可以正常工作,除非你定义了一个大于这个范围的IP范围。

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

相关问题