SlideShare a Scribd company logo
1 of 31
Download to read offline
Mobility Technologies Co., Ltd.
MLエンジニアリンググループ
鈴木 隆史
Kubernetes超入門
Mobility Technologies Co., Ltd.
● Kubernetesが必要になった背景
● Kubernetesのアーキテクチャ
● Kubernetesの主要コンポーネント
今日話すこと
2
Mobility Technologies Co., Ltd.
Kubernetesが
必要になった背景
01
3
Mobility Technologies Co., Ltd.
クラウド業界を取り巻くインフラの遷移
4
Mobility Technologies Co., Ltd.
● 物理マシンは調達から運用までが大変
● 仮想マシンもお手軽じゃない(起動時間、無駄なリソースの利用)
● コンテナ技術の登場
○ Immutable Infrastructure (Infrastructure as Code)
○ 軽量でシンプル
○ Portability, Agilityの向上
Dockerコンテナを利用する背景
5
Mobility Technologies Co., Ltd.
● 「アプリケーションバイナリ + 周辺の実行環境」をコンテナイメージとして固める
● 作成したコンテナイメージをもとに起動するため、基本的にどこでも同じように実行
される
e.g. Ubuntu 22.04 + Nginx server, Alpine 3.15+ Go application
● 軽量でシンプル・高速起動・低オーバーヘッド・可搬性・Immutable
Infrastructure
Dockerコンテナとは
6
FROM golang:1.19.0-alpine3.15
COPY main.go ./
RUN go build ./main.go -o main
ENTRYPOINT [“main”, “--args”, “$ARG;”]
Mobility Technologies Co., Ltd.
Dockerの問題点
7
Orchestrationツール無しでDockerを本番環境で導入するにはハードルが高い
これらの問題点を解決するのがKubernetes
Mobility Technologies Co., Ltd.
● コンテナをいい感じに起動させるオープンソースのコンテナオーケストレータ
● Google社内で利用されていたBorgが元になっている
● Docker swarm等の他のツールもあったが、現在はk8sがデファクトスタンダード
● CNCFによってホスティングされている
Kubernetesとは
8
・複数Dockerホストの管理
・コンテナのスケジューリング
・Autoscaling
・Rolling Update
・コンテナの死活監視
・障害時のセルフヒーリング
・Load Balancing
・データや機密情報の管理
同じようなことをk8sを利用せずに0から作るのは大変
Mobility Technologies Co., Ltd.
Serverless vs Kubernetes
9
Mobility Technologies Co., Ltd.
Cloud FunctionsやApp Engine
● コンテナベースではないので、local開発でエミューレータが必要
● スケールしてくると結構大変
● コードだけでなく、Managed Service側も熟知する必要あり
● 言語の種類やバージョンが限定、他にも色々制約あり
Cloud Run
● GUIベースが前提
● Terraformで管理しようとすると逆に大変
● 少人数でスモールスタートするにはいい選択肢
● 最近は解消されてきているが、色々制約もある
Serverless vs Kubernetes
10
Mobility Technologies Co., Ltd.
● クラウドネイティブコンピューティング技術を推奨する非営利団体
● 「コンテナ技術の推進」と「テクノロジー業界」との足並みを揃えることを目的
● The Linux Foundationのサブプロジェクト
Cloud Native Computing Foundation(CNCF)
11
Mobility Technologies Co., Ltd.
クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近
代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するため
の能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロ
サービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。
これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 こ
れらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力
で頻繁かつ予測どおりに行うことができます。
Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシス
テムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパ
ターンを民主化し、これらのイノベーションを誰もが利用できるようにします。
Cloud Nativeとは
12
参考: https://github.com/cncf/toc/blob/main/DEFINITION.md
Mobility Technologies Co., Ltd.
● リソース効率の向上により、少ないサーバーで同じ数のサービスが実行可能
● より高い開発スピードが実現可能となり、低リスクで迅速なサービス改善
● マルチクラウドとハイブリッドクラウドの実現
Cloud Nativeのメリット
13
・疎結合なシステム
・回復性がある
・管理しやすい
・過観測である
・堅牢な自動化により、最小限の労力で
頻繁かつ期待通りに変更が可能
Mobility Technologies Co., Ltd.
1. コンテナ化
2. CI/CD
3. オーケストレーション&アプリケーション定義
4. 過観測性&分析
5. サービスプロキシ、ディスカバリ&メッシュ
6. ネットワーク、ポリシー&セキュリティ
7. 分散データベース&分散ストレージ
8. ストリーミング&メッセージング
9. コンテナレジストリ&ランタイム
10. ソフトウェアディストリビューション
Cloud Nativeになるためのステップ
14
すべて対応する必要はなく、状況に応じて適時対応すれば良い
Mobility Technologies Co., Ltd.
● サービス提供を迅速に一貫した環境で行うためにコンテナ技術に注目が集ま
る
● そのコンテナの管理にKubernetesが利用される
● 組織のフェーズによって、Serverlessとは棲み分け
● Cloud Nativeな状態を目指し、その選択肢の一つがKubernetes
まとめ
15
Mobility Technologies Co., Ltd.
Kubernetesのアーキテクチャ
02
16
Mobility Technologies Co., Ltd.
● アプリケーション間でOSを共有
● 他のプロセスからは隔離されたプロセス実行環境
コンテナ開発のメリット(おさらい)
17
Mobility Technologies Co., Ltd.
● Cluster:Nodeの集合
● Node:コンテナのデプロイ先VM
○ Master NodeとWorker Nodeから構成される
● Pod:デプロイの最小単位
○ コンテナ間でIPやVolumeを共有
Cluster/Node/Pod
18
Mobility Technologies Co., Ltd.
● Master Node:クラスタ内のPodを管理
● Worker Node:コンテナ化されたアプリケーションPodを実行
Master Node/Worker Node
19
Master Node Worker Node
Mobility Technologies Co., Ltd.
● kube-apiserver
○ APIエンドポイントとして機能
● kube-controller-manager
○ 各種コントローラを制御
● kube-scheduler
○ コンテナのスケジューリング
● etcd
○ k8sクラスタの構成情報を格納するKVS
Master Node
20
Mobility Technologies Co., Ltd.
● kubelet
○ Podの起動・監視
● kube-proxy
○ Serviceの仮想IPへのアクセスをPodに
転送
Worker Node
21
Mobility Technologies Co., Ltd.
Kubernetesの
主要コンポーネント
03
22
Mobility Technologies Co., Ltd.
Pod
● デプロイできる最小のコンピューティングユニット
● Pod単体で利用することはほぼない
● 複数Podの管理ができ、Pod障害時の自動復旧が可能なコンテナコントロー
ラーを利用する
○ Deployment, StatefulSet, DaemonSetなど
ワークロード(1/2)
23
Mobility Technologies Co., Ltd.
Deployment
● 理想的なコンピューティングユニットの状態を定義
○ レプリカ数、リソース設定値(CPU/Memory)
○ その状態に合わせてPodが増減
● Deployment更新時にはロールアウトが実行
○ ロールアウト時のPodの稼働状況なども指定可能
○ 障害時には過去のリビジョンにロールバックできる
ワークロード(2/2)
24
Mobility Technologies Co., Ltd.
Service
● サービスディスカバリ
○ Podへのアクセス手段を提供
● Serviceのタイプ
○ ClusterIP:複数のPodを紐付けるクラスタ内仮想IPで公開
○ NodePort:ClusterIPをNode上の静的なポートで公開
○ LoadBalancer:クラウドLBを使用してServiceを外部に公開
○ ExternalName:指定されたコンテンツとSeviceを紐付ける
外部からのアクセス(1/2)
25
Mobility Technologies Co., Ltd.
Ingress
● 内部Serviceへの外部アクセスを管理する
○ 負荷分散、SSL、名前ベースの仮想ホスティングを提供
外部からのアクセス(2/2)
26
Mobility Technologies Co., Ltd.
Volume
● 外部リソースをコンテナにマウント
● Volumeのタイプ
○ emptyDir Volume:Node上に領域を確保、Podが削除されると廃棄
○ Persistent Volume:ネットワークストレージと接続、永続化
• GCE永続ディスクやAWS EBSなどとも接続可
ストレージ(1/1)
27
Mobility Technologies Co., Ltd.
ConfigMap
● 機密性のないデータをキーと値のペアで保存する
● ローカルやクラウドごとに差異がある環境変数の管理などで利用
● プレーンテキストで格納される
Secret
● 機密性のあるデータをキーと値のペアで保存する
● base64エンコードで格納される
● ともに環境変数や、Volumeマウントして利用できる
設定(1/1)
28
Mobility Technologies Co., Ltd.
まとめ
04
29
Mobility Technologies Co., Ltd.
Kubernetesのメリット
● これまでのインフラ課題はKubernetes導入によって解決できる
Kubernetesの各用語
● 主要なアーキテクチャとコンポーネントについてまとめた
まとめ
30
confidential
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
31

