Slide 1

Slide 1 text

アイシン事例に学ぶ Kubernetes+Rancherを活用した AI/Edgeプラットフォーム 株式会社スタイルズ 2022年10月6日

Slide 2

Slide 2 text

Geeko, These puppets is in my home.

Slide 3

Slide 3 text

自己紹介 経歴 : システム運用 10年・ネットワーク 6年・SI 8年 近頃はNextcloud/Rancherを担当 その他 : 全く上達しないRubyist 一番最初のPCは、OKI if-800 でした…。 矢野 哲朗 tetsurow.yano 株式会社スタイルズ 2

Slide 4

Slide 4 text

Our history with Rancher / Rancherの取り扱いの歴史 3  2016 year  I met Mr. Shindo of Rancher Labs. Rancher Labs社のMr.Shindoと知り合った  2017~2019 year  Stylez Inc. has become the first Rancher distributor. スタイルズが、日本で最初のRancher販売代理店  Held 8 RancherJP Meetups (community events) RancherJP Meetup(コミュニティイベント)を8回開催  Rancher日本のカンファレンスで登壇  2020~2021 year  K3S Japanese manual created K3S日本語マニュアル作成  AISIN Edge IoT project performed アイシンEdge IoTプロジェクト実施  2022 year  Release of AISIN Case Study / アイシン事例を公開

Slide 5

Slide 5 text

今回お話ししたいこと 4 アイシン様事例 ~課題編~ コンテナと Kubernetesのメリット アイシン様事例 ~解決編~

Slide 6

Slide 6 text

アイシン株式会社 事例紹介 5 アイシン様事例をご紹介します

Slide 7

Slide 7 text

アイシン様で実現されたかった事 6  異常検知や傷認識  部品欠品検知  不良部品検知  環境・装置データ収集

Slide 8

Slide 8 text

導入背景 7  アイシン様が導入されたいと思っていた背景

Slide 9

Slide 9 text

解決されたかった課題 8 高額な装置構成を「安価な装置構成」に 大きな環境構築工数を「少ない工数で構築」 現場でデータ収集を「遠隔でデータ収集」 現場でログ解析を「遠隔でログ解析」 現場でデバッグを「遠隔でデバッグ」 各種手順書作成を「なるべく削減」 ウォーターフォール開発を「アジャイル開発」

Slide 10

Slide 10 text

9 例えばこんなこと

Slide 11

Slide 11 text

初回のセットアップ時 10  開発チームで作ったJetsonを運んで工場の現場に設置に行っています 手動インストール 運ぶ 現場にJetsonを配置 Runnerでビルド 開発チーム 現場 梱包

Slide 12

Slide 12 text

バージョンアップする度に繰り返される手動作業 11  アップデート時には、アップデートしたJetsonを運んで、工場の現場に再度設定しています.....。 手動インストール 運ぶ 現場にJetsonを配置 Runnerでビルド 開発チーム 現場 梱包 運ぶ

Slide 13

Slide 13 text

12 バージョンアップする度に 繰り返される手動作業 (注:物理移動含む) ドリフトさせながら移動したりは してないと思いますけど….。

Slide 14

Slide 14 text

現場はそれどころじゃありません 13  AIを動かすサーバーの増加 画像AI診断 数台なら 管理可能 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 10台以上は 管理不能 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 管理台数 の増加 増える 運用負荷 稼働時間の 低下

Slide 15

Slide 15 text

提案した内容 14 コンテナを利用した オーケストレーションツールを使って 既存のAI基盤をDXする!

Slide 16

Slide 16 text

提案したプラットフォームのアーキテクチャ 15

Slide 17

Slide 17 text

オーケストレーションによる一元管理 16  複数のコンピューターを一元的に管理することができるようになります 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 オーケストレーションツールで 複数台を一元管理

Slide 18

Slide 18 text

オーケストレーションは 17 なぜ必要なのですか

Slide 19

Slide 19 text

AI(DL)のポイントはアップデートの繰り返し 18 モデル 学習 モデル 評価 リリー ス データ 収集 データ 理解 モデル 学習 モデル 評価 リリー ス データ 収集 データ 理解 モデル 学習 モデル 評価 リリー ス データ 収集 データ 理解 アップデート アップデート アップデート データ更新 データ更新 データ更新

Slide 20

Slide 20 text

アップデート頻度をあげる自動化が必須 19 モデル作成の自動化 自動的なコンテナの配布 自動復旧 セルフモニタリング 遠隔操作/遠隔モニタリング いわゆるMLOps

