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
convto
June 19, 2019
Technology
0
640
kubernetes 浅瀬 dive / kubernetes shallow dive
kubernetes の海の浅瀬に入っていくための資料
convto
June 19, 2019
Tweet
Share
More Decks by convto
See All by convto
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
MCPと認可まわりの話 / mcp_and_authorization
convto
2
690
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
1.4k
gob バイナリが Go バージョンによって 出力が変わることについて調べてみた / Investigating How gob Binary Output Changes Across Go Versions
convto
0
130
Go 関連の個人的おもしろCVE 5選 / my favorite go cve
convto
3
480
バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 / understanding gob encoding
convto
6
2.9k
みんなでたのしむ math/big / i love math big
convto
0
290
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
2
850
Go1.20からサポートされるtree構造のerrの紹介と、treeを考慮した複数マッチができるライブラリを作った話/introduction of tree structure err added since go 1_20
convto
0
1.2k
Other Decks in Technology
See All in Technology
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
1.9k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
200
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
120
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
350
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Scaling GitHub
holman
463
140k
Six Lessons from altMBA
skipperchong
28
4k
Facilitating Awesome Meetings
lara
55
6.5k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
A Tale of Four Properties
chriscoyier
160
23k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Context Engineering - Making Every Token Count
addyosmani
3
62
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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設定 - 新しい言語触ってみた系 - なんか作ってみた系 - コンテナイメージ最適化
ご清聴 ありがとうございました