我已经使用 Kubernetes 提供的 examples 在 Google Kubernetes Engine 上部署了一个 Redis 集群.它按预期工作。
我正在尝试从客户端应用程序连接到这个集群。我知道 Redis 不提供加密,也不推荐将集群公开给全世界,它旨在从私有(private)和受信任的网络访问。
如果默认情况下,redis 绑定(bind)到环回接口(interface),我如何将标准(Go 或 Python)客户端库连接到集群?
最佳答案
正如 Carlos 所描述的,kubectl proxy
可能是一种方法。这里有一些替代方案。
我想说看看提供 Redis 即服务的云服务是如何做到这一点的。他们有密码验证模型吗?他们有 TLS 证书吗?了解他们如何提供身份验证,您也可以那样配置它。
如果没有身份验证,
kubectl proxy
和kubectl port-forward
将为您提供进入集群的安全隧道,因此您不必公开公共(public)互联网的 redis 服务。使用新功能
内部负载均衡器
https://cloud.google.com/kubernetes-engine/docs/how-to/internal-load-balancing .这使您可以访问您的 Redis 集群(在具有非公共(public) IP 地址的 GKE 上运行)到您网络中的其他 GCE 虚拟机。这仍然不进行身份验证/授权,但至少它没有暴露在公共(public)互联网上。
关于redis - 访问 Google Kubernetes Engine 上的 Redis 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47535040/