More Related Content

What's hot

BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjpKubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjpPreferred Networks
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例briscola-tokyo
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Preferred Networks
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...Preferred Networks
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようShingo Omura
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Preferred Networks
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021Yusuke Suzuki
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 

What's hot (20)

BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjpKubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
KubeCon 2021 NA Recap - Scheduler拡張事例最前線 / Kubernetes Meetup Tokyo #47 / #k8sjp
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
Githubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみようGithubを使って簡単に helm repoを公開してみよう
Githubを使って簡単に helm repoを公開してみよう
 
Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50Topology Managerについて / Kubernetes Meetup Tokyo 50
Topology Managerについて / Kubernetes Meetup Tokyo 50
 
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyoMLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021マイクロサービスに至る歴史とこれから - XP祭り2021
マイクロサービスに至る歴史とこれから - XP祭り2021
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 

Similar to Kubernetes超入門

CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and KnativeMasahito Zembutsu
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...NTT DATA Technology & Innovation
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化Hinemos
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) NTT DATA Technology & Innovation
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜VirtualTech Japan Inc.
 
OSSではじめるオープン・スタンダードのクラウド @201304
OSSではじめるオープン・スタンダードのクラウド @201304OSSではじめるオープン・スタンダードのクラウド @201304
OSSではじめるオープン・スタンダードのクラウド @201304Shinichiro Arai
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとはKoto Shigeru
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpNobuhiro Sue
 
Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009Junji Nishihara
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkwhywaita
 
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版][old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]オラクルエンジニア通信
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018Masahito Zembutsu
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてVirtualTech Japan Inc.
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果Hideaki Tokida
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud FoundryTomohiro Ichimura
 