Slide 21

Slide 21 text

MLOps? 20 それってAIだけの話 なのでは?

Slide 22

Slide 22 text

違います 21 MLOpsの発祥は DevOpsやCI/CD

Slide 23

Slide 23 text

CI/CD、DevOps 22 開発(Dev) 運用(Ops) Continuous Integration=CI Continuous Delivery=CD ビルド 監視 運用  「CI/CD」とは、ソフトウェア開発におけるビルドやテスト・デリバリー・デプロイメントを自動化し、継続的に 行うアプローチ

Slide 24

Slide 24 text

23 DXに必要なシステムとしての コンテナオーケストレーション

Slide 25

Slide 25 text

DXに力を発揮するコンテナオーケストレーションツール 24

Slide 26

Slide 26 text

コンテナオーケストレーションツールとは 25  複数のコンピューターを集中管理する仕組み  複数のコンピューター上でコンテナを自在に実行する事ができます

Slide 27

Slide 27 text

オーケストレーションによる一元管理 26  複数のコンピューターを一元的に管理することができるようになります 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 画像AI診断 オーケストレーションツールで 複数台を一元管理

Slide 28

Slide 28 text

AI単体PCサーバーからオーケストレーションへ 27

Slide 29

Slide 29 text

オーケストレーションツールのKubernetes 28 クーバネーティスと読みます サイバネティクスと語源が一緒だそうです

Slide 30

Slide 30 text

KubernetesのEdge利用者の拡大 29  CNCFが「クラウドネイティブ開発の現状」レポートを公開 https://www.infoq.com/jp/news/2022/02/cncf-state-of-cloud-native/

Slide 31

Slide 31 text

30 Kubernetesって どんなことができる?

Slide 32

Slide 32 text

Kubernetesが持っている機能の一部 31 DNSサービス コンテナ スケジューリング 認証管理/ 承認管理 24時間稼働 死活監視 サービス ネットワーク管理 外部ネットワーク 接続管理 ネットワーク管理 ログ収集 アップデート時 自動更新 リソース管理

Slide 33

Slide 33 text

32 Kubernetesは コンビニ?

Slide 34

Slide 34 text

33 便利に使える 普段必要なものは 揃っている 常に在庫補充で 品切れ無し 24時間いつでも 使える コンビニエンスストア

Slide 35

Slide 35 text

コンビニの仕組み 34

Slide 36

Slide 36 text

コンビニバックヤード 35 コンビニのバックヤードでは 利用者が快適なように さまざまな仕事が動いている

Slide 37

Slide 37 text

たとえ話じゃよく分からん 36 できることを具体的に

Slide 38

Slide 38 text

Kubernetesのバックヤード 37 コンテナが生きているかチェック 稼働確認 ヨシ ネットワークを管理 負荷分散 ヨシ コンテナを配布 配布 ヨシ セキュリティーを管理 制限 ヨシ 設定管理 ヨシ データ 管理ヨシ 設定を管理 データ保存を管理

Slide 39

Slide 39 text

Kubernetesのバックヤード 38 コンテナが生きているかチェック 稼働確認 ヨシ ネットワークを管理 負荷分散 ヨシ コンテナを配布 配布 ヨシ セキュリティーを管理 制限 ヨシ 設定管理 ヨシ データ 管理ヨシ 設定を管理 データ保存を管理 Kubernetesでも運用が 楽になるような仕組みが 動いている

Slide 40

Slide 40 text

Kubernetesはコンビニ? 39 DNSサービス コンテナ スケジューリング 認証管理/ 承認管理 24時間稼働 死活監視 サービス ネットワーク管理 外部ネットワーク 接続管理 ネットワーク管理 ログ収集 便利なコンビニ! Kubernetesコンビニ論

Slide 41

Slide 41 text

何か忘れていませんか? 40 Kubernetesは コンテナオーケストレーションツール コンテナって何でしたっけ?

Slide 42

Slide 42 text

そもそもコンテナとは? 41 コンテナは入れ物 何が入っていますか? コンテナは入れ物

Slide 43

Slide 43 text

そもそもコンテナとは? 42 コンテナは入れ物 アプリケーションが 入っています コンテナは入れ物

Slide 44

Slide 44 text

コンテナは餃子 それも簡単に作れて失敗なし冷凍餃子 43 といっても冷凍餃子の歴史は古く、1972年には商品化されていました

Slide 45

Slide 45 text

焼き餃子の作り方 44  具材の用意  具の準備  餃子を包む  餃子を焼く 刻んで野菜と挽肉をよく混ぜます

