changeset 7:790bc05dc78c

update tex, mm
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Tue, 04 Aug 2020 15:34:49 +0900
parents db794a6414e4
children aa9a8f31b61d
files mm/mk-sigiot.mm mm/mk-sigiot.pdf paper/mk-wm.bib paper/mk-wm.pdf paper/mk-wm.tex
diffstat 5 files changed, 16 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mm/mk-sigiot.mm	Mon Aug 03 18:09:52 2020 +0900
+++ b/mm/mk-sigiot.mm	Tue Aug 04 15:34:49 2020 +0900
@@ -67,6 +67,9 @@
 <node CREATED="1596258014759" ID="ID_444519099" MODIFIED="1596258020768" TEXT="CI/CD &#x30c8;&#x30fc;&#x30af;&#x30f3;&#x306e;&#x8a2d;&#x5b9a;"/>
 <node CREATED="1596258021397" ID="ID_210379123" MODIFIED="1596258031320" TEXT="GitLab Runner &#x306e;&#x4f5c;&#x6210;"/>
 </node>
+<node CREATED="1596445900887" ID="ID_249627252" MODIFIED="1596445906833" TEXT="Json&#x5f62;&#x5f0f;">
+<node CREATED="1596445907244" ID="ID_1036529237" MODIFIED="1596445938660" TEXT="&#x30ea;&#x30af;&#x30a8;&#x30b9;&#x30c8;&#x306a;&#x3069;&#x3067;&#x9001;&#x4fe1;&#x3059;&#x308b;&#x30c7;&#x30fc;&#x30bf;&#x306e;&#x8a73;&#x7d30;&#x306f;&#x5fc5;&#x8981;&#x306a;&#x306e;&#x304b;?"/>
+</node>
 </node>
 <node CREATED="1596257863021" ID="ID_9116066" MODIFIED="1596257865905" TEXT="NagiKube">
 <node CREATED="1596258071662" ID="ID_57220587" MODIFIED="1596258074342" TEXT="&#x30b3;&#x30f3;&#x30c6;&#x30ca;&#x95a2;&#x9023;">
@@ -78,6 +81,7 @@
 <node CREATED="1596258130401" ID="ID_367785063" MODIFIED="1596258136404" TEXT="Role &#x306e;&#x5b9a;&#x7fa9;"/>
 <node CREATED="1596258136865" ID="ID_1641138387" MODIFIED="1596258141789" TEXT="Role Binding &#x306e;&#x5b9a;&#x7fa9;"/>
 </node>
+<node CREATED="1596445941928" ID="ID_1891428669" MODIFIED="1596445944652" TEXT="Json&#x5f62;&#x5f0f;"/>
 </node>
 </node>
 <node CREATED="1596258187197" ID="ID_346421964" MODIFIED="1596258200608" TEXT="Web &#x30b5;&#x30fc;&#x30d3;&#x30b9;">
Binary file mm/mk-sigiot.pdf has changed
--- a/paper/mk-wm.bib	Mon Aug 03 18:09:52 2020 +0900
+++ b/paper/mk-wm.bib	Tue Aug 04 15:34:49 2020 +0900
@@ -3,7 +3,7 @@
 title ="{https://sylabs.io/singularity/}",
 }
 
-@manual{dockercli,
+@manual{sdk,
 author = "{Docker Engine API}",
 title ="{https://docs.docker.com/engine/api/}",
 }
Binary file paper/mk-wm.pdf has changed
--- a/paper/mk-wm.tex	Mon Aug 03 18:09:52 2020 +0900
+++ b/paper/mk-wm.tex	Tue Aug 04 15:34:49 2020 +0900
@@ -196,8 +196,12 @@
 \end{figure}
 
 \section{サービスの実装}
-本コースでは ブレードサーバが 4 台導入され, 1 台に 1 つ GPU が搭載されている。コンテナ貸出サービスの機能を 1 つにまとめると Docker の操作が 1台のブレードサーバのみになる。
-そこで, 機能ごとに以下の 3 つにサービスに分ける。また, Docker や Kubernetes の操作を HTTP API で提供することで, 図\ref{fig:api} のようにリクエスト先の変更にで複数のブレードサーバにコンテナを分散することができる。
+本コースでは学科システムを教員の指導の下, 学生主体でシステム管理チームと呼ばれる組織によって構築・運用・管理が行われている。
+学科システムはブレードサーバを 4 台, SAN 用ストレージと汎用ストレージをそれぞれ 2台ずつ導入している。本コースの基幹サービスはこのブレードサーバの仮想環境上で VM として動作している。
+新たにサービスを実装するとなると, システム管理チームが運用・管理を行いやすい実装にする必要がある。\par
+Web コンソールや Docker の操作を 1 つにまとめると, Docker コンテナの作成が 1台のブレードサーバのみになってしまう。
+そこで, コンテナ貸出システムは, 機能ごとに以下の 3 つにサービスに分ける。
+Docker や Kubernetes の操作を HTTP API で提供することで, 図\ref{fig:api} のようにリクエスト先の変更で複数のブレードサーバにコンテナを分散することができる。
 だが, 現時点では未実装である。\par
 実装にはDocker や Kubernetes の実装言語であり, 操作するためのライブラリが揃っている Go 言語を使用する。
 \begin{itemize}
@@ -218,14 +222,15 @@
 Web コンソールは本コースの学生や教員が利用するため, 学科のアカウントでログインできる LDAP 認証が必須である。
 また, GUI で操作するため, 新しく GUI の操作に慣れる必要があることから, ユーザが操作しやすい必要がある。\par
 Docker の操作や Kubernetes の操作を行う HTTP API はセッション管理を行わないため, Web コンソールで管理する必要がある。
-そのため, ユーザのコンテナやイメージをデータベースに格納して管理する。
+そのため, ユーザのコンテナやイメージの情報をデータベースに格納して管理する。
 ユーザのアカウントID と コンテナに紐づけられたアカウントID が等しい場合のみ操作を行うことができる。そのため, 他のユーザのコンテナやイメージを操作できない。
-また, ユーザが作成する Docker イメージは他のユーザに共有や非共有ができる。共有されたイメージは共有イメージの一覧に表示され, 他のユーザがコンテナを作成する時に利用することができる。
+また, ユーザが作成する Docker イメージは他のユーザに共有や非共有ができる。共有されたイメージは共有イメージの一覧に表示され, 他のユーザがコンテナ作成時に利用することができる。
 コンテナ作成時にイメージの確認が行われることで, 非共有に設定したイメージを他のユーザが利用することはできない。
 
 \subsection{Docker の操作}
-実装には Docker の操作を行うための SDK である Docker client \cite{dockercli} を使用する。
-Docker は sock に対して curl コマンドで操作できる HTTP API を提供している。sock だと複数のサーバに対応できないため, Go で HTTP API を実装する。\par
+Docker は Docker Engine API を提供している。Docker デーモンは指定した IP アドレスと ポート を リッスンする。 IP アドレスと ポートの指定を行うことで外部から Docker の操作が可能になる。
+だが, Dockr デーモンが稼働しているホスト上の root アクセスを得られるため, 推奨されてない。
+また, 本論文で実装するサービスでは Docker のすべての操作を必要としない。そこで, Docker の操作を行うための SDK \cite{sdk} を使用し, 必要な機能のみを実装する。\par
 サービスを提供する上で Docker の必要となる操作は以下である。
 \begin{itemize}
   \item コンテナの作成
@@ -234,7 +239,6 @@
   \item コンテナへファイル送信
   \item イメージ一覧の取得
   \item イメージの削除
-  \item GitLab Runner の作成
 \end{itemize}