Развертывание fre sh Wordpress на GKE слишком много проблем с перенаправлением - PullRequest
0 голосов
/ 30 марта 2020

Я хочу развернуть Wordpress на GKE. Я написал несколько файлов yaml для этого. Развертывания запускаются, но когда я попадаю в домен, меня перенаправляют на /wp-admin/install.php слишком много раз с http кодом 302. Для своего развертывания я использовал:

  • nginx ingress контроллер
  • вставлен в мою строку / etc / hosts: ip входящего контроллера example.com

Пожалуйста, найдите ниже yamls:

apiVersion: v1
kind: Namespace
metadata:
  name: wordpress
---
apiVersion: v1
kind: Secret
metadata:
  name: database-secret
  labels:
    app: database
  namespace: wordpress
data:
  ROOT_PASSWORD: xxx
  USER: zzz
  PASSWORD: yyy
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: database-config
  labels:
    app: database
  namespace: wordpress
data:
  DATABASE: wordpress-db
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: database-deployment
  labels:
    app: database
  namespace: wordpress
spec:
  selector:
    matchLabels:
      app: database
  serviceName: database
  replicas: 1
  template:
    metadata:
      labels:
        app: database
    spec:
      containers:
      - env:
        - name: MYSQL_DATABASE
          valueFrom:
            configMapKeyRef:
              name: database-config
              key: DATABASE
        - name: MARIADB_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: database-secret
              key: ROOT_PASSWORD
        - name: MYSQL_USER
          valueFrom:
            secretKeyRef:
              name: database-secret
              key: USER
        - name: MYSQL_PASSWORD
          valueFrom:
            secretKeyRef:
              name: database-secret
              key: PASSWORD
        image: mariadb/server:10.4
        volumeMounts:
        - name: wordpress-data
          mountPath: /var/lib/mysql
        imagePullPolicy: IfNotPresent
        ports:
          - containerPort: 3306
        name: db-server
  volumeClaimTemplates:
  - metadata:
      name: wordpress-data
      labels:
        app: database
      namespace: wordpress
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
  name: database-service
  labels:
    app: database
  namespace: wordpress
spec:
  type: NodePort
  selector:
    app: database
  ports:
    - port: 3306
      targetPort: 3306
      protocol: TCP
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: wordpress-config
  labels:
    app: wordpress
  namespace: wordpress
data:
  DATABASE_URL: database-service:3306
  WORDPRESS_TABLE_PREFIX: wp_
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: wordpress-themes
  namespace: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
  storageClassName: standard
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: wordpress-plugins
  namespace: wordpress
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
  storageClassName: standard
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress-deployment
  labels:
    app: wordpress
  namespace: wordpress
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      labels:
        app: wordpress
    spec:
      volumes:
        - name: wordpress-themes
          persistentVolumeClaim:
            claimName: wordpress-themes
        - name: wordpress-plugins
          persistentVolumeClaim:
            claimName: wordpress-plugins
      containers:
      - name: wordpress
        image: wordpress:php7.4-fpm-alpine
        volumeMounts:
        - name: wordpress-themes
          mountPath: /var/www/html/wp-content/themes/
        - name: wordpress-plugins
          mountPath: /var/www/html/wp-content/plugins/
        ports:
          - name: fastcgi
            containerPort: 9000
            protocol: TCP
        env:
          - name: WORDPRESS_DB_USER
            valueFrom:
              secretKeyRef:
                name: database-secret
                key: USER
          - name: WORDPRESS_DB_PASSWORD
            valueFrom:
              secretKeyRef:
                name: database-secret
                key: PASSWORD
          - name: WORDPRESS_DB_HOST
            valueFrom:
              configMapKeyRef:
                name: wordpress-config
                key: DATABASE_URL
          - name: WORDPRESS_TABLE_PREFIX
            valueFrom:
              configMapKeyRef:
                name: wordpress-config
                key: WORDPRESS_TABLE_PREFIX
          - name: WORDPRESS_DB_NAME
            valueFrom:
             configMapKeyRef:
               name: database-config
               key: DATABASE
---
apiVersion: v1
kind: Service
metadata:
  name: wordpress-service
  labels:
    app: wordpress
  namespace: wordpress
spec:
  type: NodePort
  selector:
    app: wordpress
  ports:
  - protocol: TCP
    port: 9000
    targetPort: 9000
    name: fastcgi
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-wordpress-configuration
  namespace: wordpress
data:
  SCRIPT_FILENAME: "/var/www/html/index.php"
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/backend-protocol: "FCGI"
    nginx.ingress.kubernetes.io/fastcgi-index: "index.php"
    nginx.ingress.kubernetes.io/fastcgi-params-configmap: "wordpress/nginx-wordpress-configuration"
  name: wordpress-service
  labels:
    app: wordpress
  namespace: wordpress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: wordpress-service
          servicePort: fastcgi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...