我已使用Kubernetes提供的examples在 Google Kubernetes Engine 上部署了Redis群集。它按预期工作。
我正在尝试从客户端应用程序连接到此群集。我知道Redis不提供加密,也不建议将群集暴露给全世界,并且它的目的是从私有和可信网络访问。
如果默认情况下redis绑定到loopback接口,我如何连接标准(Go或Python)客户端库到集群?
答案 0 :(得分:2)
正如卡洛斯所说,kubectl proxy
可能是一种方法。以下是一些替代方案。
我想看一下提供Redis-as-a-Service的云服务是如何做到这一点的。他们有密码验证模型吗?他们有TLS证书吗?弄清楚他们如何提供auth,你也可以这样配置。
如果没有身份验证,kubectl proxy
和kubectl port-forward
将为您提供进入群集的安全隧道,因此您不必将redis服务公开给公共互联网。
使用新功能Internal Load Balancer
https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing。这使您可以访问Redis群集(在具有非公共IP地址的GKE上运行)到网络中的其他GCE VM。这仍然没有进行身份验证/授权,但至少它没有暴露给公共互联网。