TOP /  ミドルウェア /  【ユーザー企業優先】コンテナ技術の製造業における活用事例と、AWSかオンプレかの検討

【ユーザー企業優先】コンテナ技術の製造業における活用事例と、AWSかオンプレかの検討 | ミドルウェア

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該イベントの主催・共催・協賛・講演企業とも共有させていただき、 当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

メールアドレス


法人様向けの資料のため、フリーアドレスをご利用の場合は、会社名、お名前を入力してください。
会社名
お名前

Docker、Kubernetesなど「コンテナ技術」の基礎と製造業における活用事例  (株式会社デージーネット 大野公善氏)

コンテナ技術を安心安全に実現する高スペックデータセンターのご紹介  (日本システムウエア株式会社 原田氏・角矢氏)

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該イベントの主催・共催・協賛・講演企業とも共有させていただき、 当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

メールアドレス


法人様向けの資料のため、フリーアドレスをご利用の場合は、会社名、お名前を入力してください。
会社名
お名前

セミナー全体の評価と、参加者からのコメント

参加者によるこのセミナーの評価は、
3.5 でした!(5点満点中)
セミナー名 【ユーザー企業優先】コンテナ技術の製造業における活用事例と、AWSかオンプレかの検討
講演企業 株式会社デージーネット 、日本システムウエア株式会社
開催日 2019年05月17日
株式会社東京カンテイ 武田治さん
コメントなし
匿名の参加者
コメントなし
匿名の参加者
Kubernetesについて満偏なく説明があって良かった。
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
もう少し事例に重点を置いて欲しい
匿名の参加者
コンテナの優位性を示すデモがあれば尚良かったと思います(VMWareとの比較など)
匿名の参加者
コメントなし
グリーンスタンプ株式会社 加藤広大さん
事例をメインにしてほしかった。
匿名の参加者
コメントなし
匿名の参加者
コメントなし
有限会社直栄商会 渡邉仁さん
わかりやすかった思います。もっと具体的に知りたい事もあった。 エンジニア向け、管理運営者向け、または経営者向けのセミナーもあってもいいかと思います。
匿名の参加者
コメントなし
匿名の参加者
製造業における活用事例がメインではなかったのがとても残念だった AWSかオンプレかの検討とあったが該当する内容がないように感じた
匿名の参加者
コメントなし

