kube-deployment.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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. - name: POSTGRES_USER
  80. value: postgres
  81. - name: POSTGRES_PASSWORD
  82. value: postgres
  83. ports:
  84. - containerPort: 5432
  85. name: db
  86. volumeMounts:
  87. - name: db-data
  88. mountPath: /var/lib/postgresql/data
  89. volumes:
  90. - name: db-data
  91. persistentVolumeClaim:
  92. claimName: postgres-pv-claim
  93. ---
  94. apiVersion: v1
  95. kind: PersistentVolumeClaim
  96. metadata:
  97. name: postgres-pv-claim
  98. spec:
  99. accessModes:
  100. - ReadWriteOnce
  101. resources:
  102. requests:
  103. storage: 1Gi
  104. # result
  105. ---
  106. apiVersion: v1
  107. kind: Service
  108. metadata:
  109. name: result
  110. labels:
  111. app: result
  112. spec:
  113. type: LoadBalancer
  114. ports:
  115. - port: 5001
  116. targetPort: 80
  117. name: result-service
  118. selector:
  119. app: result
  120. ---
  121. apiVersion: apps/v1
  122. kind: Deployment
  123. metadata:
  124. name: result
  125. labels:
  126. app: result
  127. spec:
  128. replicas: 1
  129. selector:
  130. matchLabels:
  131. app: result
  132. template:
  133. metadata:
  134. labels:
  135. app: result
  136. spec:
  137. containers:
  138. - name: result
  139. image: dockersamples/examplevotingapp_result:before
  140. ports:
  141. - containerPort: 80
  142. name: result
  143. # vote
  144. ---
  145. apiVersion: v1
  146. kind: Service
  147. metadata:
  148. name: vote
  149. labels:
  150. apps: vote
  151. spec:
  152. type: LoadBalancer
  153. ports:
  154. - port: 5000
  155. targetPort: 80
  156. name: vote-service
  157. selector:
  158. app: vote
  159. ---
  160. apiVersion: apps/v1
  161. kind: Deployment
  162. metadata:
  163. name: vote
  164. labels:
  165. app: vote
  166. spec:
  167. replicas: 2
  168. selector:
  169. matchLabels:
  170. app: vote
  171. template:
  172. metadata:
  173. labels:
  174. app: vote
  175. spec:
  176. containers:
  177. - name: vote
  178. image: dockersamples/examplevotingapp_vote:before
  179. ports:
  180. - containerPort: 80
  181. name: vote
  182. # worker
  183. ---
  184. apiVersion: v1
  185. kind: Service
  186. metadata:
  187. labels:
  188. apps: worker
  189. name: worker
  190. spec:
  191. clusterIP: None
  192. selector:
  193. app: worker
  194. ---
  195. apiVersion: apps/v1
  196. kind: Deployment
  197. metadata:
  198. labels:
  199. app: worker
  200. name: worker
  201. spec:
  202. replicas: 1
  203. selector:
  204. matchLabels:
  205. app: worker
  206. template:
  207. metadata:
  208. labels:
  209. app: worker
  210. spec:
  211. containers:
  212. - image: dockersamples/examplevotingapp_worker
  213. name: worker