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
57
Kubernetes概要 / kubernetes_outline
yu-yama
January 31, 2019
Tweet
Share
More Decks by yu-yama
See All by yu-yama
2021上期情報共有会発表資料/2021kamikihapyosiryou
yusukaaay
0
19
Other Decks in Business
See All in Business
特別講義 理系のための法学入門
seko_shuhei
2
2.4k
フルカイテン株式会社 採用資料
fullkaiten
0
67k
LW_brochure_business
lincwellhr
1
59k
【2025年度】大会協賛提案書
jusdl
0
430
Things - Company Deck
things2109
0
960
Gemini CLI ハンズアウト
mickey_kubo
3
400
Cursor活用ガイド(非エンジニア向け)
satoyusuke
0
220
事業計画及び成長可能性に関する事項 2025年6月25日
cynd
0
620
ドクターベネフィットG紹介資料‗エムスリー
m3
0
230
ベタートラップと夏
mosa_siru
8
3.4k
三菱商事ロジスティクス_コンサルティング事業紹介
mclogi
0
380
How to use ‘Economies of Empowerment’ to get the benefits of both speed and scale - AgileAus 2025
matthewskelton
PRO
0
240
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
430
Unsuck your backbone
ammeep
671
58k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
A Tale of Four Properties
chriscoyier
160
23k
Raft: Consensus for Rubyists
vanstee
140
7k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
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