2019年5月17日
Docker、Kubernetesなど「コンテナ技術」の基礎と
製造業における活用事例
自己紹介
株式会社 デージーネット
OSS研究室 部長 大野 公善
2
株式会社デージーネット
プロフィール
設立
1999年5月
本社
愛知県 名古屋市 名東区
東京営業所 東京都 港区 浜松町
企業理念
より良い技術で、インターネット社会の便利と安心に貢献します。
事業内容
オープンソースソフトウェアを中心としたシステムインテグレーション
専門的技術サービスの提供
(全国のISP、ネットサービス、企業、大学等)
設計、構築、運用、管理、保守まですべてをトータルに提供
書籍の出版
3
書籍出版
4
アジェンダ
コンテナとは?
Docker
Dockerとは?
Dockerの特徴
Kubernetes
Kubernetesとは?
Kubernetesの特徴
製造業における活用事例
5
コンテナとは?
コンテナとは?
仮想的な隔離されたユーザ空間を作成し、
その中でアプリケーションを実行するための技術
コンピュータ
コンテナ
コンテナ
ウェブ
アプリケーション
ウェブ
アプリケーション
コンテナ
データベース
6
Docker
Docker
7
Dockerとは?
Dockerとは?
コンテナを実装するためのソフトウェア
2013年にオープンソースソフトウェアとして公開
コンテナ実装ソフトウェアのデファクトスタンダート
Dockerコンテナによる実装
(古くから存在するLinuxコンテナとは異なる実装)
Dockerの提供形態
Docker EE (Enterprise Edition) 商用パッケージ
Linux / Microsoft Windows Server
Docker CE (Community Edition)
Linux / MacOS / Microsoft Windows 10
8
Dockerコンテナの特徴
1) 省リソース
2) ポータブル
3) イミュータブル
4) スクラップ アンド ビルド
9
1) 省リソースであること
【仮想マシン】
仮想サーバ 仮想サーバ 仮想サーバ
アプリケーション アプリケーション アプリケーション
ゲストOS ゲストOS ゲストOS
仮想化ソフトウェア
ホストOS
コンピュータ
仮想マシン(VM)は1台のサーバ上で仮想的に複数の
サーバを起動します。
各VMには、OS、アプリケーション、必要なバイナリ・ライブ
ラリのフルコピーが含まれます。
VMは起動が遅くなることもあります。
10
1) 省リソースであること
【コンテナ】
ゲストOS ゲストOS ゲストOS
コンテナ
コンテナ
アプリケーション
コンテナ
アプリケーション
コンテナ
アプリケーション
コンテナ
仮想サーバ
仮想サーバ 仮想サーバ
【仮想マシン】
仮想化ソフトウェア コンテナエンジン (Docker)
ホストOS ホストOS
コンピュータ コンピュータ
仮想マシン(VM)は1台のサーバ上で仮想的に複数の コンテナは、アプリケーションと必要なバイナリ・ライブラリ
サーバを起動します。 だけをまとめてパッケージ化します。
各VMには、OS、アプリケーション、必要なバイナリ・ライブ 複数のコンテナを1台のサーバで実行します。それぞれの
ラリのフルコピーが含まれます。 コンテナは独立したユーザ空間で動作しますが、カーネ
VMは起動が遅くなることもあります。 ルは他のコンテナと共有します。
コンテナは、VMより少ない領域占有で動作できるため、
より多くのアプリケーションを処理することができます。
11
2) ポータブルであること (1/2)
サイズが小さい
Dockerイメージには、アプリケーションとそれに必要なライブラリ
だけが含まれていればいいので、サイズが小さくて済みます。
例) nginx = 109MB, wordpress = 409MB ...
保存しやすい、運びやすい
サイズが小さいので、容易にDockerイメージを転送したり、保存し
たりすることができます。
コンテナ・レジストリを利用できる
Dockerイメージは、コンテナ・レジストリを使用して管理することが
できます。
クラウドサービスのコンテナ・レジストリである Docker Hub には、
非常にたくさんのDockerイメージが公開されており、自由に使用
することができます。
GitLab等を使用して、プライベート・コンテナ・レジストリを作成す
ることも可能です。
12
2) ポータブルであること (2/2)
すぐに動作する環境を保存できる
ソフトウェアのインストール、設定が完了している環境をDockerイ
メージとして提供できます。
システム構築の工程なしで、サービスを起動できます。
アプリケーションとコンテンツを一緒に管理できる
コンテンツも含めたコンテナを作成すれば、アプリケーションだけで
なくコンテンツのバージョン管理も可能となります。
13
3) イミュータブルであること
イミュータブルとは?
不変であること。
手を加えないこと。
Dockerはイミュータブルなシステム
システムに変更を加えた場合、新しいDockerイメージとして保存・
登録します。
元(変更毎)の環境は、削除しない限り、残ったままです。
確実に動作する環境を保存しておくことができます。
いつでもシステム変更前の状態に戻すことができます。
システム変更前の環境を残しておくことができるため、変更後の環境
で問題が発生した場合、すぐに切り戻しを行なうことができます。
14
4) スクラップ アンド ビルド
スクラップ アンド ビルド が可能
用途に合わせて、自由にコンテナの増減が可能です。
例えば、機械学習で...
データ学習のために大量のデータ投入用コンテナを起動
データ学習が完了したら、データ投入用コンテナを破棄
例えば、IoTシステムで...
テスト運用時には、ひとつのコンテナを起動して、開発&動作確認
動作確認が完了したら、コンテナを増加させてサービス開始
例えば、期間限定サービスで...
期間限定イベント用に大量のコンテナを起動
イベントが終了したら、コンテナを破棄
15
Dockerの運用 (1/2)
Docker HubからDockerイメージを入手して使用する
# docker run nginx
Dockerイメージを自前で作成して使用する
Dockerfileを作成する
【Dockerfile作成例: tomcat用コンテナ】
FROM centos:7
RUN yum install -y java
ADD src/apache-tomcat-9.0.13.tar.gz /opt/
CMD [ "/opt/apache-tomcat-9.0.13/bin/catalina.sh", "run" ]
Dockerイメージを作成する
# docker build -t tomcat:1 .
作成したDockerイメージからコンテナを起動する
# docker run -it -d --name tomcat:1 -p 10080:8080 tomcat:1
16
Dockerの運用 (2/2)
実際にDockerコンテナを利用するためには
下記の検討も必要
Dockerコンテナ間のネットワーク通信
Dockerコンテナの冗長構成
サーバが停止してもサービスを継続できる仕組み
Dockerコンテナが予期せずに停止してもサービスを継続できる仕組み
複数サーバでのDockerコンテナの構成
Dockerコンテナへのアクセス負荷分散
Dockerコンテナの死活監視
複数ホストにまたがるDockerコンテナ間のネットワーク通信
複数ホスト・複数コンテナでデータを共有する仕組み (ストレージ)
Dockerだけでは実装が難しい。実装できないものもある。
これらの問題を解決するために Kubernetes を使用!
17
Kubernetes
Kubernetes
κυβερντη
18
Kubernetes とは?
Kubernetesとは?
下記の実装するためのオープンソースソフトウェア
自動デプロイ
スケール
コンテナアプリケーション管理
コンテナ・オーケストレーションツール の
デファクトスタンダード
19
Kubernetesでできること
オーケストレーション
コンテナの管理 (複数ノードにまたがるコンテナ管理も可能)
負荷分散
オートスケーリング
サービス監視
ノード・コンテナの監視
障害発生時に他のノードでコンテナを起動
ストレージ連携
NFS, Ceph, DRBD-SDS等の共有ストレージを利用可能
ネットワークの管理
コンテナ間のネットワーク通信を実装
flannel, WeaveNet 等のCNI(Container Network Interface)を
利用
20
Kubernetesのシステム構成
Kubernetesの構成要素
Kubernetesマスター
Kubernetesの管理を行なうためのサーバ
kubectl等の管理ツールを使用して、Kubernetesの管理を実施
Kubernetesノード
実際にコンテナを起動するサーバ
複数台の構成が可能
【Kubernetesマスタ】
kube-apiserver
kube-scheduler
【Kubernetesノード】
kubelet
kube-proxy
docker
【Kubernetesノード】
kube-controller-manager
kubelet
etcd
kubectl
kube-proxy
docker
Kubernetesマスタの冗長構成も可能
21
Kubernetesの管理単位 Pod
Pod
1個または複数のアプリケーションコンテナをグルーピング
Pod内のコンテナは、下記のリソースを共有
共有ストレージ
ネットワーク
ユニークなクラスタのIPアドレス
コンテナがどのように動作するかの情報
コンテナイメージのバージョンや利用するポート等
10.244.0.1
コンテナ
10.244.0.2
コンテナ
10.244.0.3
ストレージ
コンテナ
10.244.0.4
ストレージ
コンテナ
Pod 1
コンテナ ストレージ
コンテナ ストレージ
Pod 2
Pod 3
Pod 4
22
Kubernetesの管理手法 Service, Deployment, ReplicaSet
ReplicaSet
指定された数の Pod がいつでも実行されることを保証
例えば、Pod が3個起動されている状態を保持
Deployment
Pod と ReplicaSet を指定した特定の状態に保持
Service
外部からDeploymentに接続するための仕組みを提供
IPアドレスやポート番号を付与
IPアドレスや
ポート番号を付与
Service
ReplicaSet
を管理
Deployment
ポッドの数を管理
ポッド
ReplicaSet
ポッド
ポッド
23
アプリケーションのバージョンアップ
1) バージョンアップ前
ポッド
Deployment
ReplicaSet
ポッド
ポッド
24
アプリケーションのバージョンアップ
2) バージョンアップ中
ポッド
Deployment
ReplicaSet
ポッド
ポッド

