Kubernetes: Как использовать nginx + phpmyadmin: fpm - PullRequest
0 голосов
/ 21 апреля 2020

Я наткнулся на этот вопрос, пытаясь достичь этого в среде Kubernetes.

Вопрос, стиль docker здесь открыт https://github.com/phpmyadmin/docker/issues/253.
I прочитай это. Работает с чистым docker, но не на 100% применимо к k8s.

С k8s $document_root не может быть установлен внутри контейнера nginx, так как он находится строго внутри контейнера phpmyadmin ( /var/www/html).
Таким образом, nginx не может обслуживать стати c частей.

PHP Код хорошо обслуживается FPM, никаких проблем с этим, я получаю 200 OK
GET /index.php HTTP/1.1" 200 3600
Но все остальные ресурсы заканчиваются на 404, так как они не обслуживаются ни FPM (не его работой), ни nginx (у них их нет локально).

Мой вопрос будет таким:
Как добиться этого варианта использования [nginx] -> [phpmyadmin:fpm] в среде Kubernetes

Следственный вопрос:
Есть ли что-то не так в моем подходе или в мой конф?

Для справки:

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;
      }
    }

deploy-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
...