Slide 46

Slide 46 text

冷凍餃子により焼き餃子の作り方が劇的変化 45  具材の用意  具の準備  餃子を包む  餃子を焼く 刻んで野菜と挽肉をよく混ぜます 不要 不要 不要

Slide 47

Slide 47 text

冷凍餃子により「出して焼くだけ」になった 46  焼く  取り出す 調理済みの 餃子が入っている フライパンで焼く

Slide 48

Slide 48 text

通常のPostgreSQLの利用開始までの作業 47  コンテナを使わないでPostgreSQLが利用できるようになるまでの作業 各 種 OS 設 定 PostgreSQL イ ン ス ト ー ル PostgreSQL 設 定 テ ス ト 監 視 設 定 運 用 開 始 OS イ ン ス ト ー ル

Slide 49

Slide 49 text

コンテナ利用時のPostgreSQLの利用開始までの作業 48  コンテナを使ってPostgreSQLが利用できるようになるまでの作業 コ ン テ ナ イ メ ー ジ の ダ ウ ン ロ ー ド コ ン テ ナ 起 動 運 用 開 始 コ ン テ ナ イ メ ー ジ の 検 索

Slide 50

Slide 50 text

コンテナによるセットアップ効率の向上 49 取り出す 焼く  焼く  取り出す

Slide 51

Slide 51 text

アイシン環境への適用 50

Slide 52

Slide 52 text

提案 51 KubernetesとRancherによる オーケストレーション

Slide 53

Slide 53 text

提案したプラットフォームのアーキテクチャ 52

Slide 54

Slide 54 text

アーキテクチャーのコンポーネント 53 ミドルウェア 役割 備考 Docker コンテナプラットフォーム nvidia-container-runtime利用 SUSE Rancher コンテナオーケストレーション インテグレーションツール SUSE K3S コンテナオーケストレーション nvidia Jetson用Kubernetes SUSE FLEET CD/GitOpsデプロイツール GitLab CI/CD CIツール GitLab Runner GitLab Container Registry・Harbor コンテナレジストリー CoreDNS ネームサーバー ElasticSearch,Kibana ログ保管サーバー、検索サーバー

Slide 55

Slide 55 text

アーキテクチャーのテクノロジースタック 54  提案したアーキテクチャーのテクノロジースタック GitLab CI/CD パイプライン 運用オペレーション IAサーバー IAサーバー Linux(Ubuntu) Linux(Ubuntu) Rancher Kubernetes Engine GitLab GitLab Runner Rancher NVIDIA Jetson 開発(Development) K3S FLEET Harbor Linux(Ubuntu L4T) K3S Harbor Promethus Docker Rancher UI アプリ 継続的インテグレーション(CI) 継続的デリバリー(CD) Rancher Continuous Delivery

Slide 56

Slide 56 text

これによって何ができるようになったか? 55 1.オンプレミス環境で動くクラウドのようなシステム 2.統合的なシステムによる運用管理の自動化、運用の省力化 3.アプリケーションの継続的な開発サイクル 4.アプリケーションの継続的なアップデートサイクル

Slide 57

Slide 57 text

これで 56 DXに必要なことが できるようになった

Slide 58

Slide 58 text

57 これらの事が できるようになるには どんな学習が必要?

Slide 59

Slide 59 text

Kubernetesを使えるようになるためには? 58 Kubernetesを独学で 身につけるのは困難です スタイルズは Kubernetesのレクチャーと PoCでの学習サポートを提供しています

Slide 60

Slide 60 text

