# HG changeset patch # User Ken Miyahira # Date 1596696144 -32400 # Node ID 5ae4054bcc943ec9fe19c69d5b8f33de290380e8 # Parent e4de1a56f77f35d1bc82c0137a1f7e40843e7bea update tex diff -r e4de1a56f77f -r 5ae4054bcc94 paper/mk-wm.pdf Binary file paper/mk-wm.pdf has changed diff -r e4de1a56f77f -r 5ae4054bcc94 paper/mk-wm.tex --- a/paper/mk-wm.tex Wed Aug 05 18:39:09 2020 +0900 +++ b/paper/mk-wm.tex Thu Aug 06 15:42:24 2020 +0900 @@ -89,6 +89,60 @@ このコンテナ貸出サービスでは, Web コンソールからコンテナの操作を行うことで他ユーザのコンテナへの操作をさせない。また, 本コースの類似サービスの課題でもあったデータの永続化を Singularity で, 外部リポジトリの利用を Docker の操作を HTTP API で提供することで解消する。 +\section{技術概要} +本研究で必要な技術概要を述べる。 + +\subsection{Docker} +Docker とは OS レベルの仮想化技術を利用して, ソフトウェアをコンテナと呼ばれるパッケージで提供する。またコンテナの実行だけでなく, +コンテナの実行に用いるイメージの作成やイメージを共有する仕組みを持つコンテナ管理ソフトウェアである。 +コンテナの実行には Docker 社が提供している Docker Hub に登録されているイメージ, Dockerfile を用いて作成したイメージを利用することができる。 +Dockerfile を用いることで, 必要なソフトウェアや各種設定を含んだイメージを作成できる。 + +\subsection{Kubernetes} +Kubernetes とは, アプリケーションのデプロイ, スケーリング, 及び管理を用意にするためのコンテナを動的管理するコンテナオーケストレーションである。 +Kubernetes ではオブジェクトによりクラスターの状態を表現する。オブジェクトはコンテナだけでなく, ネットワークやストレージ, 接続ポリシーの望ましい状態を記述できる。 +本研究では以下のオブジェクトを主に利用する。 +\begin{itemize} + \item Pod + \begin{itemize} + \item Kubernetes で作成, 管理できる最小単位。Pod 内に 1 つ以上のコンテナを起動できる。 + \end{itemize} + + \item ReplicaSet + \begin{itemize} + \item 安定した Pod の維持を行い, クラスタで必要な Pod 数を管理する。Pod のセルフヒーリングを行う。 + \end{itemize} + + \item Deployment + \begin{itemize} + \item ReplicaSet のロールアウトを図るなど, 管理を行う。 + \end{itemize} + + \item Service + \begin{itemize} + \item Pod にアクセスするための IP アドレスやポートを割り振る。 + \end{itemize} + + \item Ingress + \begin{itemize} + \item 外部からのアクセスを管理する。負荷分散, SSL 終端, 名前ベースの仮想ホスティングの機能を提供する。 + \end{itemize} + + \item Role + \begin{itemize} + \item 仮想クラスタとしてグループ化して取り扱える。 + \end{itemize} + + \item RoleBinding + \begin{itemize} + \item ユーザやグループに Role を関連付ける。 + \end{itemize} +\end{itemize} + +\subsection{Singularity} + + +\subsection{GitLab} \section{本コースの類似サービス} 本サービスに類似したサービスとして, libvirt の CLI である virsh をラップしマルチユーザ VM 環境を提供する ie-virsh。