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入門)
Search
みのるん
PRO
January 30, 2022
Technology
17
12k
コンテナって何?(Kubernetes入門)
初心者むけK8sハンズオンの補助資料です
https://qiita.com/minorun365/items/0441e4878f0984a9fc0a
みのるん
PRO
January 30, 2022
Tweet
Share
More Decks by みのるん
See All by みのるん
Bedrock AgentCoreで解き放て! Strands Agentsで構築するマルチエージェントの実装Tips
minorun365
PRO
12
3.3k
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
12
2k
AWSの最新サービスでAIエージェント構築に楽しく入門しよう
minorun365
PRO
14
1.8k
Strands Agents & Bedrock AgentCoreを1分でおさらい
minorun365
PRO
10
1.1k
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
20
7.7k
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
minorun365
PRO
17
6.1k
やさしい認証認可
minorun365
PRO
38
14k
やさしいClaude Code入門
minorun365
PRO
46
42k
地味にいろいろあった! 2025春のAmazon Bedrockアップデートおさらい
minorun365
PRO
2
860
Other Decks in Technology
See All in Technology
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
260
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
200
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.6k
様々なファイルシステム
sat
PRO
0
270
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
160
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
160
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.3k
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
300
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
490
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
160
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
230
組織全員で向き合うAI Readyなデータ利活用
gappy50
5
1.8k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Visualization
eitanlees
150
16k
Become a Pro
speakerdeck
PRO
29
5.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Designing for Performance
lara
610
69k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Site-Speed That Sticks
csswizardry
13
930
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
Automating Front-end Workflow
addyosmani
1371
200k
KATA
mclloyd
PRO
32
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
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