changeset 9:bf3c55a19edb

update tex
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Tue, 04 Aug 2020 17:36:46 +0900
parents aa9a8f31b61d
children e4de1a56f77f
files paper/mk-wm.pdf paper/mk-wm.tex
diffstat 2 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
Binary file paper/mk-wm.pdf has changed
--- a/paper/mk-wm.tex	Tue Aug 04 16:41:57 2020 +0900
+++ b/paper/mk-wm.tex	Tue Aug 04 17:36:46 2020 +0900
@@ -219,13 +219,13 @@
 \end{figure}
 
 \subsection{Web コンソール}
-Web コンソールは本コースの学生や教員が利用するため, 学科のアカウントでログインできる LDAP 認証が必須である。
-また, GUI で操作するため, 新しく GUI の操作に慣れる必要があることから, ユーザが操作しやすい必要がある。\par
+Web コンソールは本コースの学生や教員が利用するため, 学科アカウントでログインできる必要がある。学科の LDAP サーバを利用して学科アカウントで LDAP 認証を実装する。\par
 Docker の操作や Kubernetes の操作を行う HTTP API はセッション管理を行わないため, Web コンソールで管理する必要がある。
 そのため, ユーザのコンテナやイメージの情報をデータベースに格納して管理する。
-ユーザのアカウントID と コンテナに紐づけられたアカウントID が等しい場合のみ操作を行うことができる。そのため, 他のユーザのコンテナやイメージを操作できない。
-また, ユーザが作成する Docker イメージは他のユーザに共有や非共有ができる。共有されたイメージは共有イメージの一覧に表示され, 他のユーザがコンテナ作成時に利用することができる。
-コンテナ作成時にイメージの確認が行われることで, 非共有に設定したイメージを他のユーザが利用することはできない。
+ユーザが作成する Docker イメージの情報を取得しユーザのアカウントID と紐付けを行う。また, 作成した Docker イメージは共有することができ, 共有されたイメージはユーザのイメージ一覧とは別の一覧で確認することができる。
+ユーザはコンテナ作成時にイメージを入力することができる。この時, 他のユーザの作成したイメージの場合, そのイメージが共有されたイメージなのか確認を行うことで, 非共有に設定されたイメージではコンテナの作成はできない。
+コンテナの操作を行う時, コンテナに紐づけられたアカウントID との確認が行われることで, 他のユーザのコンテナを操作することはできない。
+同様にイメージの削除を行う時にもアカウントID の確認が行われる。
 
 \subsection{Docker の操作}
 Docker は Docker Engine API を提供している。Docker デーモンは指定した IP アドレスと ポート を リッスンする。 IP アドレスと ポートの指定を行うことで外部から Docker の操作が可能になる。
@@ -242,12 +242,14 @@
 \end{itemize}
 
 コンテナは, 表\ref{tb:wmcon} で入力した情報を下に作成を行う。コンテナ名は Web コンソールからリクエストを送るタイミングで補完される。
-また, コンテナが属するネットワーク名も補完される。リクエストからコンテナを作成後, 作成したコンテナID や ネットワークID を返却する。
+また, コンテナが属するネットワーク名も補完される。リクエストは JSON 形式で受け, JSON 形式でレスポンスを返す。
+リクエストからコンテナを作成後, 作成したコンテナID や ネットワークID , コンテナのステータスを返却する。
 返却したコンテナID や ネットワークID を下にコンテナ削除やコマンドの実行, ファイルの送信を処理する。
+だが, ファイルの送信では JSON 形式ではなく multipart/form-data 形式でリクエストを受ける。\par
 Docker イメージは GitLab CI/CD を利用して作成するが, Build が成功したかを判断することはできない。
 そのため, Web コンソール側から 5 分に一度イメージの更新リクエストが送られ, Docker イメージの一覧をリストにまとめ返却を行う。\par
 ユーザが作成するコンテナとは別に GitLab CI/CD で Docker イメージを Build するための GitLab Runner を立てる必要がある。
-立ち上げはユーザが Web コンソールで CI/CD トークンの設定時に行われる。GitLab Runner はユーザごとに立ち上げることで, 複数のユーザが同時に Build を行うことができる。
+立ち上げはユーザが Web コンソールで CI/CD トークンの設定時に行われる。GitLab Runner をユーザごとに立ち上げることで, 複数のユーザが同時に Build を行うことができる。
 
 \subsection{Kubernetes の操作}
 実装には Kubernetes の操作を行うためのライブラリである client-go \cite{kubecli} を使用する。