我部署了这个Wordpress kubernetes容器:https://console.cloud.google.com/marketplace/details/google/wordpress?project
但是我在Wordpress中上传主题时遇到问题。 上传的文件超出了php.ini中的upload_max_filesize指令。
我找不到文件:php.ini。在kubernetes的豆荚中。
我试图在Wordpress https://wordpress.org/plugins/php-settings/中使用插件来编辑php.ini,但是没有写文件。
有人可以帮助我逐步介绍如何修改容器的Yaml或其他解决方案吗?
答案 0 :(得分:0)
您可以执行'kubectl get pods'列出容器,然后使用'kubectl exec -it [POD_NAME]-/ bin / bash'进入外壳。然后,您可以按照link中提到的方法更改值。
另一种选择是使用与此ConfigMap类似的自定义配置创建一个link,以增加上传文件的大小。
然后,您需要处理GKE工作负载,并且在“ StatefulSet”类型的“ wordpress-1-wordpress”工作负载中,您需要修改YAML文件,您可以在其中添加ConfigMap data to a Volume。
另一个解决方法是,您可以重建在docker文件中使用的映像。
答案 1 :(得分:0)
根据here的建议,建议的方法是安装php config ini文件。公开它的最方便方法是使用Kubernetes ConfigMaps。请创建一个新的配置图:
apiVersion: v1
kind: ConfigMap
metadata:
name: wp-php-config
namespace: default
data:
uploads.ini: |-
file_uploads = On
upload_max_filesize = 256M
post_max_size = 256M
memory_limit = 64M
max_execution_time = 600
然后通过将以下配置添加到Pod spec.template.spec.containers
中来将configMap作为pod中的一个卷公开:
... (wordpress container specs)
volumeMounts:
- mountPath: /usr/local/etc/php/conf.d/uploads.ini
name: php-config
subPath: uploads.ini
(...)
volumes:
- configMap:
defaultMode: 420
name: wp-php-config
name: php-config
您可能还需要调整您的入口最大上传限制。假设您使用的是nginx入口,请用注解修饰它:
nginx.ingress.kubernetes.io/proxy-body-size: 50m
如果您要将更改全局应用于入口,请搜索入口configMap并在其中添加设置。
答案 2 :(得分:0)
这是我解决该问题的方法:
我将这些行添加到了Dockerfile
运行touch /usr/local/etc/php/conf.d/uploads.ini \ && echo“ file_uploads =在\ n \ max_execution_time = 600 \ n \ upload_max_filesize = 200M \ n \ post_max_size = 200M“ >> /usr/local/etc/php/conf.d/uploads.ini
在nginx-ingressdependencies.yml中,我在configmap中添加了这些“数据”参数,并且有效。
种类:ConfigMap apiVersion:v1 元数据: 名称:nginx配置 命名空间:ingress-nginx 标签: app.kubernetes.io/名称:ingress-nginx app.kubernetes.io/part-of:ingress-nginx 数据: proxy-body-size:“ 200m” client-max-body-size:“ 200m”
之后,*kubectl apply -f ingress/dependencies.yml*
和我能够上传2mb以上的视频。
尝试一下,看看它是否对您有用