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
コンテナって何?(Kubernetes入門)
Search
みのるん
PRO
January 30, 2022
Technology
12k
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コンテナって何?(Kubernetes入門)
初心者むけK8sハンズオンの補助資料です
https://qiita.com/minorun365/items/0441e4878f0984a9fc0a
みのるん
PRO
January 30, 2022
More Decks by みのるん
See All by みのるん
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
32
28k
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
30
17k
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
210
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
12
11k
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
3
330
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
12
3.6k
やさしいA2A入門
minorun365
PRO
12
2.9k
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
1.8k
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
19
19k
Other Decks in Technology
See All in Technology
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
110
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
490
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
920
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
540
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
210
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
220
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
250
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
490
おい、エージェントを使って終わらせろ
nwiizo
2
750
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
870
エンジニアに許された特別な時間の終わり
watany
109
250k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Balancing Empowerment & Direction
lara
6
1.3k
Transcript
コンテナって何? (Kubernetes⼊⾨) みのるん @minorun365
むかしむかし「サーバー」がいました 物理サーバー 業務アプリを 24h稼働できる つよいコンピューター。 データセンターに⽣息 スペック⾜りない 台数増やしたい 機材注⽂、搬⼊… くそメンドイし時間かかる。
気軽に構成変更できない。
物理は⾯倒なので「仮想化」されました 物理サーバー 業務アプリを 24h稼働できる つよいコンピューター。 データセンターに⽣息 物理機器そのままで サーバーをいくつも 動かせればいいのに 1台の物理マシン上で
複数の仮想マシンを動かせる。 (VMware社のvSphereなど) これが15年前ぐらいのトレンド 仮想サーバー on 物理 OS(Linuxなど) アプリ 仮想ホストOS(ESXなど) 仮想マシン1 ゲストOS1 アプリ1 仮想マシン2 ゲストOS2 アプリ2
クラウド化で根っこの物理も不要に 仮想マシン増えて 管理や増設⾯倒… 物理ホストすら もう持ちたくない 祝!⾃社データセンター卒業。 レイヤー低めなインフラエンジニアは ここで職を失うことに 仮想サーバー on
クラウド パブリッククラウド EC2 ゲストOS1 アプリ1 EC2 ゲストOS2 アプリ2 仮想サーバー on 物理 仮想ホストOS(ESXなど) 仮想マシン1 ゲストOS1 アプリ1 仮想マシン2 ゲストOS2 アプリ2
仮想マシンすら邪魔になってきた EC2増設するたび Linux構築⾯倒… アプリ+環境だけ 持ち運べないかな アプリ+ライブラリ+ミドルウェアを 包み込んでOSから分離(Dockerなど) 超軽量で開発しやすく、デプロイも⾼速! これが10年前ぐらいのトレンド コンテナ
on 仮想サーバー 仮想サーバー on クラウド パブリッククラウド EC2 ゲストOS1 アプリ1 EC2 ゲストOS2 アプリ2 パブリッククラウド EC2 ゲストOS1 コンテナ1 アプリ1 コンテナ2 アプリ2 EC2 ゲストOS2 コンテナ3 アプリ3
Kubernetes の世界 ちょっと待ってコンテナ増えすぎた コンテナ on Kubernetes パブリッククラウド EC2 ゲストOS1 コンテナ1
アプリ1 コンテナ2 アプリ2 EC2 ゲストOS2 コンテナ3 アプリ3 EC2 ゲストOS3 Kubernetes 管理ミドルウェア 管理 Googleのすごい⼈が 作った管理ツール
Kubernetes の世界 低レイヤーはどんどんマネージド化 コンテナ on EKS パブリッククラウド コンテナ1 アプリ1 コンテナ2
アプリ2 EC2 ゲストOS2 コンテナ3 アプリ3 管理 EKS Kubernetes 管理ミドルウェア Fargate
EKS K8s の世界 ようやくKubernetes(=K8s)の解説 パブリッククラウド コンテナ1 アプリ1 コンテナ2 アプリ2 EC2
ゲストOS2 コンテナ3 アプリ3 管理 Kubernetes 管理ミドルウェア Fargate コントロールプレーン (リーダー) データプレーン (メンバー)
EKS K8s の世界 ようやくKubernetes(K8s)の解説 パブリッククラウド コンテナ1 アプリ1 コンテナ2 アプリ2 EC2
ゲストOS2 コンテナ3 アプリ3 管理 Kubernetes 管理ミドルウェア Fargate コントロールプレーン (リーダー) データプレーン (メンバー) ワーカーノード マスターノード コマンド& 定義ファイル で操作 (GUIなし) AWSマネコン で操作 (GUIあり)
今回のハンズオン環境 あなた 会社PC AWSアカウント CloudShell ブラウザーで ログイン IAMユーザー コマンド 操作
クラスター作成指⽰ (eksctl) EKS
EKSが⾃動でクラスターを作ってくれる あなた 会社PC AWSアカウント CloudShell ブラウザーで ログイン IAMユーザー コマンド 操作
クラスター作成指⽰ (eksctl) EKS Kubernetesクラスター (リーダー+メンバーの1セット) リーダー (まだコンテナなし) EC2 EC2 メンバー 管理 派遣
K8s世界の操作は「リーダーに命令」 あなた 会社PC AWSアカウント CloudShell ブラウザーで ログイン IAMユーザー コマンド 操作
EKS Kubernetesクラスター (リーダー+メンバーの1セット) リーダー (まだコンテナなし) EC2 EC2 メンバー 管理 K8s操作コマンド (kubectl)
細かい注⽂はファミレス⽅式で あなた 会社PC AWSアカウント CloudShell ブラウザーで ログイン IAMユーザー コマンド 操作
EKS Kubernetesクラスター (リーダー+メンバーの1セット) リーダー EC2 EC2 メンバー 管理 K8s操作コマンド (kubectl) 定義ファイル (注⽂書) YAML コン テナ コン テナ コン テナ
クラスターができたら 実際にコンテナを操作してみる
コンテナ作成前の状態 あなた 会社PC AWSアカウント CloudShell IAMユーザー EKS Kubernetesクラスター コントロール プレーン
(まだコンテナはいない) EC2(ノード) EC2 (ノード) データプレーン どんなPodがいますか? (kubectl get pod) 確認
コンテナ(Pod)を作ってみる あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター コントロール プレーン EC2(ノード)
EC2 (ノード) データプレーン 注⽂書のとおりPodを作ってね (kubectl apply ‒f 注⽂書) 定義ファイル (注⽂書) YAML my- nginx 作成 Pod アップロード EKS K8sの世界では コンテナを包んだ 最⼩単位をPodという Pod コンテナ
Podにログインしてみる あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター EC2(ノード) EC2 (ノード)
あのPodでコマンド実⾏したい (kubectl exec) my- nginx いまここ 気分
もう1つPodを作ってみる あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター EC2(ノード) EC2 (ノード)
注⽂書のとおりPodを作ってね (kubectl apply ‒f 注⽂書) 定義ファイル (注⽂書) YAML my- nginx 作成 Pod アップロード fumi dai Pod
Podから別のPodへ通信してみる あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター EC2(ノード) EC2 (ノード)
あのPodでコマンド実⾏したい (kubectl exec) my- nginx いまここ 気分 fumi dai HTTPアクセス (curl)
Podを冗⻑化してみる(レプリカセット) あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター EC2(ノード) EC2 (ノード)
あのPodを常時3台ほしい (kubectl apply ‒f 注⽂書) triple- nginx fumi dai 定義ファイル (注⽂書) YAML アップロード triple- nginx triple- nginx 作成 レプリカセット
複数Podへロードバランスする(サービス) あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター EC2(ノード) EC2 (ノード)
my- nginx fumi dai my- nginx my- nginx my- nginx サービス いまここ 気分 HTTPアクセス (curl) この3 Podは 同サービスとする 定義ファイル (注⽂書) YAML アップロード
複数Podをローリング更新(デプロイメント) あなた 会社PC AWSアカウント CloudShell IAMユーザー Kubernetesクラスター EC2(ノード) EC2 (ノード)
現Ver fumi dai 現Ver 新Ver デプロイメント 新バージョンの コンテナイメージ を適⽤! 定義ファイル (注⽂書) YAML アップロード 新Ver 新Ver