Назад | Перейти на главную страницу

Существующее развертывание Wordpress в Kubernetes с постоянным томом возвращает ошибку 404 при развертывании

Это мой пвх


apiVersion: v1
kind: PersistentVolumeClaim
metadata:
    name: my-pvc
spec:
    accessModes:
        - ReadWriteOnce
    resources:
        requests:
            storage: 1Gi
    storageClassName: do-block-storage

Это моя конфигурация развертывания

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysite
  labels:
    tier: backend
spec:
  replicas: 2
  selector:
    matchLabels:
      app: mysite
      tier: backend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mysite
        tier: backend
    spec:
      containers:
        - name: mysite
          image: my-image
          ports:
            - containerPort: 80
          volumeMounts:
            - name: config
              mountPath: /etc/nginx/sites-enabled
            - name: my-pvc
              mountPath: /var/www/app
      volumes:
        - name: my-pvc
          persistentVolumeClaim:
            claimName: my-pvc
        - name: config
          configMap:
            name: wordpress-nginx-config
            items:
              - key: config
                path: default.conf
      imagePullSecrets:
        - name: registry-secret

Это моя карта конфигурации wordpress

apiVersion: v1
kind: ConfigMap
metadata:
  name: wordpress-nginx-config
  labels:
    tier: backend
data:
  config: |
    server {
      listen 80;
      index index.php index.html;
      server_name _;
      error_log /dev/stdout info;
      access_log /dev/stdout;
      root var/www/app;
      location /.git {
         deny all;
         return 403;
      }
      location / {
          try_files $uri $uri/ /index.php?$args;
              }
      location ~ \.php$ {
          try_files $uri =404;
          fastcgi_pass unix:/var/run/php-fpm.sock;
        }
        location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
                expires           5d;
        }
        location ^~ /.well-known {
          allow all;
          auth_basic off;
        }
    }

Посещая URL-адрес моей службы, я все еще получаю ошибку 404. Я буду признателен за любую помощь, которую смогу получить. Я развернул без PVC, и это сработало, я знаю, что проблема в моей конфигурации PVC.

Проблема в том, что вы используете в себе абсолютный путь mountPath: /var/www/app и относительный путь в вашем configMap: root var/www/app;.

Вам нужно изменить свой configMap, чтобы использовать относительный путь, или исправить mountPath в спецификациях контейнера.

Чтобы проверить, находятся ли файлы в правильном месте, вы можете войти в контейнер и перейти к папке /var/www/app.

kubectl exec -it <container_name> sh

Ссылки: Получить оболочку контейнера Абсолютный путь против относительного пути