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
580
kubernetes 浅瀬 dive / kubernetes shallow dive
kubernetes の海の浅瀬に入っていくための資料
convto
June 19, 2019
Tweet
Share
More Decks by convto
See All by convto
gob バイナリが Go バージョンによって 出力が変わることについて調べてみた / Investigating How gob Binary Output Changes Across Go Versions
convto
0
81
Go 関連の個人的おもしろCVE 5選 / my favorite go cve
convto
3
370
バイナリを眺めてわかる gob encoding の仕様と性質、適切な使い方 / understanding gob encoding
convto
6
2.3k
みんなでたのしむ math/big / i love math big
convto
0
220
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
2
590
Go1.20からサポートされるtree構造のerrの紹介と、treeを考慮した複数マッチができるライブラリを作った話/introduction of tree structure err added since go 1_20
convto
0
980
byte列のbit表現を得るencodingライブラリ作った
convto
1
1.1k
Go runtimeの歩き方/how to follow go runtime function
convto
1
940
入出金ドメインの苦労話と解決へのアプローチ/funds in/out difficulties and solutions
convto
2
1.3k
Other Decks in Technology
See All in Technology
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
180
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
540
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
140
コロプラのオンボーディングを採用から語りたい
colopl
5
1.3k
2025年に挑戦したいこと
molmolken
0
160
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.1k
re:Invent 2024のふりかえり
beli68
0
110
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
完全自律型AIエージェントとAgentic Workflow〜ワークフロー構築という現実解
pharma_x_tech
0
350
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
130
Featured
See All Featured
Designing for Performance
lara
604
68k
Statistics for Hackers
jakevdp
797
220k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Embracing the Ebb and Flow
colly
84
4.5k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
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設定 - 新しい言語触ってみた系 - なんか作ってみた系 - コンテナイメージ最適化
ご清聴 ありがとうございました