wordpress-deployment.yaml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: wordpress
  5. namespace: wordpress
  6. labels:
  7. app: wordpress
  8. spec:
  9. type: NodePort
  10. ports:
  11. - port: 80
  12. nodePort: 30088
  13. targetPort: wordpress
  14. selector:
  15. app: wordpress
  16. tier: frontend
  17. ---
  18. apiVersion: v1
  19. kind: PersistentVolumeClaim
  20. metadata:
  21. name: wp-pv-claim
  22. namespace: wordpress
  23. labels:
  24. app: wordpress
  25. spec:
  26. accessModes:
  27. - ReadWriteOnce
  28. storageClassName: ""
  29. resources:
  30. requests:
  31. storage: 13Gi
  32. ---
  33. apiVersion: apps/v1
  34. kind: Deployment
  35. metadata:
  36. name: wordpress
  37. namespace: wordpress
  38. labels:
  39. app: wordpress
  40. spec:
  41. selector:
  42. matchLabels:
  43. app: wordpress
  44. tier: frontend
  45. strategy:
  46. type: Recreate
  47. template:
  48. metadata:
  49. labels:
  50. app: wordpress
  51. tier: frontend
  52. spec:
  53. containers:
  54. #- image: docker-registry:32000/wordpress:1.0
  55. - image: wordpress
  56. name: wordpress
  57. env:
  58. - name: WORDPRESS_DB_HOST
  59. value: wordpress-mysql
  60. - name: WORDPRESS_DB_PASSWORD
  61. valueFrom:
  62. secretKeyRef:
  63. name: mysqlwp-pass
  64. key: password
  65. - name: WORDPRESS_DB_USER
  66. valueFrom:
  67. secretKeyRef:
  68. name: mysqlwp-pass
  69. key: db_user
  70. ports:
  71. - containerPort: 80
  72. name: wordpress
  73. volumeMounts:
  74. - name: wordpress-persistent-storage
  75. mountPath: /var/www/html
  76. imagePullSecrets:
  77. - name: reg-cred-secret
  78. volumes:
  79. - name: wordpress-persistent-storage
  80. persistentVolumeClaim:
  81. claimName: wp-pv-claim