nginx 代理 redis

nginx 代理 redis_第1张图片
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> 

nginx 代理 redis_第2张图片

只适用于pod为1,如果有多个pod则通过LoadBalancer分发到任何节点上,如果节点上的redis没有同步则后续get值可能会返回nil。
本案例旨在演示nginx代理redis,借用kubernetes运行的redis实例进行演示,真实项目一般数据流向为F5到SLB(HAProxy)到Kubernetes集群部署的容器里部署的应用。

你可能感兴趣的:(面试,学习路线,阿里巴巴,nginx,redis,运维)