Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20191120_ビヨンド勉強会__21_Kubernetes_is_何_を語るために必要な基...
Search
nezumisannn
November 20, 2019
Technology
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20191120_ビヨンド勉強会__21_Kubernetes_is_何_を語るために必要な基礎知識.pdf
nezumisannn
November 20, 2019
More Decks by nezumisannn
See All by nezumisannn
20250930_Conohaウェビナー_生成AI_Terraform_ConoHa_VPSサーバー_セットアップ入門編
nezumisannn
1
42
20250723_Conohaウェビナー_高騰する海外クラウド費用を劇的カット_サーバーコスト最適化のポイント解説と成功事例のご紹介.pdf
nezumisannn
0
61
20241204_ビヨンド勉強会_44_AWS_Service_Catalogを利用したIaCのテンプレート化とTerraformによるデプロイ.pdf
nezumisannn
0
420
20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを公開するために覚えておきたいこと.pdf
nezumisannn
0
120
20240530_ビヨンド勉強会#41_ビヨンドのエンジニア新卒研修における取り組み
nezumisannn
0
140
20230511_AWSにおけるコンテナサービスの選択とIaC実装例.pdf
nezumisannn
0
1.5k
リーダーになって1年経過して_取り組んできたことと大事にしている考え方_の裏側_.pdf
nezumisannn
0
93
20211118_GKEにおける高負荷時のPodとWorker_Nodeの挙動について.pdf
nezumisannn
0
190
20211014_Alibaba_Cloud_Container_Service_for_KubernetesにおけるServerless_Kubernetesの概要とManaged_Kubernetesとの違い.pdf
nezumisannn
0
120
Other Decks in Technology
See All in Technology
自主式軟體工廠
philipz
0
240
今こそ知りたいAmplifyGen2
mkdev10
2
160
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
660
しろおびから始める!ログ活用の第一歩
shumei_ito
0
690
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
110
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
250
Incremental HTTP
kazuho
5
2.1k
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
自分で立ててみるLLMサービス
y_sera15
0
150
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
880
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
310
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
240
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
590
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
500
Being A Developer After 40
akosma
92
590k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Automating Front-end Workflow
addyosmani
1369
210k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
A Soul's Torment
seathinner
8
3.7k
Transcript
Kubernetes is 何? を語るために必要な基礎知識 ビヨンド勉強会 #21 2019/11/20 株式会社ビヨンド 寺岡 佑樹
自己紹介 resource “my_profile” “nezumisannn” { name = “Yuki.Teraoka” nickname =
“ねずみさん家。” company = “beyond” job = “Site Reliability Engineer” twitter = “@yktr_sre” skills = [“terraform”,”packer”] }
Kubernetes is 何?の前に
このクジラの名前は? ↑ Dockerと呼ぶらしい
Docker is 何? ・コンテナと呼ばれる仮想環境を提供するOSS ・開発はdotCloud社(現Docker社) ・仮想化という部分では同じだがハイパーバイザー型とは異なる ←上に乗ってるこれ
コンテナ is 何? ・アプリケーション及び依存関係をパッケージ化して抽象化したもの ・複数のコンテナを同じマシンで実行してOSのカーネルを共有できる ・各コンテナはユーザー空間で独立したプロセスとして実行される ・コンテナ内にOSが含まれないためサイズが小さく起動が早い ・Dockerエンジンさえあればどこでも同じように動く
つまり? コンテナ型 ハイパーバイザー型 https://www.docker.com/resources/what-container
Kubernetesは ・Docker前提で動作するものです ・事前知識として覚えておきましょう
Kubernetes is 何?
Kubernetes is 何? ・アプリケーションのコンテナ群を統合管理するためのソフトウェア ・GoogleがBorgと呼ばれる内製ツールをOSSとして公開したのが始まり ・現在はCloud Native Computing Foundationがメンテナンスを行っている
Kubernetesの注目度
こんなツイートが Kubernetesはクラウド界のLinuxになりつつある
kubernetesの注目度 ・Swarmを推奨していたDockerもKubernetesをネイティブにサポートした ・クラウドベンダーもKubernetes互換のマネージドサービスを多数リリース ・Elastic Kubernetes Service ・Google Kubernetes Engine ・Azure
Kubernetes Service
Kubernetesが 求められる背景
Kubernetesが求められる背景 ・モノリスからマイクロサービスへ https://aws.amazon.com/jp/microservices/ ・単一サービス ・密結合 ・複数サービス ・疎結合 ・サービスごとの開発 /デプロイ ・障害範囲の分離
マイクロサービスでは ・独立した複数のコンテナを効率的に管理できる仕組みが必要になる ・それがオーケストレーションツールと言われるもの ・Kubernetesもそのツールの中の1つ
Kubernetesで 何ができるのか?
Kubernetesで出来ること ・コンテナのスケジューリング ・ローリングアップデート ・オートスケーリング ・障害が発生したときのセルフヒーリング ・Infrastructure as Code
Kubernetesの 主要コンポーネント
Client Master Node https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
Client https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
kubectl ・Kubernetesを操作するためのCLIクライアント ・全ての操作はkube-apiserverを経由して実行される
Master https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
マスターコンポーネント ・etcd ・kube-apiserver ・kube-scheduler ・kube-controller-manager ・cloud-controller-manager ・kube-dns
Master https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
etcd ・Kubernetesのリソース永続化に利用される分散型KVS ・Kubernetesの全てのクラスタ情報の保存場所として利用される
Master https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
kube-apiserver ・kubernetesのAPIを提供するコンポーネント ・その他のコンポーネントはkube-apiserverを経由してリソースにアクセスする ・そのため直接etcdを参照するのはkube-apiserverのみになる ・その他クライアントの認証・認可も担当する ・負荷に応じてスケールアウトが可能
Master https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
kube-scheduler ・作成されたPodをNodeへ割り当てるためのスケジューラ ・kube-apiserverを経由してPod及びNodeのリソースを非同期に監視する ・Podが作成されたときに最適なNodeを選択してバインディングする
Pod ・Kubernetesにおいてコンテナを動かすための最小単位 ・コンテナのイメージバージョンなどの基本情報 ・共有ストレージ(ボリューム) などが含まれる
Node ・仮想マシンまたは物理マシンで構成されたワーカーマシン ・Podは必ずNode上で実行される
Master https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
kube-controller-manager ・Kubernetesオブジェクトを処理するコントローラの実行・管理を行うデーモン ・コントローラはkube-apiserverを経由してオブジェクトを非同期に監視する ・オブジェクトに変更があればコントローラによって変更が反映される ・オブジェクトには以下のようなものが存在する ・Deployment ・ReplicaSet
cloud-controller-manager ・Kubernetesの基盤となっているクラウドプロバイダを管理するコンポーネント ・マネージドなロードバランサなどを扱うときに利用する
kube-dns ・Kubernetesクラスタ内部で利用するDNS ・Serviceリソースが作成されるとkube-dnsにもレコードが登録される
Serviceリソース ・Podへの接続エンドポイントを提供 ・トラフィックをルーティング
Node https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
ノードコンポーネント ・kubelet ・kube-proxy
Node https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
kubelet ・各Nodeで動作するエージェント ・kube-apiserverを監視して自ノードに割り当てられたPodを起動する
Node https://github.com/kubernetes/kubernetes/blob/rel ease-1.3/docs/design/architecture.md
kube-proxy ・Serviceリソースを元にルーティングを行う ・デフォルトでiptablesを利用してパケットの制御を行っている
独特の概念が多いですが ・基礎知識として覚えましょう ・実際に触ったときにより理解しやすくなります
まとめ
まとめ ・KubernetesでDockerコンテナ群を統合管理できる ・独自の概念が多いためまずは主要なコンポーネントを把握していくと良い ・実際に触ってみるのが早い(ニゲチャダメ)
終わり