apiVersion: v1 kind: Namespace metadata: name: wordpress --- apiVersion: v1 kind: PersistentVolume metadata: name: wordpress-pv labels: type: local spec: storageClassName: "" capacity: storage: 1Gi accessModes: - ReadWriteMany nfs: server: 192.168.2.111 path: /mnt/nfs_share/prod/wordpress readOnly: false --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: wordpress-pvc namespace: wordpress spec: storageClassName: "" volumeName: wordpress-pv accessModes: - ReadWriteMany volumeMode: Filesystem resources: requests: storage: 1G --- apiVersion: apps/v1 kind: Deployment metadata: name: wordpress namespace: wordpress spec: replicas: 1 selector: matchLabels: app: wordpress template: metadata: labels: app: wordpress spec: containers: - name: wordpress image: wordpress ports: - containerPort: 80 name: wordpress volumeMounts: - name: wordpress-data mountPath: /var/www env: - name: WORDPRESS_DB_HOST value: mariadb.mariadb.svc.cluster.local:3306 - name: WORDPRESS_DB_PASSWORD value: wordpress - name: WORDPRESS_DB_USER value: wordpress - name: WORDPRESS_DB_NAME value: wordpress volumes: - name: wordpress-data persistentVolumeClaim: claimName: wordpress-pvc --- kind: Service apiVersion: v1 metadata: name: wordpress namespace: wordpress spec: type: ClusterIP selector: app: wordpress ports: - name: http protocol: TCP port: 80 targetPort: 80 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: wordpress-tls namespace: wordpress spec: entryPoints: - websecure routes: - match: Host(`wordpress-prod.allarddcs.nl`) kind: Rule services: - name: wordpress port: 80 tls: certResolver: letsencrypt