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
56
Kubernetes概要 / kubernetes_outline
yu-yama
January 31, 2019
Tweet
Share
More Decks by yu-yama
See All by yu-yama
2021上期情報共有会発表資料/2021kamikihapyosiryou
yusukaaay
0
15
Other Decks in Business
See All in Business
CultureDeck
remainin
0
220
プライシングについて②
umzws
0
270
生成AIに個人情報/秘密情報を入力する際の法的論点20240318
kenjisugiura
1
200
regions_recruit
regions
0
120
Legaseed_SDGs_KPI12期_2024.pdf
legaseed131111
0
110
Ampersand Company Profile
cuebicventures
PRO
2
3.5k
HRBrain|26卒 新卒向け|会社説明資料
hrbrain
2
540
カジュアル面談って、もっとカジュアルに していいの / informal session #jasstnano
pineapplecandy
0
130
Beyond Engineering: The Future of Platforms
mfpais
PRO
1
310
経営企画支援サービスについて
keiki
2
34k
アシスト 会社紹介資料
ashisuto_career
3
62k
株式会社トラストバンク_採用ピッチ資料
sugahara
0
740
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
A Tale of Four Properties
chriscoyier
152
22k
A designer walks into a library…
pauljervisheath
201
23k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Thoughts on Productivity
jonyablonski
60
3.9k
Why Our Code Smells
bkeepers
PRO
331
56k
Into the Great Unknown - MozCon
thekraken
14
1k
How STYLIGHT went responsive
nonsquared
92
4.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
How to train your dragon (web standard)
notwaldorf
75
5.2k
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