0101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_2021010101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_202101Hinemos
 
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日Masanori KAMAYAMA
 

Similar to Kubernetes超入門 (20)

CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
JCBの Payment as a Service 実現にむけたゼロベースの組織変革とテクニカル・イネーブラー(NTTデータ テクノロジーカンファレンス ...
 
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
 
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料) ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
ここがつらいよ、Hyperledger Fabricの商用適用(Blockchain GIG #4発表資料)
 
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
OSSではじめるオープン・スタンダードのクラウド @201304
OSSではじめるオープン・スタンダードのクラウド @201304OSSではじめるオープン・スタンダードのクラウド @201304
OSSではじめるオープン・スタンダードのクラウド @201304
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
IoTを支えるAWSアーキテクチャ
IoTを支えるAWSアーキテクチャIoTを支えるAWSアーキテクチャ
IoTを支えるAWSアーキテクチャ
 
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocpJSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocp
 
Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009Hccjp rancher+azurearc 201009
Hccjp rancher+azurearc 201009
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版][old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
[old] Oracle Container Engine for Kubernetes (OKE) ご紹介 [2020年7月版]
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについて
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
OpenShift Ansbile 活用法 アプリケーションライフサイクルからみる導入効果
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
Circle of Code with Cloud Foundry
Circle of Code with Cloud FoundryCircle of Code with Cloud Foundry
Circle of Code with Cloud Foundry
 
0101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_2021010101 Hinemos製品紹介_202101
0101 Hinemos製品紹介_202101
 
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
Secure architecting on OCI (Oracle Cloud Infrastructure) 2021年3月16日
 

More from Takashi Suzuki

到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化Takashi Suzuki
 
AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介Takashi Suzuki
 
MLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるMLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるTakashi Suzuki
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングTakashi Suzuki
 
MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践Takashi Suzuki
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてTakashi Suzuki
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてTakashi Suzuki
 
[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1Takashi Suzuki
 
[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例Takashi Suzuki
 
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例Takashi Suzuki
 

More from Takashi Suzuki (10)

到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化到着予想時間サービスの特徴量のニアリアルタイム化
到着予想時間サービスの特徴量のニアリアルタイム化
 
AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介AI予約サービスのMLOps事例紹介
AI予約サービスのMLOps事例紹介
 
MLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考えるMLプロジェクトのリリースフローを考える
MLプロジェクトのリリースフローを考える
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
 
MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践MOVの機械学習システムを支えるMLOps実践
MOVの機械学習システムを支えるMLOps実践
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 
[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1[Gree] DataEngConf NYC’18 セッションサマリー #1
[Gree] DataEngConf NYC’18 セッションサマリー #1
 
[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例[Gree] Dialogflowを利用したチャットボット導入事例
[Gree] Dialogflowを利用したチャットボット導入事例
 
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (8)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Kubernetes超入門

  • 1. Mobility Technologies Co., Ltd. MLエンジニアリンググループ 鈴木 隆史 Kubernetes超入門
  • 2. Mobility Technologies Co., Ltd. ● Kubernetesが必要になった背景 ● Kubernetesのアーキテクチャ ● Kubernetesの主要コンポーネント 今日話すこと 2
  • 3. Mobility Technologies Co., Ltd. Kubernetesが 必要になった背景 01 3
  • 4. Mobility Technologies Co., Ltd. クラウド業界を取り巻くインフラの遷移 4
  • 5. Mobility Technologies Co., Ltd. ● 物理マシンは調達から運用までが大変 ● 仮想マシンもお手軽じゃない(起動時間、無駄なリソースの利用) ● コンテナ技術の登場 ○ Immutable Infrastructure (Infrastructure as Code) ○ 軽量でシンプル ○ Portability, Agilityの向上 Dockerコンテナを利用する背景 5
  • 6. Mobility Technologies Co., Ltd. ● 「アプリケーションバイナリ + 周辺の実行環境」をコンテナイメージとして固める ● 作成したコンテナイメージをもとに起動するため、基本的にどこでも同じように実行 される e.g. Ubuntu 22.04 + Nginx server, Alpine 3.15+ Go application ● 軽量でシンプル・高速起動・低オーバーヘッド・可搬性・Immutable Infrastructure Dockerコンテナとは 6 FROM golang:1.19.0-alpine3.15 COPY main.go ./ RUN go build ./main.go -o main ENTRYPOINT [“main”, “--args”, “$ARG;”]
  • 7. Mobility Technologies Co., Ltd. Dockerの問題点 7 Orchestrationツール無しでDockerを本番環境で導入するにはハードルが高い これらの問題点を解決するのがKubernetes
  • 8. Mobility Technologies Co., Ltd. ● コンテナをいい感じに起動させるオープンソースのコンテナオーケストレータ ● Google社内で利用されていたBorgが元になっている ● Docker swarm等の他のツールもあったが、現在はk8sがデファクトスタンダード ● CNCFによってホスティングされている Kubernetesとは 8 ・複数Dockerホストの管理 ・コンテナのスケジューリング ・Autoscaling ・Rolling Update ・コンテナの死活監視 ・障害時のセルフヒーリング ・Load Balancing ・データや機密情報の管理 同じようなことをk8sを利用せずに0から作るのは大変
  • 9. Mobility Technologies Co., Ltd. Serverless vs Kubernetes 9
  • 10. Mobility Technologies Co., Ltd. Cloud FunctionsやApp Engine ● コンテナベースではないので、local開発でエミューレータが必要 ● スケールしてくると結構大変 ● コードだけでなく、Managed Service側も熟知する必要あり ● 言語の種類やバージョンが限定、他にも色々制約あり Cloud Run ● GUIベースが前提 ● Terraformで管理しようとすると逆に大変 ● 少人数でスモールスタートするにはいい選択肢 ● 最近は解消されてきているが、色々制約もある Serverless vs Kubernetes 10
  • 11. Mobility Technologies Co., Ltd. ● クラウドネイティブコンピューティング技術を推奨する非営利団体 ● 「コンテナ技術の推進」と「テクノロジー業界」との足並みを揃えることを目的 ● The Linux Foundationのサブプロジェクト Cloud Native Computing Foundation(CNCF) 11
  • 12. Mobility Technologies Co., Ltd. クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近 代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するため の能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロ サービス、イミュータブルインフラストラクチャ、および宣言型APIがあります。 これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 こ れらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力 で頻繁かつ予測どおりに行うことができます。 Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシス テムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパ ターンを民主化し、これらのイノベーションを誰もが利用できるようにします。 Cloud Nativeとは 12 参考: https://github.com/cncf/toc/blob/main/DEFINITION.md
  • 13. Mobility Technologies Co., Ltd. ● リソース効率の向上により、少ないサーバーで同じ数のサービスが実行可能 ● より高い開発スピードが実現可能となり、低リスクで迅速なサービス改善 ● マルチクラウドとハイブリッドクラウドの実現 Cloud Nativeのメリット 13 ・疎結合なシステム ・回復性がある ・管理しやすい ・過観測である ・堅牢な自動化により、最小限の労力で 頻繁かつ期待通りに変更が可能
  • 14. Mobility Technologies Co., Ltd. 1. コンテナ化 2. CI/CD 3. オーケストレーション&アプリケーション定義 4. 過観測性&分析 5. サービスプロキシ、ディスカバリ&メッシュ 6. ネットワーク、ポリシー&セキュリティ 7. 分散データベース&分散ストレージ 8. ストリーミング&メッセージング 9. コンテナレジストリ&ランタイム 10. ソフトウェアディストリビューション Cloud Nativeになるためのステップ 14 すべて対応する必要はなく、状況に応じて適時対応すれば良い
  • 15. Mobility Technologies Co., Ltd. ● サービス提供を迅速に一貫した環境で行うためにコンテナ技術に注目が集ま る ● そのコンテナの管理にKubernetesが利用される ● 組織のフェーズによって、Serverlessとは棲み分け ● Cloud Nativeな状態を目指し、その選択肢の一つがKubernetes まとめ 15
  • 16. Mobility Technologies Co., Ltd. Kubernetesのアーキテクチャ 02 16
  • 17. Mobility Technologies Co., Ltd. ● アプリケーション間でOSを共有 ● 他のプロセスからは隔離されたプロセス実行環境 コンテナ開発のメリット(おさらい) 17
  • 18. Mobility Technologies Co., Ltd. ● Cluster:Nodeの集合 ● Node:コンテナのデプロイ先VM ○ Master NodeとWorker Nodeから構成される ● Pod:デプロイの最小単位 ○ コンテナ間でIPやVolumeを共有 Cluster/Node/Pod 18
  • 19. Mobility Technologies Co., Ltd. ● Master Node:クラスタ内のPodを管理 ● Worker Node:コンテナ化されたアプリケーションPodを実行 Master Node/Worker Node 19 Master Node Worker Node
  • 20. Mobility Technologies Co., Ltd. ● kube-apiserver ○ APIエンドポイントとして機能 ● kube-controller-manager ○ 各種コントローラを制御 ● kube-scheduler ○ コンテナのスケジューリング ● etcd ○ k8sクラスタの構成情報を格納するKVS Master Node 20
  • 21. Mobility Technologies Co., Ltd. ● kubelet ○ Podの起動・監視 ● kube-proxy ○ Serviceの仮想IPへのアクセスをPodに 転送 Worker Node 21
  • 22. Mobility Technologies Co., Ltd. Kubernetesの 主要コンポーネント 03 22
  • 23. Mobility Technologies Co., Ltd. Pod ● デプロイできる最小のコンピューティングユニット ● Pod単体で利用することはほぼない ● 複数Podの管理ができ、Pod障害時の自動復旧が可能なコンテナコントロー ラーを利用する ○ Deployment, StatefulSet, DaemonSetなど ワークロード(1/2) 23
  • 24. Mobility Technologies Co., Ltd. Deployment ● 理想的なコンピューティングユニットの状態を定義 ○ レプリカ数、リソース設定値(CPU/Memory) ○ その状態に合わせてPodが増減 ● Deployment更新時にはロールアウトが実行 ○ ロールアウト時のPodの稼働状況なども指定可能 ○ 障害時には過去のリビジョンにロールバックできる ワークロード(2/2) 24
  • 25. Mobility Technologies Co., Ltd. Service ● サービスディスカバリ ○ Podへのアクセス手段を提供 ● Serviceのタイプ ○ ClusterIP:複数のPodを紐付けるクラスタ内仮想IPで公開 ○ NodePort:ClusterIPをNode上の静的なポートで公開 ○ LoadBalancer:クラウドLBを使用してServiceを外部に公開 ○ ExternalName:指定されたコンテンツとSeviceを紐付ける 外部からのアクセス(1/2) 25
  • 26. Mobility Technologies Co., Ltd. Ingress ● 内部Serviceへの外部アクセスを管理する ○ 負荷分散、SSL、名前ベースの仮想ホスティングを提供 外部からのアクセス(2/2) 26
  • 27. Mobility Technologies Co., Ltd. Volume ● 外部リソースをコンテナにマウント ● Volumeのタイプ ○ emptyDir Volume:Node上に領域を確保、Podが削除されると廃棄 ○ Persistent Volume:ネットワークストレージと接続、永続化 • GCE永続ディスクやAWS EBSなどとも接続可 ストレージ(1/1) 27
  • 28. Mobility Technologies Co., Ltd. ConfigMap ● 機密性のないデータをキーと値のペアで保存する ● ローカルやクラウドごとに差異がある環境変数の管理などで利用 ● プレーンテキストで格納される Secret ● 機密性のあるデータをキーと値のペアで保存する ● base64エンコードで格納される ● ともに環境変数や、Volumeマウントして利用できる 設定(1/1) 28
  • 29. Mobility Technologies Co., Ltd. まとめ 04 29
  • 30. Mobility Technologies Co., Ltd. Kubernetesのメリット ● これまでのインフラ課題はKubernetes導入によって解決できる Kubernetesの各用語 ● 主要なアーキテクチャとコンポーネントについてまとめた まとめ 30