Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Real World Container for GTB2020
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nwiizo
May 15, 2020
Business
3.1k
11
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Real World Container for GTB2020
2020年5月19日のGTB2020のコンテナ技術の資料
https://github.com/nwiizo/2020_gtb_container_work
nwiizo
May 15, 2020
More Decks by nwiizo
See All by nwiizo
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
14
2.2k
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
4
640
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
32
12k
アーキテクチャモダナイゼーションとは何か
nwiizo
19
7.3k
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
39
23k
技術的負債の泥沼から組織を救う3つの転換点
nwiizo
9
7.7k
30分でわかるアーキテクチャモダナイゼーション
nwiizo
12
9.3k
意志を実装するアーキテクチャモダナイゼーション
nwiizo
3
5.1k
おい、テックブログを書け
nwiizo
48
21k
Other Decks in Business
See All in Business
株式会社アイリッジ 会社説明資料
iridge
0
6.9k
Fable5との実践から生まれた非エンジニア組織のループエンジニアリング
nagatsu
0
740
開発が速く安くなった後の話 AI時代のソフトウェアエンジニアリング組織論 #devsumi
recruitengineers
PRO
37
27k
JBUG福岡#22_登壇資料_「伝えたはず」を「伝わる」に変える実践TIPS
webnaut
0
230
「プロダクトヒストリーカンファレンス2026」リチェルカ投影資料
recerqainc
0
210
GMOメイクショップ株式会社 会社説明資料
gmomakeshop
0
340
[OptQC]Company_introduction_JP
optqc_recruit
0
190
01_全社_FLUX採用ピッチ資料_Ver.5.4
flux
11
220k
株式会社ユビレジ_採用ピッチ資料 / Ubiregi_CompanyProfile
ubiregi_saiyo
1
11k
روشهای افزایش ممبر ایتا
maronpocar12
1
230
「正しいはずの依頼」が届かなかった理由
geneguchi
0
2.7k
Data, Context, and AI. @エンジニア英語キャリア Meetup #2
kekekenta
0
110
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
The Pragmatic Product Professional
lauravandoore
37
7.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
GraphQLとの向き合い方2022年版
quramy
50
15k
Un-Boring Meetings
codingconduct
0
350
A designer walks into a library…
pauljervisheath
211
24k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
500
The Invisible Side of Design
smashingmag
301
52k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
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