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
kubernetes 浅瀬 dive / kubernetes shallow dive
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
convto
June 19, 2019
Technology
0
680
kubernetes 浅瀬 dive / kubernetes shallow dive
kubernetes の海の浅瀬に入っていくための資料
convto
June 19, 2019
Tweet
Share
More Decks by convto
See All by convto
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
630
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
350
MCPと認可まわりの話 / mcp_and_authorization
convto
2
1.3k
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
1.9k
gob バイナリが Go バージョンによって 出力が変わることについて調べてみた / Investigating How gob Binary Output Changes Across Go Versions
convto
0
160
Go 関連の個人的おもしろCVE 5選 / my favorite go cve
convto
3
550
バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 / understanding gob encoding
convto
6
3.2k
みんなでたのしむ math/big / i love math big
convto
0
320
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
2
990
Other Decks in Technology
See All in Technology
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
200
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
460
楽しく学ぼう!ネットワーク入門
shotashiratori
0
270
AWSをCLIで理解したい! / I want to understand AWS using the CLI
mel_27
2
170
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
130
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.4k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.1k
聲の形にみるアクセシビリティ
tomokusaba
0
140
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
290
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
210
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
12
3.8k
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
420
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
110
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
230
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Typedesign – Prime Four
hannesfritz
42
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Navigating Team Friction
lara
192
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
220
Transcript
kubernetes 浅瀬 dive 2019/06/19(水) Makuake LT Party #17
convto jisibari Twitter: @convto Github: convto 2
浅瀬 dive って何
Kubernetes のロゴ - こいつ船の舵らしい - コンテナ輸送船的な - おしゃれ - ぼくも海にあやかろう
水深 Deep dive
水深 Deep dive 浅瀬 dive
水深 Deep dive 浅瀬 dive
浅瀬 dive 8 水深 こっちをやります Deep dive
もくじ - 浅瀬を目指して: kubernetesとは - まずはビーチに行こう: gitとの共通点 - 準備体操: コンテナやサーバーの扱いを知る
- 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
もくじ - 浅瀬を目指して: kubernetesとは - まずはビーチに行こう: gitとの共通点 - 準備体操: コンテナやサーバーの扱いを知る
- 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
Kubernetes とは
Kubernetes - インフラやアプリを抽象化して扱う - 抽象化されたインフラやアプリを操作できる
Kubernetes - インフラやアプリを抽象化して扱う - 抽象化されたインフラやアプリを操作できる
浅瀬すぎる
水深
水深
Kubernetes, わかりづらい - 概念が抽象的 - くそでかソフトウェア
宇宙から浅瀬にむかいたい - ざっくりどういうものか捉えたい - できれば身近なものとの比較とかがほしい
こういうツール 毎日使ってませんか
Kubernetes - インフラやアプリを抽象化して扱う - 抽象化されたインフラやアプリを操作できる
Kubernetes - インフラやアプリを抽象化して扱う - 抽象化されたインフラやアプリを操作できる
もくじ - 浅瀬を目指して: kubernetesとは - まずはビーチに行こう: gitとの共通点 - 準備体操: コンテナやサーバーの扱いを知る
- 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
git とは
git - コード変更を commit というリソースとしてとらえて 抽象化して扱う - commit に対してCLIなどで操作ができる
git - コード変更を commit というリソースとしてとらえて 抽象化して扱う - commit に対してCLIなどで操作ができる
にている
Kubernetes と git の共通点 - 現実世界の情報を抽象化する - 抽象化されたリソースを CLI を使って操作
- 高度なことやろうとするのは難しい - が、使うだけならそこまででもない - 分散システムなので雑にやると不整合で死ぬ
Kubernetes と git のちがうところ - Kubernetes は詳細を yaml で管理する <->
git は詳 細もCLIで頑張る - Kubernetes はリソースが多い(10以上) <-> git は だいたい commit の操作
Kubernetes と git のちがうところ - Kubernetes は詳細を yaml で管理する <->
git は詳 細もCLIで頑張る - Kubernetes はリソースが多い(10以上) <-> git は だいたい commit の操作 Git よりでかいけどノリはとても似ている
Git と似てる 警戒しすぎなくてもい い
ざっくりノリはわかったぞ! ビーチ到着
もくじ - 浅瀬を目指して: kubernetesとは - まずはビーチに行こう: gitとの共通点 - 準備体操: コンテナやサーバーの扱いを知る
- 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
コンテナの扱い
コンテナは pod というリソースで管理 - Pod にはだいたい一つのコンテナが載ってる - 条件によってはたまに複数 - アプリケーションが動くのはここ
- Pod の配置を指示してインフラを作っていく
だいたいおなじ コンテナ pod
サーバーの扱い
サーバーは node というリソースで管理 - master node が構成管理の仕事をしてくれます - Node に
pod がじゃんじゃか載っていく
node1 node3 node2 pod pod pod pod pod pod pod
pod pod pod
準備完了
もくじ - 浅瀬を目指して: kubernetes とは - まずはビーチに行こう: git との共通点 -
準備体操: コンテナやサーバーの扱いを知る - 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
同じpodを複数配置し たい
ReplicaSet - Pod を管理し、ある pod を任意の数つくる - Pod を監視し指定した数より減っていれば自動で 復旧させる
- どの node に pod が配置されるかはコントロールさ れない(ある程度配置ルールは決められる)
node1 node3 node2 pod pod pod pod
node1 node3 node2 pod pod pod pod 「全部で4つ」などの指定はできるが どう配置されるかはわからない
複数配置したpodの デプロイ時の挙動をコ ントロールしたい
Deployment - ReplicaSet を管理し安全に更新する手段を提供す る - いくつかの更新手段が提供されており、推奨され ているのは RollingUpdate という方法
各Nodeにデーモンを 仕込みたい
DaemonSet - Pod を管理し、任意の pod をすべての node に1つ ずつ設置する -
Fluentd や監視エージェントなど、確実にすべての 物理サーバーに置きたいものに利用する - GKE ではデフォで DeamonSet の fluentd がいる
node1 node3 node2 pod pod pod
DBなどの永続化デー タを管理したい
StatefulSet - DBクラスタなど状態を持ったアプリを構築できる - 細かいことは省略
クラスタ上でバッチな どを管理したい
Job, CronJob - Job は一度だけ pod を起動する - CronJob は
Job を cron 実行する - 詳しいことは省略
podとの関係図
Pod ReplicaSet Job Deployment CronJob DaemonSet StatefulSet
Pod ReplicaSet Job Deployment CronJob DaemonSet StatefulSet こいつらまとめて Workload リソース
という名前がついてます
Enjoy 浅瀬
もくじ - 浅瀬を目指して: kubernetesとは - まずはビーチに行こう: gitとの共通点 - 準備体操: コンテナやサーバーの扱いを知る
- 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
現実のアプリはまだやることがある - 環境変数の管理 - LBなどの設定 - 開発者ごとの認証、認可 - オートスケールの設定 -
etc...
これらもKubernetes で管理できる
現実のアプリはまだやることがある - 環境変数の管理 Secret など - LBなどの設定 LoadBrancer Service など
- 開発者ごとの認証、認可 Service Account - オートスケールの設定 HorizontalPodAutoscaler な ど - etc...
どういうリソースがある かわからない
網羅的にリソースを学 びたい
リソースについての知識 - ドキュメント https://kubernetes.io/ja/docs/home/ - Kubernetes完全ガイド https://www.amazon.co.jp//dp/4295004804 - Kubernetes実践入門 https://www.amazon.co.jp/dp/4297104385
とりあえず試したい
web上でタダでクラスタたてれる - https://labs.play-with-k8s.com/ 4時間で消えるので 勉強以外の用途には使えない
よい船旅を!
もくじ - 浅瀬を目指して: kubernetesとは - まずはビーチに行こう: gitとの共通点 - 準備体操: コンテナやサーバーの扱いを知る
- 浅瀬 dive: pod を管理するリソースたち - 沖にでるためには - おわりに
まとめ - Kubernetes は実は git に似ている - はじめの一歩はそこまで難しくない - 一部を使うだけでもメリットはある
- Pod を管理する様々なリソースがある - 一次ソースや体系的なソースで勉強すると良さそ う(ネット記事とかはしんどい印象)
次回予告
全然きまってない - Go のおすすめCI設定 - 新しい言語触ってみた系 - なんか作ってみた系 - コンテナイメージ最適化
ご清聴 ありがとうございました