Mercurial > hg > Papers > 2021 > mk-thesis
comparison paper/chapter/system_usage.tex @ 27:39b63490ba16
update usage
author | Ken Miyahira <e175733@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 02 Feb 2021 20:06:43 +0900 |
parents | ee9ebfb6b381 |
children | 7154e9689864 |
comparison
equal
deleted
inserted
replaced
26:ee9ebfb6b381 | 27:39b63490ba16 |
---|---|
32 \begin{verbatim} | 32 \begin{verbatim} |
33 $ ie-virsh domiflist [VM_NAME] | 33 $ ie-virsh domiflist [VM_NAME] |
34 \end{verbatim} | 34 \end{verbatim} |
35 | 35 |
36 \section{Containerの利用と管理} | 36 \section{Containerの利用と管理} |
37 \subsection{Podman} | 37 新システムではコンテナエンジンであるPodmanとSingularityを導入した。 |
38 また, PodmanやSingularityを使用する上での不便な点を補うために作成したie-podmanについて説明を行う。 | |
39 | |
38 \subsection{ie-podman} | 40 \subsection{ie-podman} |
41 %Podmanは主にコンテナで実行するプロセスに特権が必要となる場合に利用する。 | |
42 ie-podmanはPodmanをwrappし複数ユーザで利用することができるコンテナ管理ツールである。 | |
43 Podmanはマルチユーザに対応しているため, ie-podmanを利用せずともコンテナの作成などを行える。 | |
44 だが, コンテナへのIPアドレスの割り当てには, root権限が必要となるためrootlessでは実行できない。 | |
45 そのため, Webなどを実行しアクセするにはポートフォワードを設定し, SSHポートフォワードを行う必要がある。 | |
46 そこで, ie-podmanではPodmanのすべての機能をwrappするのではなく, rootlessでは実行できない機能を提供する。 | |
47 表\ref{tb:ie-podman}はie-podmanで利用できる機能である。 | |
48 | |
49 \begin{table}[htb] | |
50 \begin{center} | |
51 \caption{ie-podmanのコマンド} | |
52 \begin{tabular}{c|l} \hline | |
53 build & Containerfileの指示に従いイメージを作成する \\ \hline | |
54 cp & コンテナにファイルを送信する \\ \hline | |
55 exec & 起動中のコンテナでプロセスを実行する \\ \hline | |
56 images & コンテナイメージの一覧を表示する \\ \hline | |
57 info & コンテナの情報を表示する \\ \hline | |
58 logs & コンテナのlogを表示する \\ \hline | |
59 ps & 起動中のコンテナの一覧を表示する \\ \hline | |
60 registry & 学科のレジストリの操作を行う \\ \hline | |
61 rm & コンテナを削除する \\ \hline | |
62 run & コンテナを作成する \\ \hline | |
63 sif & イメージをsifファイルに変換する \\ \hline | |
64 start & コンテナを起動する \\ \hline | |
65 stop & コンテナを停止する \\ \hline | |
66 \end{tabular} | |
67 \label{tb:ie-podman} | |
68 \end{center} | |
69 \end{table} | |
70 | |
71 新しいコンテナの作成は, Podmanのrunと同じように実行できる。 | |
72 しかし, ie-podman独自のオプションを提供する。 | |
73 run時に--gpuオプションを指定することでコンテナ内でGPUを使用できる。 | |
74 また, --ipオプションを指定することで, 使用されていないIPアドレスが割り振られる。 | |
75 コンテナ名は指定することもきるが, ユーザ名で補完されるため, 他ユーザと重複することはない。 | |
76 ie-podmanを使用して, 新しいコンテナの作成は下記のように行う。 | |
77 \begin{verbatim} | |
78 $ ie-podman run --ip --gpu --name [CONTAINER_NAME] [IMAGE] | |
79 \end{verbatim} | |
80 | |
81 現在のPodmanはrootlessでコンテナイメージの作成は低速である。 | |
82 これは, 開発段階ということ, 新システムのユーザのホームディレクトリはCephFSで提供されているためである。 | |
83 ie-podmanはrootのPodmanを利用しSSD上に作成されるため, Podmanと比較し高速である。 | |
84 イメージ名はコンテナ名と同じくユーザ名で補完されることで, 他ユーザと重複することはない。 | |
85 ie-podmanを使用して, 新しいイメージの作成は下記のように行う。 | |
86 \begin{verbatim} | |
87 $ ie-podman build --tag [IMAGE_NAME] [CONTEXT] | |
88 \end{verbatim} | |
89 | |
90 作成したコンテナイメージは下記の操作で一覧を表示することができる。 | |
91 一覧で表示されるイメージはie-podmanで作成したイメージのみである。 | |
92 \begin{verbatim} | |
93 $ ie-podman images | |
94 \end{verbatim} | |
95 | |
96 SingularityはDockerで作成したイメージをsifファイルに変換し, Singualrityで利用できる。 | |
97 sifファイルへの変換はdockerデーモンへリクエストを行う必要があるが, Podmanはデーモンレスで動作する。 | |
98 そのため, Podmanで作成したイメージをSingularityに変換するには一手間掛かる。 | |
99 SingularityはDefinitionfileを作成し, ビルドすることで, sifファイルを作成できる。 | |
100 だが, イメージのビルド中にエラーが発生すると, 一からビルドを行う必要がある。 | |
101 DockerやPodmanはイメージのビルド時にレイヤーごとにキャッシュされるため, Containerfileに追加や編集を行っても前回のキャッシュが使用されることで, 高速にビルドが行われる。 | |
102 そこで, ie-podmanで作成したイメージをsifファイルへ変換する機能を作成した。 | |
103 ie-podmanでイメージを作成し, 下記の操作を行うことでsifファイルへ変換を行う。 | |
104 \begin{verbatim} | |
105 $ ie-podman sif [IMAGE_NAME] | |
106 \end{verbatim} | |
107 | |
108 本コースではコンテナレジストリを導入し利用している。 | |
109 レジストリの利用は学内ネットワークから可能であり, pushやpullが可能である。 | |
110 ie-podmanからだけでなく, Podmanや手元のPCのDockerからも利用できる。 | |
111 レジストリへの登録には, 登録するイメージにtagを付けpushする必要がある。 | |
112 ie-podmanでは本コースのレジストリを利用しやすくするため, 簡単に操作できる機能を作成した。 | |
113 ie-podmanでは下記の操作で本コースで利用するレジストリへ登録できる。 | |
114 \begin{verbatim} | |
115 $ ie-podman registry push [IMAGE_NAME] | |
116 \end{verbatim} | |
117 | |
118 また, registry searchでレジストリに登録されているイメージ一覧を表示することも可能である。 | |
119 下記の操作でイメージ一覧を表示を行う。 | |
120 イメージ名を指定することで, イメージのtag一覧の表示も可能である。 | |
121 \begin{verbatim} | |
122 $ ie-podman registry search | |
123 $ ie-podman registry search [IMAGE_NAME] | |
124 \end{verbatim} | |
125 | |
39 \subsection{SingularityとSlurm} | 126 \subsection{SingularityとSlurm} |