Kubernetes使用Ingress做代理引发的PHP session问题

这篇是关于Kubernetes使用Ingress做代理引发的PHP session问题。

在Kubernetes上部署了一个PHP传统站点,使用session做会话保持,nginx和php-fpm副本数都是1,但是登录后一刷新页面登录状态就失效,快的时候一次,慢的时候也就两三次。

多番排查无果,包括修改`php.ini`中的session配置,以及在程序中使用Redis存储session,问题依旧。

Kubernetes部署nginx和php-fpm

前面我们已经用Kubernetes部署了nginx集群,也用Docker分别部署了nginx和php-fpm服务,那么是否可以用Kubernetes来组合部署nginx和php-fpm呢?

答案是可以!

相当于把之前两次的部署方式结合起来,具体过程就不写了,配置文件有点多。

Kubernetes部署可扩展的nginx集群

接下来我们在Kubernetes是部署一个可以扩展的nginx集群。

因为是在Ingress上部署的,所以前提是你的Kubernetes集群上已部署Ingress,如果没有,参考这篇 Kubernetes安装配置Ingress https://www.pimspeak.com/kubernetes-deploy-config-ingress.html

首先创建nginx Deployment和Service的配置文件 `nginx.yaml`

豫ICP备19001387号-1