如何在使用 Ghost docker 镜像和 Kubernetes 时增加最大文件大小
How to increase the maximum file size when using Ghost docker image and Kubernetes
我正在使用 Kubernetes 和版本为 3.16.1 的 docker 图像 ghost 托管一个 Ghost 博客。上传主题时,我收到文件大小过大的错误消息。
The file you uploaded was larger than the maximum file size your server allows.
我一直在远程访问 pod 以查看我是否在那里找到任何我可以配置但看不到的设置。看不到在deployment文件中增加什么配置增加默认。
我有一个使用 Nginx 的 Ingress 控制器并指定了“nginx。org/client-max-body-size”,但是在我添加了那个之后没有帮助。
有人知道如何在使用 Ghost docker 图像和 nginx 入口控制器时增加最大文件大小吗?以下是入口控制器配置文件和部署文件的一部分。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: beitostolenlive-no-ingress
namespace: beitostolenlive-no
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.org/proxy-connect-timeout: "30s"
nginx.org/proxy-read-timeout: "20s"
nginx.org/client-max-body-size: "50m"
这是部署配置文件。
apiVersion: apps/v1
kind: Deployment
metadata:
name: beitostolenlive-no
namespace: beitostolenlive-no
labels:
web: beitostolenlive-no
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
web: beitostolenlive-no
template:
metadata:
labels:
web: beitostolenlive-no
spec:
containers:
- name: beitostolenlive-no
image: ghost:3.16.1
imagePullPolicy: Always
ports:
- containerPort: 2368
env:
- name: url
value: https://beitostolenlive.no
- name: database__client
value: mysql
- name: database__connection__host
value: ***
- name: database__connection__user
value: ***
- name: database__connection__password
value: ***
- name: database__connection__database
value: ***
volumeMounts:
- mountPath: /var/lib/ghost/content
name: content
volumes:
- name: content
persistentVolumeClaim:
claimName: beitostolenlive-no-content
请在您的入口配置文件中添加 nginx.ingress.kubernetes.io/proxy-body-size
注释。
对于 NGINX,当请求中的大小超过客户端请求正文的最大允许大小时,将向客户端返回此类错误。这个大小可以通过参数client_max_body_size
.
来配置
要为所有 Ingress 规则全局配置此设置,可以在 NGINX ConfigMap 中设置 proxy-body-size
值。要在 Ingress 规则中使用自定义值,请定义我提到的注释。
有用信息:custom-max-body-size, 413-k8s-helm.
我正在使用 Kubernetes 和版本为 3.16.1 的 docker 图像 ghost 托管一个 Ghost 博客。上传主题时,我收到文件大小过大的错误消息。
The file you uploaded was larger than the maximum file size your server allows.
我一直在远程访问 pod 以查看我是否在那里找到任何我可以配置但看不到的设置。看不到在deployment文件中增加什么配置增加默认。
我有一个使用 Nginx 的 Ingress 控制器并指定了“nginx。org/client-max-body-size”,但是在我添加了那个之后没有帮助。
有人知道如何在使用 Ghost docker 图像和 nginx 入口控制器时增加最大文件大小吗?以下是入口控制器配置文件和部署文件的一部分。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: beitostolenlive-no-ingress
namespace: beitostolenlive-no
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.org/proxy-connect-timeout: "30s"
nginx.org/proxy-read-timeout: "20s"
nginx.org/client-max-body-size: "50m"
这是部署配置文件。
apiVersion: apps/v1
kind: Deployment
metadata:
name: beitostolenlive-no
namespace: beitostolenlive-no
labels:
web: beitostolenlive-no
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
web: beitostolenlive-no
template:
metadata:
labels:
web: beitostolenlive-no
spec:
containers:
- name: beitostolenlive-no
image: ghost:3.16.1
imagePullPolicy: Always
ports:
- containerPort: 2368
env:
- name: url
value: https://beitostolenlive.no
- name: database__client
value: mysql
- name: database__connection__host
value: ***
- name: database__connection__user
value: ***
- name: database__connection__password
value: ***
- name: database__connection__database
value: ***
volumeMounts:
- mountPath: /var/lib/ghost/content
name: content
volumes:
- name: content
persistentVolumeClaim:
claimName: beitostolenlive-no-content
请在您的入口配置文件中添加 nginx.ingress.kubernetes.io/proxy-body-size
注释。
对于 NGINX,当请求中的大小超过客户端请求正文的最大允许大小时,将向客户端返回此类错误。这个大小可以通过参数client_max_body_size
.
要为所有 Ingress 规则全局配置此设置,可以在 NGINX ConfigMap 中设置 proxy-body-size
值。要在 Ingress 规则中使用自定义值,请定义我提到的注释。
有用信息:custom-max-body-size, 413-k8s-helm.