More Related Content
PPTX
PPTX
Moverio+unityで始めるarグラスアプリ開発 PPTX
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料) PDF
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回 PDF
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料) PDF
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ PDF
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現 What's hot
PDF
PDF
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法 PPTX
PDF
Java EE から Quarkus による開発への移行について PPTX
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料) PDF
忙しい人の5分で分かるDocker 2017年春Ver PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ PPTX
世界一わかりやすいClean Architecture PDF
PDF
プログラマ目線から見たRDMAのメリットとその応用例について PPTX
PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料) PDF
分散トレーシング技術について(Open tracingやjaeger) PPTX
PDF
PDF
Unityでパフォーマンスの良いUIを作る為のTips PDF
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料 PPTX
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 Similar to Kubernetes超入門
PDF
VMware が考えるコンテナと Kubernetes の世界 PDF
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk PDF
GCPで実現するクラウドネイティブアプリケーション PDF
Cloud Native をやっていくにはどう学んでいくかをみんなで考えてみる PDF
Kubecon NA 2019 Recap: Your Path to Production Ready Kubernetes hosted by Wea... PDF
Infra: Kubernetes and GKE, Network PDF
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt PDF
Webアプリ開発向け ゆるふわDocker使いが Cloud Naive開発に必要なetc. PDF
Architecting on Alibaba Cloud - Fundamentals - 2018 PDF
PDF
20191120 beyondstudy#21 kitaoka PDF
Kubernetesやりませんか? LinuCエヴァンジェリスト 鯨井貴博(くじらいたかひろ) PPTX
Kubernetesオンラインセミナー kubernetesの始め方 PDF
Kubernetes on Alibaba Cloud PDF
Kubernetes Cluster Adminやってました #con_rider PDF
Azure Kubernetes Service Overview PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー PPTX
Introduction to Magnum (JP) PDF
世界におけるKubernetes活用状況と企業向けプライベートクラウド基盤 PPTX
今さら聞けない人のためのKubernetes超入門 ニフクラエンジニアミートアップ版 More from Takashi Suzuki
PDF
PDF
PDF
PDF
Optuna on Kubeflow Pipeline 分散ハイパラチューニング PDF
PDF
PDF
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて PPTX
MOV お客さま探索ナビの GCP ML開発フローについて PDF
[Gree] DataEngConf NYC’18 セッションサマリー #1 PPTX
[Gree] Dialogflowを利用したチャットボット導入事例 PPTX
[Gree] グリーのソーシャルゲームにおける機械学習活用事例 Kubernetes超入門
- 1.
- 2.
- 3.
- 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.
- 8.
Mobility Technologies Co.,Ltd.
● コンテナをいい感じに起動させるオープンソースのコンテナオーケストレータ
● Google社内で利用されていたBorgが元になっている
● Docker swarm等の他のツールもあったが、現在はk8sがデファクトスタンダード
● CNCFによってホスティングされている
Kubernetesとは
8
・複数Dockerホストの管理
・コンテナのスケジューリング
・Autoscaling
・Rolling Update
・コンテナの死活監視
・障害時のセルフヒーリング
・Load Balancing
・データや機密情報の管理
同じようなことをk8sを利用せずに0から作るのは大変
- 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.
- 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.
- 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.
- 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.
- 30.
Mobility Technologies Co.,Ltd.
Kubernetesのメリット
● これまでのインフラ課題はKubernetes導入によって解決できる
Kubernetesの各用語
● 主要なアーキテクチャとコンポーネントについてまとめた
まとめ
30
- 31.