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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
税理士法人チェスター_事務所紹介資料
mabhr
0
760
経営管理について / About Corporate Planning
loglass2019
0
6.5k
Akatsuki AI Technologies Company Deck
akatsuki_ai_technologies
0
620
プロダクトにAIを。 確率的なふるまいと向き合う。
sugitlab
1
380
YassLab (株) サービス紹介 / Introduction of YassLab
yasslab
PRO
3
41k
株式会社ネオキャリア_採用ピッチ資料_20260128
neo_recruit
0
210
Growth Book
kuradashi
0
3.2k
習慣化するための技術 / Techniques for Habit Formation
3l4l5
1
260
【正社員型エンジニア派遣事業】採用資料
cdcsaiyo
0
300
スタートアップ調査:女性起業家を取り巻く課題と解決策
mpower_partners
PRO
0
570
CC採用候補者向けピッチ資料
crosscommunication
2
57k
(4枚)PDCAサイクルとOODAループの違いを徹底解説
nyattx
PRO
0
140
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
1
750
Navigating Weather and Climate Data
rabernat
0
100
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Amusing Abliteration
ianozsvald
0
100
Bash Introduction
62gerente
615
210k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Site-Speed That Sticks
csswizardry
13
1.1k
Agile that works and the tools we love
rasmusluckow
331
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
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