10: 2021-10-15 (金) 11:10:04 iseki |
11: 2021-10-16 (土) 09:55:04 iseki |
| - 環境変数を使用した start.sh による Jupyter Lab/Notebook コンテナの動作制御. | | - 環境変数を使用した start.sh による Jupyter Lab/Notebook コンテナの動作制御. |
| #br | | #br |
- | - 教師ユーザと学生ユーザの分離. | + | - 以下の機能をコースの外部サービス毎に設定可能 |
- | - ユーザ毎の Volume のマウント,及びアクセス権(教師と学生)の設定. | + | -- 教師ユーザと学生ユーザの分離. |
- | -- 教材の配布と収集に便利 | + | -- ユーザ毎の Volume のマウント,及びアクセス権(教師と学生)の設定. |
- | - Volume への任意名でのアクセス. | + | --- 教材の配布と収集に便利 |
- | - 起動イメージのリモート選択.表示名のフィルタリング.Jupyter Lab/Notebook でないイメージを選択すると漏れなく死にます :-o | + | -- ユーザの作業用 Volumeの設定 |
- | - 起動 URL(Lab/Notebook)の選択. | + | -- Volume への任意名でのアクセス. |
- | - %%iframe サポート%% 一部のみサポート:動くための条件がシビア(tornado のバージョンやブラウザの種類によって条件が変わる) | + | -- 起動イメージのリモート選択.表示名のフィルタリング.Jupyter Lab/Notebook でないイメージを選択すると漏れなく死にます :-o |
- | - CPU/Momery の制限 | + | -- 起動 URL(Lab/Notebook)の選択. |
| + | -- %%iframe サポート%% 一部のみサポート:動くための条件がシビア(tornado のバージョンやブラウザの種類によって条件が変わる) |
| + | -- CPU/Momery の制限 |
| #br | | #br |
| | | |
| - ボリューム名には小文字のアルファベット・数字以外は使用できない.特殊文字も使用できない.(snake_case) | | - ボリューム名には小文字のアルファベット・数字以外は使用できない.特殊文字も使用できない.(snake_case) |
| - 大文字のボリューム名は小文字に変換される. | | - 大文字のボリューム名は小文字に変換される. |
- | - 同じボリューム名・アクセス名を指定した場合は,最初の物が優先される. | + | - ボリュームに対して同じボリューム名・アクセス名を指定した場合は,最初の物が優先される. |
| - 一個の JupyterHub に対して複数の Moodle からのアクセスをサポート | | - 一個の JupyterHub に対して複数の Moodle からのアクセスをサポート |
| + | - アクセス名の先頭に - を付けた場合は,教師ユーザのみシンボリックリンクが張られる |
| | | |
| + | - 注)アクセス名:ボリュームへ張られるシンボリックリンクの名前 |
| #br | | #br |
| | | |
| | | |
| **** [[Docker]] を使う場合 [#d9c2f77c] | | **** [[Docker]] を使う場合 [#d9c2f77c] |
- | + ユーザのホームディレクトリについて,ユーザが書き込み可能であること. | + | - JupyterHub/Docker が起動するホスト上にアクセス用ユーザを用意する. |
- | ++ CentOS8 で嵌った.ユーザを dockerにしたんだが,dockerのホームディレクトリなのに,dockerが書き込み可能でなかった. | + | -- アクセス用ユーザのホームディレクトリについて,アクセス用ユーザが書き込み可能であること. |
- | + ユーザが docker のグループに属していること(UNIXソケットファイルにアクセスするため). | + | --- CentOS8 で嵌った.ユーザを dockerにしたんだが,dockerのホームディレクトリなのに,dockerが書き込み可能でなかった. |
- | + ユーザのログインシェルは不要 | + | -- アクセス用ーザが docker のグループに属していること(UNIXソケットファイルにアクセスするため). |
| + | -- アクセス用ユーザのログインシェルは不要 |
| #br | | #br |
| | | |
| **** [[Podman]] を使う場合 [#nd0d330c] | | **** [[Podman]] を使う場合 [#nd0d330c] |
- | - docker と同じようにする. | + | - JupyterHub/Podman が起動するホスト上にアクセス用ユーザを用意する. |
- | -- podman の場合は podman-remote か podman --remote コマンドを使用する | + | -- アクセス用ユーザのログインシェルは不要 |
- | - socket は /var/run/podman/podman.sock | + | -- Moodleホストからのアクセスには podman-remote か podman --remote コマンドを使用する |
| + | |
| + | - Podman が起動するホスト上の socket は /var/run/podman/podman.sock |
| -- /var/run/podman/ のパーミッションを drwxrws--- とし,グループを root 以外に設定. | | -- /var/run/podman/ のパーミッションを drwxrws--- とし,グループを root 以外に設定. |
- | -- socket を読み書きできるユーザを作成する. | + | -- socket を読み書きできるアクセス用ユーザを作成する(グループが同じになるようにする). |
- | --- podman グループを作成した場合 (root podman drwxrws---) | + | --- 例えば podman グループ(アクセス用ユーザはこのグループに参加する必要がある)を作成した場合 (root podman drwxrws---) |
| [Unit] | | [Unit] |
| Description=Podman API Socket | | Description=Podman API Socket |
| | | |
| - feserver フロントエンドサーバ(TCP中継サーバ) | | - feserver フロントエンドサーバ(TCP中継サーバ) |
- | - MITM 的動作を行う私的試験用ツール.(一応公開もしている) | + | - MITM 的動作を行う私的試験用ツール.(一応公開もしている. svn co http://www.nsl.tuis.ac.jp/svn/linux/feserver/trunk feserver) |
| - 各種モジュールを読み込むことにより,色々な通信データの処理が可能. | | - 各種モジュールを読み込むことにより,色々な通信データの処理が可能. |
| - コンパイルに [[JunkBox_Lib]] が必要 | | - コンパイルに [[JunkBox_Lib]] が必要 |
| + | # svn co http://www.nsl.tuis.ac.jp/svn/linux/JunkBox_Lib/trunk JunkBox_Lib |
| + | # cd JunkBox_Lib |
| + | # ./config.sh |
| + | # ./configure --enable-ssl |
| + | # make |
| + | # cd .. |
| + | # svn co http://www.nsl.tuis.ac.jp/svn/linux/feserver/trunk feserver |
| + | # cd feserver |
| + | # make |
| + | # vi nbsw.conf |
| + | # ./fesvr ...... -m feplg_nbws.so --conf nbsw.conf |
| #br | | #br |
| + | |
| **** 起動例 [#d9e04c03] | | **** 起動例 [#d9e04c03] |
| - ./fesvr -h 172.22.1.75:8000 -p 9000 -m feplg_nbws.so -c -s --conf nbsw.conf | | - ./fesvr -h 172.22.1.75:8000 -p 9000 -m feplg_nbws.so -c -s --conf nbsw.conf |
| -- -c : クライアントに対してSSL/TLS接続になる(fesrv はSSL/TLSサーバとなる). | | -- -c : クライアントに対してSSL/TLS接続になる(fesrv はSSL/TLSサーバとなる). |
| -- --conf : 設定ファイル指定 | | -- --conf : 設定ファイル指定 |
- | -- --cert : -c を指定した場合のサーバ証明書:PEM形式. デフォルトは /etc/pki/tls/certs/server.pem | + | -- --cert : -c を指定した場合のサーバ証明書:PEM形式.設定ファイル内でも指定可能. デフォルトは /etc/pki/tls/certs/server.pem |
- | -- --key : -c を指定した場合のサーバの秘密鍵:PEM形式.デフォルトは /etc/pki/tls/private/key.pem | + | -- --key : -c を指定した場合のサーバの秘密鍵:PEM形式.設定ファイル内でも指定可能. デフォルトは /etc/pki/tls/private/key.pem |
| #br | | #br |
| | | |