kubernetes 发布的redis服务端口为 31250
通过命令查询
[mini@ecs-88500735 /]$ minikube service redis --url http://192.168.49.2:31250 [root@ecs-88500735 /]# vi /etc/nginx/nginx.conf配置nginx.conf
stream { upstream redis { server 192.168.49.2:31250; } server { listen 63790; proxy_pass redis; } } [root@ecs-88500735 /]# nginx -s reload [root@ecs-88500735 /]# redis-cli -h 127.0.0.1 -p 63790 127.0.0.1:63790> get me (nil) 127.0.0.1:63790> set me good OK 127.0.0.1:63790> get me "good" 127.0.0.1:63790>只适用于pod为1,如果有多个pod则通过LoadBalancer分发到任何节点上,如果节点上的redis没有同步则后续get值可能会返回nil。
本案例旨在演示nginx代理redis,借用kubernetes运行的redis实例进行演示,真实项目一般数据流向为F5到SLB(HAProxy)到Kubernetes集群部署的容器里部署的应用。