SlideShare a Scribd company logo
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

PDF
DockerとPodmanの比較
PPTX
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
PPTX
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
PPTX
Dockerからcontainerdへの移行
PDF
Kubernetes雑にまとめてみた 2020年8月版
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PPTX
初心者向けMongoDBのキホン!
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
DockerとPodmanの比較
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
Dockerからcontainerdへの移行
Kubernetes雑にまとめてみた 2020年8月版
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
初心者向けMongoDBのキホン!
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)

What's hot (20)

PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PDF
BuildKitの概要と最近の機能
PDF
DockerとKubernetesをかけめぐる
PDF
REST API のコツ
PDF
ドメイン駆動設計サンプルコードの徹底解説
PDF
ストリーム処理を支えるキューイングシステムの選び方
PDF
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
PDF
それはYAGNIか? それとも思考停止か?
PPTX
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
PDF
世界最強のソフトウェアアーキテクト
PDF
TripleOの光と闇
PDF
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
PDF
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PPTX
BuildKitによる高速でセキュアなイメージビルド
PPTX
Azure Service Fabric 概要
PDF
Javaはどのように動くのか~スライドでわかるJVMの仕組み
PDF
Data-Centric AIの紹介
PDF
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
PDF
Webアプリを並行開発する際のマイグレーション戦略
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
BuildKitの概要と最近の機能
DockerとKubernetesをかけめぐる
REST API のコツ
ドメイン駆動設計サンプルコードの徹底解説
ストリーム処理を支えるキューイングシステムの選び方
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
それはYAGNIか? それとも思考停止か?
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
世界最強のソフトウェアアーキテクト
TripleOの光と闇
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
BuildKitによる高速でセキュアなイメージビルド
Azure Service Fabric 概要
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Data-Centric AIの紹介
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
Webアプリを並行開発する際のマイグレーション戦略
Ad

Similar to Kubernetes超入門 (20)

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

More from Takashi Suzuki (11)

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

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