php - 使用 nginx / PHP-fpm 的 kubernates 无法正常工作
问题描述
我正在尝试使用 Kubernetes 创建自动缩放,我有一个 Laravel 系统,我正在使用这些 YAML 文件 configMap.yam 将此系统部署到 Kubernetes
kind: ConfigMap
apiVersion: v1
metadata:
name: qsinav-nginx-config
data:
default.conf: |
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/html/Test/qSinav-starter/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^/index\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
internal;
}
location ~ \.php$ {
return 404;
}
client_max_body_size 6m;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
}
这是用于构建 nginx / php-fpm 容器的 yaml 文件
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: app
name: qsinav6
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: app
strategy:
type: Recreate
template:
metadata:
labels:
app: app
spec:
containers:
- name: sylius-php-fpm
image: bitnami/php-fpm
imagePullPolicy: Never
ports:
- containerPort: 9000
name: http
protocol: TCP
volumeMounts:
- name: qsinav-nginx-config-volume
mountPath: /etc/nginx/conf.d/default.conf
subPath: default.conf
- name: qsinav-www-storage
mountPath: /var/www/html/Test/qSinav-starter
resources:
requests:
cpu: 100m
- name: nginx2
image: nginx:alpine
imagePullPolicy: Always
ports:
- containerPort: 80
name: http
protocol: TCP
volumeMounts:
- name: qsinav-nginx-config-volume
mountPath: /etc/nginx/conf.d/default.conf
subPath: default.conf
- name: qsinav-www-storage
mountPath: /var/www/html/Test/qSinav-starter
resources:
requests:
cpu: 100m
restartPolicy: Always
serviceAccountName: ""
volumes:
- name: qsinav-www-storage
persistentVolumeClaim:
claimName: qsinav-pv-www-claim
- name: qsinav-nginx-config-volume
configMap:
name: qsinav-nginx-config
这就是我公开服务的方式
kubectl expose deployment qsinav6 --type=LoadBalancer --name=qsinav-service
这是结果
kubectl 获取服务
qsinav-service LoadBalancer 10.106.113.217 10.106.113.217 9000:32071/TCP,80:30078/TCP 12m
现在,当我尝试通过浏览器访问我的系统时,我尝试使用服务提供的此 url 进行访问
10.106.113.217
但问题是我的系统工作不正常,似乎有些时候工作,大部分时间我有
文件未找到。
我不知道哪里出了问题,但有时它可以工作并且我可以访问系统,但是我从 Nginx 收到一个文件未找到错误
解决方案
推荐阅读
- r - 在R中组合一堆数据文件
- c# - 如何使控件扩展通过控件绑定或与其他控件重叠?
- mysql - 触发值,调用表列并与文本连接
- excel - VBA - 在 Sheets.Range 中使用平均函数
- android - 未找到处理 Intent { act=android.app.action.ADD_DEVICE_ADMIN (has extras) } 的 Activity
- java - Java - 我可以使用 JarURLConnection 来执行 jar 类吗?
- python - 分类的正确编码(标签)
- wordpress - get_terms(get_the_ID) 显示 WP_Error
- javascript - 如何在驼峰键名之间添加空格?
- python - 通过在 tensorflow 中运行会话来最小化开销