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
Kyohei Mizumoto
January 24, 2019
Technology
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetes入門
社内勉強会での発表資料です。
2019/04/19 内容を更新
Kyohei Mizumoto
January 24, 2019
More Decks by Kyohei Mizumoto
See All by Kyohei Mizumoto
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
1.1k
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
1
1.1k
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
9
4.3k
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
1k
CTFのためのKubernetes入門
kyohmizu
3
1.3k
クラウドネイティブ環境の脅威モデリング
kyohmizu
3
860
コンテナサプライチェーンセキュリティ
kyohmizu
2
560
サイバーセキュリティの最新動向:脅威と対策
kyohmizu
1
470
コンテナセキュリティの基本と脅威への対策
kyohmizu
4
2.4k
Other Decks in Technology
See All in Technology
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
360
beyond jj: config & tools ecosystem
indirect
0
5.5k
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
32
29k
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
180
Goodbye ShellScript, Hello File-based App
shunsock
0
430
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
200
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
320
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.4k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.3k
CLIライブラリ開発を支える技術
htnabe
0
140
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
240
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
530
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Skip the Path - Find Your Career Trail
mkilby
1
230
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
Docker and Python
trallard
47
4.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Transcript
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 1/66 Kubernetes⼊⾨
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 2/66 Kyohei Mizumoto(@kyohmizu) C# Software Engineer Interests
Docker/Kubernetes Go Security whoami
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 3/66 対象者 Kubernetesやったことない、知らない Kubernetesに興味がある Kubernetesの概要を知りたい
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 4/66 ⽬次 Kubernetesとは Kubernetesの機能 アーキテクチャ Kubernetesリソース マニフェスト例
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 5/66 Kubernetesとは
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 6/66 コンテナオーケストレーションツール オープンソース Cloud Native Computing Foundation
(CNCF)がホスト Kubernetes︖
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 7/66 コンテナ︖ 仮想化技術の⼀種 プロセスを1つの環境として切り分けたもの 軽量かつ移植、複製が容易 Dockerがデファクトスタンダード
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 8/66 オーケストレーション︖ 配置、設定、管理の⾃動化 Webアプリ 内部プログラム データベース ネットワーク
Kubernetesは全てをリソースとして管理
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 9/66 Kubernetesの利⽤ ローカル Minikube Docker for Mac
Kubernetes構築ツール kubeadm Rancher
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 10/66 Kubernetesの利⽤ マネージドサービス Google Kubernetes Engine(GKE) Azure
Container Service(AKS) Elastic Container Service for Kubernetes(EKS)
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 11/66 Kubernetesの機能
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 12/66 Kubernetesの機能 仕様、設定管理 リソース作成、配置 リソース拡張 通信 ジョブ管理
ログ管理 冗⻑性 認証・認可
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 13/66 仕様・設定管理 コードベースの仕様 yaml形式のマニフェストファイル Infrastructure as Code
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 14/66 リソース作成・配置 設定に従って必要なリソースを作成、配置 バージョン管理 ローリングアップデート ロールバック
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 15/66 リソース拡張 リソースの不⾜時に⾃動拡張 オートスケーリング
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 16/66 通信 外部との通信 プロキシ 内部の通信 オーバーレイネットワーク 内部DNS
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 17/66 ジョブ管理 スケジューリング 1回のみ 繰り返し
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 18/66 ログ管理 各リソースのログを集約 外部ツールと連携 監視 アラート
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 19/66 冗⻑性 死活監視 セルフヒーリング ロードバランシング
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 20/66 認証・認可 アカウント管理 権限の分離 RBAC
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 21/66 アーキテクチャ
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 22/66
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 23/66 Cluster(クラスタ) Kubernetes実⾏環境の基盤 1つ(以上)のmaster 複数のnode
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 24/66 Master(マスター) クラスタ全体の管理ユニット etcd API Server Scheduler
Controller Manager
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 25/66 Node(ノード) コンテナが動作する環境、マシンリソース Pod Kubelet Kube-proxy cAdvisor
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 26/66 etcd 永続的で軽量な分散Key-Valueストア クラスタの設定や状態を保存
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 27/66 API Server Kubernetes APIのサーバー Kubernetesに対する内外のインターフェースを提供す る
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 28/66 Scheduler 新規Podを最適なノードに配置 リソースの供給を需要に合わせる
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 29/66 Controller Manager クラスタの状態を維持 レプリカ数 ジョブ管理
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 30/66 Pod 1つ以上のコンテナを内包する単位 Pod内はlocalhostでアクセス可能
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 31/66 Kubelet ノード内の管理 Podの状態を監視、異常があれば再デプロイ ノード状態をマスターに送信
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 32/66 Kube-proxy プロキシ、ロードバランサーの役割 cAdvisor リソースの使⽤量を監視、収集
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 33/66 Kubernetesリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 34/66 リソースの分類 Workloadsリソース Discovery&LBリソース Config&Storageリソース Clusterリソース Metadataリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 35/66 Workloadsリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 36/66 Workloadsリソース Pod ReplicaSet Deployment DaemonSet StatefulSet
Job CronJob
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 37/66 ReplicaSet Podの管理、複製 Pod数を設定どおりに維持 セルフヒーリング
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 38/66 Deployment ReplicaSetの履歴、バージョン管理 アップデート ロールバック 削除
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 39/66 DaemonSet 各ノードに1つずつPodを配置 e.g. ノードの管理、情報収集
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 40/66 Job 1度のみ実⾏ CronJob Jobのスケジューリング
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 41/66 Discovery&LBリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 42/66 Discovery&LBリソース Service ClusterIP NodePort LoadBalancer ExternalIP
ExternalName Headless Ingress
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 43/66 Service コンテナと外部の通信 クラスタ内 クラスタと外部 IPアドレス、ポートによるアクセス
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 44/66 Ingress クラスタと外部の通信 URLによるアクセス L7ロードバランシング
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 45/66 Config&Storageリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 46/66 Config&Storageリソース Secret ConfigMap PersistentVolumeClaim
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 47/66 Secret 機密情報を定義 パスワード、トークン、Keyなど kubesec で暗号化
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 48/66 ConfigMap Key-Valueでデータを保持 設定情報とコンテナを分離
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 49/66 Clusterリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 50/66 Clusterリソース Namespace ServiceAccount Role/ClusterRole RoleBinding/ClusterRoleBinding Volume
PersistentVolume Node
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 51/66 Namespace リソースの分割 e.g. 開発者⽤、管理者⽤ アクセス制御 仮想クラスタ
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 52/66 StatefulSet データの永続化 Podの管理 それぞれのPodに個別ID 置き換え不可
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 53/66 Volume ホスト上の領域をマッピング ファイルの保存 コンテナ間のデータ共有
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 54/66 PersistentVolume 永続化領域 利⽤には PersistentVolumeClaim(PVC) が必要
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 55/66 Metadataリソース
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 56/66 Metadataリソース CustomResourceDefinition LimitRange HorizontalPodAutoscaler
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 57/66 マニフェスト例
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 58/66 Pod apiVersion: v1 kind: Pod metadata:
name: sample-pod spec: containers: - name: nginx-container image: nginx:1.12
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 59/66 ReplicaSet apiVersion: apps/v1 kind: ReplicaSet metadata:
name: sample-rs spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.12 ports: - containerPort: 80
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 60/66 Deployment apiVersion: apps/v1 kind: Deployment metadata:
name: sample-deployment spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.12 ports: - containerPort: 80
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 61/66 Job apiVersion: batch/v1 kind: Job metadata:
name: sample-job spec: completions: 1 parallelism: 1 backoffLimit: 10 template: spec: containers: - name: sleep-container image: centos:6 command: ["sleep"] args: ["60"] restartPolicy: Never
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 62/66 Secret apiVersion: v1 kind: Pod metadata:
name: sample-secret-single-env spec: containers: - name: secret-container image: nginx:1.12 env: - name: DB_USERNAME valueFrom: secretKeyRef: name: sample-db-auth key: username
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 63/66 書籍紹介
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 64/66 書籍紹介
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 65/66 参考サイト 公式サイト https://kubernetes.io 『Kubernetes完全ガイド』の付録マニフェスト https://github.com/MasayaAoyama/kubernetes-perfect-guide 今こそ始めよう︕
Kubernetes⼊⾨ https://thinkit.co.jp/series/7342
2019/4/19 Kubernetes⼊⾨ 127.0.0.1:5500/#65 66/66 Thank you!