Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Real World Container for GTB2020

6ed12627fec46a135f1bce5d56f3568e?s=47 nwiizo
May 15, 2020

Real World Container for GTB2020

2020年5月19日のGTB2020のコンテナ技術の資料
https://github.com/nwiizo/2020_gtb_container_work

6ed12627fec46a135f1bce5d56f3568e?s=128

nwiizo

May 15, 2020
Tweet

Transcript

  1. None
  2. None
  3. • • • • •

  4. プロセスからコンテナ、そして…

  5. None
  6. 2013年リリース!

  7. None
  8. • • • • • • • • • •

    • •
  9. None
  10. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  11. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://employment.en-japan.com/engineerhub/entry/2019/02/05/103000 コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう

  12. ⚫ ⚫

  13. ⚫ ⚫ ⚫ ⚫

  14. ⚫ ⚫ 昨日、講義でやった(はず)

  15. ⚫ ⚫ ⚫ ⚫ ⚫

  16. ⚫ ⚫ ⚫ ⚫

  17. ⚫ ⚫ ⚫ https://github.com/cncf/toc/blob/master/DEFINITION.md 最近日本語が登場したので差し替えます. ありがとう @yokawasa さん

  18. ⚫ ⚫ ⚫ https://github.com/cncf/toc/blob/master/DEFINITION.md 最近日本語が登場したので差し替えます. ありがとう @yokawasa さん

  19. None
  20. … … … ⚫ ⚫ ⚫

  21. ⚫ ⚫ ⚫

  22. ⚫ Building Microservices ⚫ Production-Ready Microservices

  23. ⚫ ⚫ ⚫ マイクロサービスパターン 実践的システムデザインのためのコード解説 書籍紹介より

  24. ⚫ ⚫ ⚫ Site Reliability Engineering

  25. https://github.com/cncf/presentations

  26. None
  27. 27

  28. 28

  29. None
  30. None
  31. プロセスからコンテナ、そして…

  32. ⚫ ⚫ ⚫ ⚫ https://www.docker.com/

  33. ⚫ ⚫ ⚫

  34. ⚫ ⚫ ⚫

  35. ⚫ ⚫

  36. ⚫ ⚫ ⚫

  37. ⚫ ⚫ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache Leverage build cache

  38. ⚫ ⚫ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache Leverage build cache

  39. None
  40. ⚫ ⚫ ⚫ ⚫ ⚫

  41. ⚫ ⚫

  42. ⚫ ⚫ ⚫ ⚫

  43. ⚫ ⚫ ⚫ ⚫ • •

  44. ⚫ ⚫ ⚫ ⚫

  45. ⚫ ⚫

  46. ⚫ ⚫ ⚫ ⚫ local remote

  47. ⚫ ⚫ ⚫ 最初に実行される

  48. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Dockerfile リファレンス https://docs.docker.com/engine/reference/builder/

  49. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

  50. Image Source and Credits: http://docker-saigon.github.io/post/Docker-Internals/

  51. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  52. None
  53. 分散システムもDockerも何も分からんのにKubernetesに入門するけど大丈夫ですか?

  54. None
  55. None
  56. None
  57. None
  58. None
  59. None
  60. None
  61. None
  62. None
  63. None
  64. None
  65. ⚫ ⚫ ⚫ https://ai.google/research/pubs/pub43438 Large-scale cluster management at Google with

    Borg
  66. ⚫ ⚫

  67. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  68. ⚫ ⚫ replicaset.yaml

  69. None
  70. None
  71. None
  72. None
  73. None
  74. None
  75. None
  76. None
  77. None
  78. None
  79. None
  80. None
  81. None
  82. None
  83. None
  84. None
  85. ⚫ ⚫ ⚫ ⚫

  86. None
  87. None
  88. None
  89. None
  90. None
  91. None
  92. None
  93. None
  94. None
  95. None
  96. None
  97. ⚫ ⚫

  98. None
  99. テンプレート containerの変更 v1 v2

  100. テンプレート containerの変更 v1 v2

  101. None
  102. None
  103. None
  104. None
  105. None
  106. None
  107. None
  108. None
  109. None
  110. None
  111. None
  112. • • • • •

  113. None
  114. None
  115. 絶対に順守すべきというものではなくあくまで原則

  116. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

    ⚫ ⚫ https://12factor.net/ja/
  117. ⚫ ⚫ https://12factor.net/ja/codebase

  118. ⚫ ⚫ ⚫ https://12factor.net/ja/codebase

  119. ⚫ ⚫ ⚫ https://12factor.net/ja/dependencies

  120. ⚫ ⚫ ⚫ ⚫ ⚫ https://12factor.net/ja/config

  121. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://12factor.net/ja/config

  122. ⚫ ⚫ ⚫ ⚫ 従来型のVMは全てを内包 The Twelve Factorsは疎結合

  123. ⚫ ⚫ ⚫

  124. ⚫ ⚫ ⚫

  125. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  126. ⚫ ⚫ ⚫

  127. ⚫ ⚫ ⚫

  128. ⚫ ⚫ ⚫ https://adam.herokuapp.com/past/2011/5/9/applying_the_unix_process_model_to_web_apps/

  129. ⚫ ⚫ ⚫ https://lwn.net/Articles/191059/ Golang HTTP Server Graceful Shutdown

  130. ⚫ ⚫ ⚫ ⚫ https://lwn.net/Articles/191059/

  131. ⚫ ⚫ ⚫ ⚫ ⚫

  132. ⚫ ⚫

  133. ⚫ ⚫ 動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α

  134. ⚫ ⚫ ⚫ ⚫

  135. ⚫ ⚫ https://kubernetes.io/docs/concepts/cluster-administration/logging/ Logging at the node level Using a

    node logging agent Streaming sidecar container Exposing logs directly from the application Sidecar container with a logging agent
  136. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  137. None
  138. None
  139. None
  140. ⚫ ⚫

  141. ⚫ ⚫

  142. ⚫ ⚫

  143. ⚫ ⚫

  144. ⚫ ⚫

  145. ⚫ ⚫ ⚫

  146. ⚫ ⚫

  147. ⚫ ⚫

  148. ⚫ ⚫ ⚫ ⚫ ⚫

  149. https://kubernetes.io/docs/concepts/overview/components/#kube-controller-manager

  150. • • • Garbage Collection https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/

  151. ⚫ ⚫

  152. ⚫ ⚫ ⚫ ⚫ ⚫

  153. None
  154. None
  155. None
  156. None
  157. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  158. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

    ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
  159. None
  160. None
  161. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ IX. 廃棄容易性 https://12factor.net/ja/disposability

  162. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/

    Container Lifecycle Hooks
  163. None
  164. None
  165. ⚫ ⚫ ⚫ ⚫ The Gotchas of Zero-Downtime Traffic /w

    Kubernetes - Leigh Capili, Weaveworks https://kccncna19.sched.com/event/Uads/the-gotchas-of-zero-downtime-traffic- w-kubernetes-leigh-capili-weaveworks
  166. ⚫ ⚫ The Gotchas of Zero-Downtime Traffic /w Kubernetes -

    Leigh Capili, Weaveworks https://kccncna19.sched.com/event/Uads/the-gotchas-of-zero-downtime-traffic- w-kubernetes-leigh-capili-weaveworks @tukejonny 談
  167. ⚫ ⚫ The Gotchas of Zero-Downtime Traffic /w Kubernetes -

    Leigh Capili, Weaveworks https://kccncna19.sched.com/event/Uads/the-gotchas-of-zero-downtime-traffic- w-kubernetes-leigh-capili-weaveworks
  168. None
  169. https://12factor.net/ja/config

  170. ⚫ ⚫ ⚫ ⚫ https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

  171. None
  172. None
  173. ⚫ ⚫ ⚫ ⚫ https://kubernetes.io/docs/tasks/run-application/configure-pdb/

  174. None
  175. None
  176. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  177. None
  178. None
  179. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  180. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  181. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  182. None
  183. None
  184. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Vertical Pod

    Autoscaling Horizontal Pod Autoscaler
  185. None
  186. None
  187. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  188. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ この辺は別途説明が必要なので割愛だお

  189. None
  190. None
  191. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  192. ⚫ ⚫ ⚫

  193. ⚫ ⚫

  194. ⚫ ⚫

  195. ⚫ ⚫

  196. ⚫ ⚫ ⚫ ⚫

  197. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  198. ⚫ ⚫ ⚫ ⚫      

     
  199. ⚫ ⚫ ⚫ ⚫ ⚫

  200. None
  201. ⚫ ⚫ ⚫ ⚫

  202. ⚫ Docker/Kubernetes開発・運用のための セキュリティ実践ガイド

  203. None
  204. None
  205. ⚫ ⚫ ⚫ ⚫ ⚫

  206. None
  207. ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫

  208. None