kube-deployment.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. # redis
  2. ---
  3. apiVersion: v1
  4. kind: Service
  5. metadata:
  6. labels:
  7. app: redis
  8. name: redis
  9. spec:
  10. clusterIP: None
  11. ports:
  12. - name: redis-service
  13. port: 6379
  14. targetPort: 6379
  15. selector:
  16. app: redis
  17. ---
  18. apiVersion: apps/v1
  19. kind: Deployment
  20. metadata:
  21. name: redis
  22. labels:
  23. app: redis
  24. spec:
  25. replicas: 1
  26. selector:
  27. matchLabels:
  28. app: redis
  29. template:
  30. metadata:
  31. labels:
  32. app: redis
  33. spec:
  34. containers:
  35. - name: redis
  36. image: redis:alpine
  37. ports:
  38. - containerPort: 6379
  39. name: redis
  40. # db
  41. ---
  42. apiVersion: v1
  43. kind: Service
  44. metadata:
  45. labels:
  46. app: db
  47. name: db
  48. spec:
  49. clusterIP: None
  50. ports:
  51. - name: db
  52. port: 5432
  53. targetPort: 5432
  54. selector:
  55. app: db
  56. ---
  57. apiVersion: apps/v1
  58. kind: Deployment
  59. metadata:
  60. name: db
  61. labels:
  62. app: db
  63. spec:
  64. replicas: 1
  65. selector:
  66. matchLabels:
  67. app: db
  68. template:
  69. metadata:
  70. labels:
  71. app: db
  72. spec:
  73. containers:
  74. - name: db
  75. image: postgres:9.4
  76. env:
  77. - name: PGDATA
  78. value: /var/lib/postgresql/data/pgdata
  79. ports:
  80. - containerPort: 5432
  81. name: db
  82. volumeMounts:
  83. - name: db-data
  84. mountPath: /var/lib/postgresql/data
  85. volumes:
  86. - name: db-data
  87. persistentVolumeClaim:
  88. claimName: postgres-pv-claim
  89. ---
  90. apiVersion: v1
  91. kind: PersistentVolumeClaim
  92. metadata:
  93. name: postgres-pv-claim
  94. spec:
  95. accessModes:
  96. - ReadWriteOnce
  97. resources:
  98. requests:
  99. storage: 1Gi
  100. # result
  101. ---
  102. apiVersion: v1
  103. kind: Service
  104. metadata:
  105. name: result
  106. labels:
  107. app: result
  108. spec:
  109. type: LoadBalancer
  110. ports:
  111. - port: 5001
  112. targetPort: 80
  113. name: result-service
  114. selector:
  115. app: result
  116. ---
  117. apiVersion: apps/v1
  118. kind: Deployment
  119. metadata:
  120. name: result
  121. labels:
  122. app: result
  123. spec:
  124. replicas: 1
  125. selector:
  126. matchLabels:
  127. app: result
  128. template:
  129. metadata:
  130. labels:
  131. app: result
  132. spec:
  133. containers:
  134. - name: result
  135. image: dockersamples/examplevotingapp_result:before
  136. ports:
  137. - containerPort: 80
  138. name: result
  139. # vote
  140. ---
  141. apiVersion: v1
  142. kind: Service
  143. metadata:
  144. name: vote
  145. labels:
  146. apps: vote
  147. spec:
  148. type: LoadBalancer
  149. ports:
  150. - port: 5000
  151. targetPort: 80
  152. name: vote-service
  153. selector:
  154. app: vote
  155. ---
  156. apiVersion: apps/v1
  157. kind: Deployment
  158. metadata:
  159. name: vote
  160. labels:
  161. app: vote
  162. spec:
  163. replicas: 2
  164. selector:
  165. matchLabels:
  166. app: vote
  167. template:
  168. metadata:
  169. labels:
  170. app: vote
  171. spec:
  172. containers:
  173. - name: vote
  174. image: dockersamples/examplevotingapp_vote:before
  175. ports:
  176. - containerPort: 80
  177. name: vote
  178. # worker
  179. ---
  180. apiVersion: v1
  181. kind: Service
  182. metadata:
  183. labels:
  184. apps: worker
  185. name: worker
  186. spec:
  187. clusterIP: None
  188. selector:
  189. app: worker
  190. ---
  191. apiVersion: apps/v1
  192. kind: Deployment
  193. metadata:
  194. labels:
  195. app: worker
  196. name: worker
  197. spec:
  198. replicas: 1
  199. selector:
  200. matchLabels:
  201. app: worker
  202. template:
  203. metadata:
  204. labels:
  205. app: worker
  206. spec:
  207. containers:
  208. - image: dockersamples/examplevotingapp_worker
  209. name: worker