从kubernetes集群应用程序连接到Redis

时间:2018-08-09 22:16:11

标签: google-cloud-platform gcloud

我在部署kubernetes集群的同一区域中设置了Redis实例(由Google管理的“内存存储”)。我希望我可以仅使用此私有redis ip地址作为host来从kubernetes集群中部署的应用程序进行连接。不幸的是,我总是得到etimedout,而且我完全不知道要连接到内存存储区需要做什么。

我是否需要添加特殊的防火墙规则,或者我在此过程中缺少某些内容?我还没有设置任何自定义规则,都是默认设置。

2 个答案:

答案 0 :(得分:1)

在我的情况下,通过Terraform创建的网络存在问题。没有IP别名选项。如在文档中所述,Memorystore应该位于您的vpc上(作为对等方),并且您的群集必须使用ip别名创建。 就我而言,我这样写:

resource "google_container_cluster" "my-cluster" {
...
  ip_allocation_policy = {
    cluster_ipv4_cidr_block = "10.2.0.0/19"
  }
...
}

和ip别名默认设置。 我找到了此解决方案here

答案 1 :(得分:0)

最有可能的是,您必须在网络接口上添加一个redis标签,以允许使用tcp:6379

请参阅https://cloud.google.com/community/tutorials/setting-up-redis

尤其是“打开网络端口(可选)”部分...

使用Cloud Shell SSH进入这样的实例,可能有助于发现问题。