Kubernetesレクチャー学習内容(1) 59 ■Dockerの基本について ・コンテナと仮想マシン との違い ・メリット ・コンテナイメージとコ ンテナの違い ・Docker Hubについて ■Dockerインストール方 法 ■Dockerコマンド基礎 ・run、ps、stop ・exec ■Dockerコマンドオプシ ョン ■Dockerコンテナイメー ジ操作 ・pull、rm、purge ■Dockerのネットワーク ・IPアドレス ・外部から接続方法 ■Dockerボリューム ・ローカルをマウントす る ■DockeHub操作 ・pull、push ■Dockerコンテナビルド ・build ■Kubernetesの基本につ いて ・Dockerとの違い ・メリット ・アーキテクチャ ■K3Sインストール方法 ■kubectlインストール 方法 ■kubectlコマンド基礎 ・run、apply、delete ・get、describe、logs、 exec ■kubectclコマンドオプ ション ■Kubernetesのネットワ ーク ・IPアドレス ・外部から接続方法 ■Kubernetesボリューム ・ローカルをマウントす る ■リソースの種類の説明 ・Pod ・Replicaset ・Deployment ・Service ・Service(NodePort) ・Service(LoadBalancer) ・Ingress ・Volume ・PersistenceVolume ■Rancherの基本につい て ・ログイン ・基本操作 ・クラスターの追加 ・各種リソースの確認 ■Rancherの基本 ・Kubernetesとの役割分 担 ■K3Sの基本について ・Kubernetesとの違い ・メリット ・kubectl接続方法 ・Rancherへの接続 ■Helmについて ・helmインストール方 法 ・helmでのアプリイン ストール ・helmコマンドオプシ ョン ■Helmチャート ・Helmチャートの基本 ・作り方 ■ストレージ ・ストレージクラス ■Rancherカタログ ・Helmチャートから Rancherカタログへの変 換 Dockerの基礎 Dockerの操作 Kubernetesの 基礎 Kubernetesの 詳細 Rancherの基本 周辺コマンドの 紹介

Slide 61

Slide 61 text

Kubernetesレクチャー学習内容(2) 60 ■Ingress ・L7パスルーティング ・ホスト名接続 ■DNSサーバー ・外部DNS ・クラスター内DNSにつ いて ■コンテナイメージの配 布 ・Harborの構築 ・Harborのユーザー管理 ・コンテナイメージプロ キシー ・コンテナイメージのレ プリケーション ■Kubernetesで使うコン テナイメージ ・作り方 ・注意点 ・ヘルスチェック ■カメラ等のDevice ・コンテナからカメラ Deviceを接続する ・コンテナからGPIOを 操作する ■コンテナのデプロイ ・Fleetコマンドの基本 ・GitOpsの基本 ・RancherからGitOps設 定 ・ローリングアップデー ト ■GitLabでのDockerイメ ージ自動ビルド ・GitLab Runnerのイン ストール ・GitLabへのRunnerの登 録 ・.gitlab-ci.yamlの基本 ・.gitlab-ci.yamlのコマン ド ・dockerイメージのビル ドとpush ■GitLabとRunner ・リポジトリへの組み込 み連携 ■Triton Inferenceサーバ ー ・Inferenceサーバーの基 礎 ・モデルの導入方法 ・コンテナへの組み込み ・モデルの切り替え ・メトリックスの取得 ■複数のアプリケーショ ンを連携させる ・Pythonフレームワーク をコンテナイメージに組 み込む ■K3Sのログ管理 ・Rancherによるログ収 集 ・efkによるログの集計 と表示 ■Kubernetesのリソース 監視 ・監視の基本 ・Prometheusエクスポ ーター ・CPU、メモリー、Disk 監視 ・コンテナのパフォーマ ンス監視 ■Kubernetesのユーザー 管理 ・RancherでのID管理 ・Rancherプロジェクト の管理 ■その他のツール ・k9s ・Kustomize ・Helmfile ・k3d ・k3ai ・VSCode ・kpt ■Kubernetesで動かすツ ール類 ・Minio(S3互換) ・GitLab Runner ・Harbor(DockerRegistry 互換) ・CoreDNS ネットワークと イメージ管理 コンテナー イメージビルド CI/CD パイプライン 推論サーバー について Kubernetes ログ、リソース 周辺ツール紹介

Slide 62

Slide 62 text

まとめ 61 コンテナを使ったオーケストレーションツールによりDX! AI/Edgeプラットフォームは更新サイクルが重要 更新サイクルを回すためのオーケストレーションツール Kubernetesはコンビニエンスストア Kubernetesはコンテナを管理するツール コンテナは冷凍餃子みたいなもの KubernetesでDXに必要なことができるようになった Kubernetesの学習に必要なレクチャーを提供

Slide 63

Slide 63 text

AI/IoT環境のことならスタイルズまで 62 Kubernetes(K3S)はサーバー集中管理基盤です RancherはKubernetes運用基盤です Kubernetes/Rancher講習会も提供しています GitLabによるCI/CDコンサルも提供しています スタイルズはSUSE Rancher 国内の正規パートナーです 株式会社スタイルズ 〒101-0052 東京都千代田区神田小川町1−2 風雲堂ビル 6F http://stylez.co.jp http://nextcloud.stylez.co.jp Kubernetes/Rancher/Fleetにご興味がありましたら、お声がけください 2020年5月より菱洋エレクトログループに入りました