mysql-deployment.yaml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: wordpress-mysql
  5. labels:
  6. app: wordpress
  7. spec:
  8. ports:
  9. - port: 3306
  10. selector:
  11. app: wordpress
  12. tier: mysql
  13. clusterIP: None
  14. ---
  15. apiVersion: v1
  16. kind: PersistentVolumeClaim
  17. metadata:
  18. name: mysql-pv-claim
  19. labels:
  20. app: wordpress
  21. spec:
  22. accessModes:
  23. - ReadWriteOnce
  24. resources:
  25. requests:
  26. storage: 20Gi
  27. ---
  28. apiVersion: extensions/v1beta1
  29. kind: Deployment
  30. metadata:
  31. name: wordpress-mysql
  32. labels:
  33. app: wordpress
  34. spec:
  35. strategy:
  36. type: Recreate
  37. template:
  38. metadata:
  39. labels:
  40. app: wordpress
  41. tier: mysql
  42. spec:
  43. containers:
  44. - image: mysql:5.6
  45. name: mysql
  46. env:
  47. # $ kubectl create secret generic mysql-pass --from-file=password.txt
  48. # make sure password.txt does not have a trailing newline
  49. - name: MYSQL_ROOT_PASSWORD
  50. valueFrom:
  51. secretKeyRef:
  52. name: mysql-pass
  53. key: password.txt
  54. ports:
  55. - containerPort: 3306
  56. name: mysql
  57. volumeMounts:
  58. - name: mysql-persistent-storage
  59. mountPath: /var/lib/mysql
  60. volumes:
  61. - name: mysql-persistent-storage
  62. persistentVolumeClaim:
  63. claimName: mysql-pv-claim