ポッド
新ReplicaSet

ポッド

ポッド
25
アプリケーションのバージョンアップ
3) バージョンアップ中
ポッド
Deployment
ReplicaSet
ポッド
ポッド

ポッド
新ReplicaSet

ポッド

ポッド
26
アプリケーションのバージョンアップ
3) バージョンアップ中
Deployment

ポッド
新ReplicaSet

ポッド

ポッド
27
Kubernetesの管理手法 ヘルスチェック, オートスケール
ヘルスチェック
Kubernetesからコンテナの監視を実行
httpやtcpはKubernetesの標準機能で実行可能
その他、任意のコマンドを使用して監視することもで
きる
オートスケール
CPUやメモリの使用量に従って、オートスケールが
可能
この機能を利用すると
負荷の高い時間帯だけ Pod を増加
負荷が低くなれば自動的に Pod を減少
28
Kubernetesの管理手法 ネットワーク
複数サーバにまたがる Pod 間の通信が可能
CNI(Container Network Interface)を使用できる
flannel, WeaveNet等、いくつかのコンポーネントから選択可能
Node
Node
Pod
Node
Pod
Pod
29
Kubernetesの管理手法 永続ストレージ
NFS, Ceph, DRBD-SDS等を永続ストレージとして利用可能
例) Cephを永続ストレージをして利用
Node 1
Node 2
Pod
永続
ストレージ
Node 3
Pod
Pod
永続
ストレージ
永続
ストレージ
Cephストレージ
Ceph
Ceph
Ceph
30
Kubernetesの管理手法 永続ストレージ
NFS, Ceph, DRBD-SDS等を永続ストレージとして利用可能
例) Cephを永続ストレージをして利用
Node 1
Node 2
Pod
永続
ストレージ
Node 3
Pod
Pod
永続
ストレージ
Node 4
永続
ストレージ
Pod
永続
ストレージ
Cephストレージ
Ceph
Ceph
Ceph
Ceph
永続ストレージ
の領域拡張
31
Kubernetesの管理手法 コンテナレジストリ
コンテナレジストリとは?
Dockerイメージを管理するサーバ
Dockerは、コンテナレジストリからDockerイメージをダウンロード
してコンテナを起動する
Kubernetesを使用する場合、コンテナレジストリは必須
Kubernetesは複数のノードで構成される
それぞれのノードは、Dockerイメージをコンテナレジストリからダウ
ンロードして、コンテナを起動
コンテナレジストリが必須
32
Kubernetes環境でのプライベートコンテナレジストリ
my-nginxのコンテナ
を3個起動して!
Kubernetes
マスタ
GitLab
(コンテナレジストリ)
my-nginxのコンテナを起動しろ!
my-nginx の
Dockerイメージ
Kubernetes
ワーカ #1
my-nginxの
コンテナ起動
my-nginx の
Dockerイメージ
Kubernetes
ワーカ #2
my-nginxの
コンテナ起動
my-nginx の
Dockerイメージ
Kubernetes
ワーカ #3
my-nginxの
コンテナ起動
33
コンテナレジストリ
パブリック コンテナ レジストリ
公開されているコンテナレジストリ
Docker Hub が有名
誰でも利用できる
機密情報を扱うような公開できないDockerイメージは置けない
プライベート コンテナ レジストリ
利用できる範囲を制限したコンテナレジストリ
オンプレやプライベートクラウド上に配置する
組織の内部に配置するので、機密性の高いDockerイメージをアッ
プロードしても安心
OSSの GitLab 等を使用可能
機密性の高いコンテナを扱う場合、
プライベートコンテナレジストリが必要
34
Kubernetes デモンストレーション
Kubernetesのデモンストレーション
35
Kubernetesを使用する時に考慮すること (1/2)
Kubernetesを冗長化する
すべてのコンポーネントが冗長化され、障害発生時にサービスを
継続できる構成を検討する必要がある。
Kubernetesマスタの冗長化
Kubernetesノードの冗長化 等
コンテナ構成を検討する
コンテナで提供するサービスが「ステートレス」なのか「ステートフ
ル」なのか?
ストレージを使用する
コンテナで実装するサービスの内容を考慮して、永続ストレージの
使用を検討する必要がある。
柔軟なネットワークを構成する
コンテナ間のネットワークはどのように構成するか
Kubernetesと外部とのネットワークはどのように接続するか 等
36
Kubernetesの利用形態
37
Kubernetesの利用形態
パプリッククラウドで利用する
パブリッククラウドが提供するサービスを利用します。
Amazon Elastic Container Servive for Kubernetes (EKS)
Google Kubernetes Engine (GKE)
Azure Kubernetes Service (AKS)
環境構築をすることなく、Kubernetesを利用することができます。
オンプレミスやデータセンターで利用する
オンプレミスやデータセンターに、組織専用のKubernetes環境を構築
して利用します。
セキュアなコンテナ環境を構築することができます。(機密情報を扱う
等...)
データセンターを利用する場合、ハードウェアのメンテナンスは必要あり
ません。
環境構築が必要です。
(デージーネットのコンサルティング・構築サービスをご利用ください。)
38
お問い合わせ
株式会社 デージーネット
[本社]
052-709-7121
[東京営業所]
03-6809-2189
[ウェブサイトからの問い合わせ]
https://www.designet.co.jp/contact/
[無料資料ダウンロード]
https://www.designet.co.jp/download/
39

