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概要 / kubernetes_outline
Search
yu-yama
January 31, 2019
Business
0
59
Kubernetes概要 / kubernetes_outline
yu-yama
January 31, 2019
Tweet
Share
More Decks by yu-yama
See All by yu-yama
2021上期情報共有会発表資料/2021kamikihapyosiryou
yusukaaay
0
21
Other Decks in Business
See All in Business
【27新卒フィールドセールス職採用】BuySell Technologies会社紹介資料
buyselltechnologies
0
250k
メドピアグループ紹介資料
medpeer_recruit
10
140k
TechnoKuRo LLC.
technokuro
0
410
株式会社LANY / Company Deck
lany
2
84k
人が辞めても困らない職場へ - AIでノウハウがたまる仕組み、文化を作る実践術
nkajihara
4
1.1k
【リクロマ株式会社】20251026_会社紹介資料
takahiro4545
0
110
株式会社ステラセキュリティ会社紹介資料/sterrasec-introduction
tkmru
0
290
データ整備の「やり方」はどうなっていくか
shinu
PRO
2
660
社内請負スクラムから脱却する〜複雑性に適応するスクラムチームの作り方〜
yasuhirokimesawa
1
180
会社紹介資料
gatechnologies
2
120k
株式会社SAFELY 会社紹介 / Company
safely_pr
1
4.3k
Sales Marker Culture book
salesmarker
PRO
44
75k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Visualization
eitanlees
150
16k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
We Have a Design System, Now What?
morganepeng
53
7.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
160
Designing for Performance
lara
610
69k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Writing Fast Ruby
sferik
630
62k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Transcript
Kubernetes の概要を理解する
本日の内容 • Dockerとは(軽く復習) • Kubernetesとは – 機能紹介 – アーキテクチャ –
どこで動かすか • まとめ 今日のゴール:kubernetesの概要を理解する 2
Dockerとは
Dockerとは • コンテナ型仮想化 – Dockerイメージを基にミドルウェア込み込みでアプリを起動する • 特徴 – ポータビリティ性が高い •
アプリ動作環境丸ごと持ち運べる – 高速な起動・停止 – Infrastructure as Code – Immutable Infrastructure 4
コンテナ起動までの流れ • Dockerイメージを作成 • DockerレジストリへイメージをPushする • コンテナ起動 5
コンテナ型仮想環境運用の課題 • 複数のDockerホストの管理 • どのDockerホストにコンテナを立ち上げるか • コンテナのデプロイ方法 • 複数のコンテナ間の連携 •
コンテナの死活監視 • コンテナの保持するデータの管理 • 外部ネットワークからコンテナへのアクセス経路の設定 6
7 # alpine 3.7ベースのgolang 1.10.1のイメージをベースとして使用 FROM golang:1.10.1-alpine3.7 # 8080ポートを外部に公開 EXPOSE
8080 # ビルドを行うマシン上のmain.goファイルをコンテナにコピー COPY ./main.go ./ # コンテナ内でコマンドを実行 RUN go build -o ./go-app ./main.go # 実行ユーザをnobodyに変更 USER nobody # コンテナ起動時に実行するコマンドを定義 ENTRYPOINT ["./go-app"] Dockerfile例
Kubernetesとは 8
Kubernetes • 読み方 – クバネティス、クバネテス、クーベルネティス、ク ーバネティス • 略記 – K8s
• ギリシャ語で「船の舵取り」 • 開発言語 – Go • Google製OSSで、現在はCNCFがメンテ 9
CNCF(CloudNativeComputingFoundation) • Cloud Native Computing Foundationとは – クラウドネイティブ(クラウド上での利用を前提として設計されたシス テムやサービス)なOSS技術を管理する団体 –
ベンダロックインなくクラウド間を移行できるように標準化を行って いる 10
CNCF(CloudNativeComputingFoundation) • 参画クラウドベンダ 11
12 https://landscape.cncf.io/images/landscape.png
Kubernetesの競合 • Docker Swarm • Apache Mesos • Rancher Labs
Cattle • DC/OS(Data Center Operations System) • 現時点デファクトはKubernetes 13
Kubernetesの機能 コンテナオーケストレーションツール 1. 複数のKubernetes Node(Dockerホスト)の管理 2. スケーリング/オートスケーリング 3. ローリングアップデート 4.
セルフヒーリング 5. コンテナのスケジューリング 6. サービスディスカバリ、ロードバランシング 14
複数のKubernetes Nodeの管理 • Kubernetesクラスタにより、複数台のサーバを対象にコンテ ナを横断的に管理する 15
スケーリング/オートスケーリング • CPU,メモリなどの負荷に応じて、コンテナのレプリカ数を自 動的に増減 16
ローリングアップデート • ダウンタイムなしでアプリケーションのリリースを行う 17
セルフヒーリング • コンテナのプロセス監視を行っており、プロセスの停止を検 知すると、自動的にコンテナの再デプロイを行う 18
コンテナのスケジューリング • どの Kubernetes Nodeにどのコンテナを配置するか設定で きる – ディスクI/Oが多いコンテナをSSDを搭載したNodeに配置する とか 19
サービスディスカバリ、ロードバランシング • スケールしたコンテナに対してうまいことルーティングして くれる • ローリングアップデートの際のコンテナの切り離しもやって くれる 20
Kubernetesのアーキテクチャ 21
Kubernetesのアーキテクチャ 22 • Master Node – Kubernetesクラスタ全体を管理するサーバ – コンテナのスケジューリング、スケーリング、監視を行う
Kubernetesのアーキテクチャ 23 • Worker Node – 実際にコンテナが動作するDockerホスト
Kubernetesをどこで動かすか 1. オンプレ上に構築 – 構築ツールがある (kubeadm, Rancher) 2. クラウド上のマネージドサービスを利用する 1.
Google Kubernetes Engine (GKE) 2. Azure Kubernetes Service (AKS) 3. Elastic Container Service for Kubernetes (EKS) • 上記いずれもマスターノードが複数のアベイラビリティゾーンに配置され ており、可用性を確保している 24
まとめ
まとめ • Kubernetesはコンテナオーケストレーションツールのデファ クト • とはいえ、そこそこ学習コストが高い – 例えば、既存のモノリシックなシステムをただコンテナ化して、運用 するサービスの場合、Kubernetesはオーバースペック –
マイクロサービスで頻繁なデプロイを行うサービスなどは採用メリッ トあり → 使いどころを考えましょう 26
ご清聴ありがとうございました 27