В рамках теста поднял миникуб, закинул туда nginx+php-fpm+mysql и приложение на slim'e. Сначала всё работало, затем решил навести "порядок", растаскал всё по папкам. И переходя на тестовый домен теперь вижу 503 ошибку. Попробовал подключиться к поду, похоже что конфиг nginx'a не подтянулся, не смотря на наличие файла config.yaml, и вроде бы, верно указанных volume, volumeMount...
Сейчас вот 2 часа просидел пытался понять что не так и почему раньше работало. Никаких продвижений нет абсолютно. И логи пустые, или я не туда смотрю вообще.
https://github.com/ivekov/minikubeNginxPhpMysql
Есть подозрение что проблема в этих файлах:
/opt/docker/nginxPhpFpm/configs/backend/crud/config.yaml
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-config
data:
nginx.conf: |
events {
}
http {
server {
listen 80 default_server;
listen [::]:80 default_server;
# Set nginx to serve files from the shared volume!
root /var/www/html/public;
server_name _;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
}
/opt/docker/nginxPhpFpm/configs/backend/crud/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-php-app
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
volumes:
# Create the shared files volume to be used in both pods
- name: app-files
hostPath:
path: /opt/docker/nginxPhpFpm/app/backend
type: Directory
- name: nginx-config-volume
configMap:
name: nginx-config
containers:
- name: backend
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: app-files
mountPath: /var/www/html
- name: nginx-config-volume
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
env:
- name: DB_HOST
value: mysql
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
- name: php-fpm
image: ivekov/php-fpm
volumeMounts:
- name: app-files
mountPath: /var/www/html
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "cp -r /app/. /var/www/html"]
Был бы очень признателен за помощь...