Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. ---
  2. ###
  3. # cat > pv-wordpress.yml
  4. # kubectl create -f pv-wordpress.yml
  5.  
  6. apiVersion: v1
  7. kind: PersistentVolume
  8. metadata:
  9. name: wordpress-persistent-storage
  10. labels:
  11. app: wordpress
  12. spec:
  13. capacity:
  14. storage: 1Gi
  15. volumeMode: Filesystem
  16. accessModes:
  17. - ReadWriteMany
  18. nfs:
  19. path: /html
  20. server: nfs01
  21.  
  22. ---
  23. ###
  24. # cat > pv-mysql.yml
  25. # kubectl create -f pv-mysql.yml
  26.  
  27. apiVersion: v1
  28. kind: PersistentVolume
  29. metadata:
  30. name: mysql-persistent-storage
  31. labels:
  32. app: mysql
  33. spec:
  34. capacity:
  35. storage: 1Gi
  36. volumeMode: Filesystem
  37. accessModes:
  38. - ReadWriteMany
  39. nfs:
  40. path: /mysql
  41. server: nfs01
  42.  
  43. ---
  44. ###
  45. # cat > pvc-wordpress.yml
  46. # kubectl create -f pvc-wordpress.yml
  47.  
  48. apiVersion: v1
  49. kind: PersistentVolumeClaim
  50. metadata:
  51. name: wordpress-persistent-storage
  52. labels:
  53. app: wordpress
  54. spec:
  55. accessModes:
  56. - ReadWriteMany
  57. volumeMode: Filesystem
  58. resources:
  59. requests:
  60. storage: 1Gi
  61. selector:
  62. matchLabels:
  63. app: wordpress
  64. ---
  65. ###
  66. # cat > pvc-mysql.yml
  67. # kubectl create -f pvc-mysql.yml
  68.  
  69. apiVersion: v1
  70. kind: PersistentVolumeClaim
  71. metadata:
  72. name: mysql-persistent-storage
  73. labels:
  74. app: mysql
  75. spec:
  76. accessModes:
  77. - ReadWriteMany
  78. volumeMode: Filesystem
  79. resources:
  80. requests:
  81. storage: 1Gi
  82. selector:
  83. matchLabels:
  84. app: mysql
  85.  
  86. ---
  87. ###
  88. # cat > secret-mysql.yml
  89. # kubectl create -f secret-mysql.yml
  90.  
  91. apiVersion: v1
  92. kind: Secret
  93. metadata:
  94. name: mysql-pass
  95. labels:
  96. app: mysql
  97. type: Opaque
  98. data:
  99. password: YWRtaW4=
  100.  
  101. ---
  102. ###
  103. # cat > deploy-mysql.yml
  104. # kubectl create -f deploy-mysql.yml
  105.  
  106. apiVersion: apps/v1
  107. kind: Deployment
  108. metadata:
  109. name: mysql
  110. labels:
  111. app: mysql
  112. spec:
  113. replicas: 1
  114. selector:
  115. matchLabels:
  116. app: mysql
  117. template:
  118. metadata:
  119. labels:
  120. app: mysql
  121. spec:
  122. containers:
  123. - name: mysql
  124. image: mysql:5.7
  125. env:
  126. - name: MYSQL_ROOT_PASSWORD
  127. valueFrom:
  128. secretKeyRef:
  129. name: mysql-pass
  130. key: password
  131. volumeMounts:
  132. - mountPath: /var/lib/mysql
  133. name: mysql-persistent-storage
  134. volumes:
  135. - name: mysql-persistent-storage
  136.  
  137. ---
  138. ###
  139. # cat > service-mysql.yml
  140. # kubectl create -f service-mysql.yml
  141.  
  142. apiVersion: v1
  143. kind: Service
  144. metadata:
  145. name: wordpress-mysql
  146. labels:
  147. app: mysql
  148. spec:
  149. selector:
  150. app: mysql
  151. ports:
  152. - protocol: TCP
  153. port: 3306
  154. targetPort: 3306
  155.  
  156. ---
  157. ###
  158. # cat > deploy-mysql.yml
  159. # kubectl create -f deploy-mysql.yml
  160.  
  161. apiVersion: apps/v1
  162. kind: Deployment
  163. metadata:
  164. name: wordpress
  165. labels:
  166. app: wordpress
  167. spec:
  168. replicas: 2
  169. selector:
  170. matchLabels:
  171. app: wordpress
  172. template:
  173. metadata:
  174. labels:
  175. app: wordpress
  176. spec:
  177. containers:
  178. - name: wordpress
  179. image: wordpress
  180. env:
  181. - name: WORDPRESS_DB_PASSWORD
  182. valueFrom:
  183. secretKeyRef:
  184. name: mysql-pass
  185. key: password
  186. - name: WORDPRESS_DB_HOST
  187. value: wordpress-mysql
  188. volumeMounts:
  189. - mountPath: /var/www/html
  190. name: wordpress-persistent-storage
  191. volumes:
  192. - name: wordpress-persistent-storage
  193.  
  194. ---
  195. ###
  196. # cat > service-wordpress.yml
  197. # kubectl create -f service-wordpress.yml
  198.  
  199. apiVersion: v1
  200. kind: Service
  201. metadata:
  202. name: wordpress
  203. labels:
  204. app: wordpress
  205. spec:
  206. selector:
  207. app: wordpress
  208. type: NodePort
  209. ports:
  210. - name: 80-80
  211. nodePort: 31004
  212. port: 80
  213. protocol: TCP
  214. targetPort: 80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement