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
Corporate Story (GA technologies Co., Ltd.)
gatechnologies
0
190
ヘルスベイシス_会社説明資料_v3.4
yasudashoyo
1
63k
新規投資家向け資料
digitalgrid
0
400
株式会社TSIホールディングス会社案内
tsi_saiyou
1
19k
【新卒採用資料】Natee Company Deck _202508
nateehr
0
350
株式会社スムーズ会社紹介資料/Smooth COMPANY DECK
smoothinc
PRO
1
1.6k
透明性レポート(2025年上半期)
mercari_inc
0
1.3k
【DearOne】Dear Newest Member
hrm
2
12k
Sales Marker Culture Book(English)
salesmarker
PRO
2
6.3k
Data Cloudで実現する、 Agentforce が飛び交う Next Generation Platform
marreta27
0
160
バイブコーディング入門:ビジネスを加速させる迅速なプロトタイピング術
ncdc
0
170
HRBrain 中途採用資料
hrbrain
1
2.1k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Visualization
eitanlees
148
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
It's Worth the Effort
3n
187
28k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
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