他のカテゴリから探す

IT業界の改革にご協力いただけませんか?

本サイトは、株式会社オープンソース活用研究所がプロデュースする、中小IT企業による”本気”の情報提供セミナー「マジセミ」の結果レポートページです。「マジセミ」は、次を目的として活動しています。

我々はITエンジニアが、今よりももっと「誇り」と「喜び」をもって仕事をし、今よりももっと企業や社会に貢献できる、そんなIT業界を創りたいと考えています。

そのためには、技術をもった中小のIT企業がもっと元気になる必要がある。その為には、技術をもった中小のIT企業を、もっと皆様に知って頂く必要がある、と考えました。

株式会社オープンソース活用研究所
代表取締役所長 寺田雄一

本当かウソか、あなたが見極めてください。

もし、我々のこの活動にご賛同していただけるのであれば、ぜひ下のセミナーに参加してください。

「なんだ、結局ただの売り込みセミナーじゃないか」

もしそう感じたら、アンケートなり、あなたのFacebookなりに、そのままお書き頂き、拡散して頂いて構いません。

参加者からのお褒めの言葉、お叱りの言葉が、我々中小IT企業を成長させ、それが日本のIT業界を変えていくのだと、強く確信しています。

あなたの行動が、日本のIT業界を変えるのです。

日程を確認していただき、ご興味のあるセミナータイトルをクリックしてください。

「マジセミ」のFacebookページ

今後のセミナー情報などを提供させていただきたますので、「マジセミ」のFacebookページに「いいね!」をお願いします。

日本のIT業界を変えるためのアクション、ありがとうございました!