Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Real World Container for GTB2020
nwiizo
May 15, 2020
Business
11
2k
Real World Container for GTB2020
2020年5月19日のGTB2020のコンテナ技術の資料
https://github.com/nwiizo/2020_gtb_container_work
nwiizo
May 15, 2020
Tweet
Share
More Decks by nwiizo
See All by nwiizo
セキュア・バイ・デザインの鳴くところ
nwiizo
1
200
cobra は便利になっている
nwiizo
0
260
ProtocolBuffers/gRPCを安全に書き進めるためのエトセトラ
nwiizo
1
1k
あるいはサイドカーでいっぱいの海
nwiizo
1
500
Dapr の概念と実装から学ぶ Observability への招待
nwiizo
1
450
JJUGに向けて再変更/公演 CloudNativeな時代に求められる Webサービス基盤モデルの再考
nwiizo
0
450
CloudNativeな時代に求められる Webサービス基盤モデルの再考
nwiizo
6
4.2k
インフラエンジニアが学んだ Go言語での並行処理失敗パターン
nwiizo
2
1.3k
SREの車窓から
nwiizo
0
950
Other Decks in Business
See All in Business
WASABI Company Guide
takumiman5
0
230
VALGO会社紹介資料 / We Are Hiring
valgo
0
110
UP Life(生活習慣病予防・改善特化型デイサービス)施設紹介資料
up_life
0
170
WORK in AMAKUSA -新しいオフィスのカタチ-
khiruta
0
300
KADOKAWA Connected|会社紹介資料/Corporate Introduction
kadokawaconnected
PRO
4
22k
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
0
260
SO、ちゃんと確認してますか?_Nstock KIQS勉強会 2023.2.1資料
kensan_01
1
1.1k
具体と抽象の往復運動の基本がわかる資料
nyattx
PRO
1
170
KPIマネジメントの重要指標の決め方がわかる資料
nyattx
PRO
1
480
オープンワーク会社紹介資料 / company profile
openwork
1
220k
どの業種へも持ち運び可ポータブルスキル3種類がわかる資料
nyattx
PRO
1
140
セガエックスディーによる地域振興
khiruta
0
300
Featured
See All Featured
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
197
10k
Six Lessons from altMBA
skipperchong
15
2.3k
Happy Clients
brianwarren
90
5.8k
A Tale of Four Properties
chriscoyier
149
21k
KATA
mclloyd
12
9.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
239
19k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
Transcript
None
None
• • • • •
プロセスからコンテナ、そして…
None
2013年リリース!
None
• • • • • • • • • •
• •
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://employment.en-japan.com/engineerhub/entry/2019/02/05/103000 コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう
⚫ ⚫
⚫ ⚫ ⚫ ⚫
⚫ ⚫ 昨日、講義でやった(はず)
⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ https://github.com/cncf/toc/blob/master/DEFINITION.md 最近日本語が登場したので差し替えます. ありがとう @yokawasa さん
⚫ ⚫ ⚫ https://github.com/cncf/toc/blob/master/DEFINITION.md 最近日本語が登場したので差し替えます. ありがとう @yokawasa さん
None
… … … ⚫ ⚫ ⚫
⚫ ⚫ ⚫
⚫ Building Microservices ⚫ Production-Ready Microservices
⚫ ⚫ ⚫ マイクロサービスパターン 実践的システムデザインのためのコード解説 書籍紹介より
⚫ ⚫ ⚫ Site Reliability Engineering
https://github.com/cncf/presentations
None
27
28
None
None
プロセスからコンテナ、そして…
⚫ ⚫ ⚫ ⚫ https://www.docker.com/
⚫ ⚫ ⚫
⚫ ⚫ ⚫
⚫ ⚫
⚫
⚫ ⚫ ⚫
⚫ ⚫ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache Leverage build cache
⚫ ⚫ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#leverage-build-cache Leverage build cache
None
⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫
⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ • •
⚫ ⚫ ⚫ ⚫
⚫ ⚫
⚫ ⚫ ⚫ ⚫ local remote
⚫ ⚫ ⚫ 最初に実行される
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Dockerfile リファレンス https://docs.docker.com/engine/reference/builder/
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Image Source and Credits: http://docker-saigon.github.io/post/Docker-Internals/
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
None
分散システムもDockerも何も分からんのにKubernetesに入門するけど大丈夫ですか?
None
None
None
None
None
None
None
None
None
None
None
⚫ ⚫ ⚫ https://ai.google/research/pubs/pub43438 Large-scale cluster management at Google with
Borg
⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ replicaset.yaml
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
⚫ ⚫ ⚫ ⚫
None
None
None
None
None
None
None
None
None
None
None
⚫ ⚫
None
テンプレート containerの変更 v1 v2
テンプレート containerの変更 v1 v2
None
None
None
None
None
None
None
None
None
None
None
• • • • •
None
None
絶対に順守すべきというものではなくあくまで原則
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ https://12factor.net/ja/
⚫ ⚫ https://12factor.net/ja/codebase
⚫ ⚫ ⚫ https://12factor.net/ja/codebase
⚫ ⚫ ⚫ https://12factor.net/ja/dependencies
⚫ ⚫ ⚫ ⚫ ⚫ https://12factor.net/ja/config
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://12factor.net/ja/config
⚫ ⚫ ⚫ ⚫ 従来型のVMは全てを内包 The Twelve Factorsは疎結合
⚫ ⚫ ⚫
⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫
⚫ ⚫ ⚫
⚫ ⚫ ⚫ https://adam.herokuapp.com/past/2011/5/9/applying_the_unix_process_model_to_web_apps/
⚫ ⚫ ⚫ https://lwn.net/Articles/191059/ Golang HTTP Server Graceful Shutdown
⚫ ⚫ ⚫ ⚫ https://lwn.net/Articles/191059/
⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫
⚫ ⚫ 動作するきれいなコード: SeleniumConf Tokyo 2019 基調講演文字起こし+α
⚫ ⚫ ⚫ ⚫
⚫ ⚫ 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
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
None
None
None
⚫ ⚫
⚫ ⚫
⚫ ⚫
⚫ ⚫
⚫ ⚫
⚫ ⚫ ⚫
⚫ ⚫
⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫
https://kubernetes.io/docs/concepts/overview/components/#kube-controller-manager
• • • Garbage Collection https://kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/
⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫
None
None
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ IX. 廃棄容易性 https://12factor.net/ja/disposability
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
Container Lifecycle Hooks
None
None
⚫ ⚫ ⚫ ⚫ 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
⚫ ⚫ 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 談
⚫ ⚫ 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
None
https://12factor.net/ja/config
⚫ ⚫ ⚫ ⚫ https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
None
None
⚫ ⚫ ⚫ ⚫ https://kubernetes.io/docs/tasks/run-application/configure-pdb/
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Vertical Pod
Autoscaling Horizontal Pod Autoscaler
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ この辺は別途説明が必要なので割愛だお
None
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫
⚫ ⚫
⚫ ⚫
⚫ ⚫
⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫
⚫ ⚫ ⚫ ⚫ ⚫
None
⚫ ⚫ ⚫ ⚫
⚫ Docker/Kubernetes開発・運用のための セキュリティ実践ガイド
None
None
⚫ ⚫ ⚫ ⚫ ⚫
None
⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫
None