Kubernetes:如何使用Nginx + phpmyadmin:fpm

在Kubernetes环境中尝试实现这一目标时,我偶然发现了这个问题。

在此处https://github.com/phpmyadmin/docker/issues/253中打开了docker-style问题。
我看了可与纯docker一起使用,但不能100%适用于k8。

使用k8s时,$document_root不能安装在nginx容器内,因为它严格位于phpmyadmin容器(/var/www/html)内。
因此nginx无法提供静态零件。

FPM为PHP代码提供了很好的服务,没问题,我得到了200的确认
GET /index.php HTTP/1.1" 200 3600
但是其他所有资源都以404结尾,因为FPM(不是他的工作)或nginx(本地没有它们)都不提供这些资源。

我的问题是:
如何在Kubernetes环境中实现此用例[nginx] -> [phpmyadmin:fpm]

必然问题:
我的方法或conf中有问题吗?

供参考:

nginx.conf

    server {
      listen      80;
      server_name pma.exemple.com;

      location ~ /.*\.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_pass  backend-phpmyadmin-service:9000;
        include       fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
      }
    }

deployment-pma.yaml

[...]
      containers:
        - name: backend-phpmyadmin
          image: phpmyadmin/phpmyadmin:fpm-alpine
          env:
            - name: PMA_HOST
              value: backend-mariadb
            - name: PMA_PORT
              value: '3306'
            - name: PMA_ABSOLUTE_URI
              value: 'http://pma.exemple.com/'
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: backend-mariadb-secret
                  key: pass

service-pma.yaml

apiVersion: v1
kind: Service
metadata:
  name: backend-phpmyadmin-service
[...]
  ports:
  - protocol: TCP
    port: 9000
qingfeng710 回答:Kubernetes:如何使用Nginx + phpmyadmin:fpm

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2390948.html

大家都在问