2: 2021-07-10 (土) 18:00:39 iseki |
現: 2021-08-30 (月) 00:44:38 iseki |
| #br | | #br |
| | | |
- | *** Jupyter [#k1dde0e7] | + | *** [[JupyterHub]] [#k1dde0e7] |
- | + [[JupyterHub]] | + | - [[JupyterHub/DockerSpawner]] |
- | -- [[DockerSpawner>JupyterHub/DockerSpawner]] △ | + | #br |
- | -- [[SystemUserSpawner>JupyterHub/SystemUserSpawner]] 〇 | + | |
- | --- jovyan を潰すには [[start.sh>JupyterHub/DockerSpawner/start.sh]] を弄る.[[Hack>JupyterHub/DockerSpawner#gdd93e11]] of start.sh | + | **** [[SystemUserSpawner>JupyterHub/SystemUserSpawner]] [#k9378a63] |
- | + Jupyterのログイン用 Ldapモジュールは ユーザバンドが可能 | + | - jupyterhub_config.py でモジュールの拡張 |
- | + [[SystemUserSpawner>JupyterHub/SystemUserSpawner]] の個人ユーザのディレクトリのマウントについて | + | -- ユーザ毎に違うボリュームをマウント可能. |
- | -- passwd 情報は getent passwd を ssh で実行してファイルを作り,Web を中継して持ってくる | + | -- jupyter のDocker イメージの [[start.sh>JupyterHub/DockerSpawner/start.sh]] の改造.[[start.sh(改)>JupyterHub/DockerSpawner/start.sh-kai]] |
| + | -- SystemUserSpawnerクラスを継承してホームディレクトリの処理./home/{groupname}/{username} |
| + | |
| + | - ユーザのグループ情報を反映(個人ユーザのディレクトリのマウント) |
| + | -- passwd 情報は getent passwd を ssh で実行してファイルを作り,Webサーバ を中継して持ってくる |
| --- [[NSS]] の [[nss-altfiles>NSS]] を使用してシステムに取り込む | | --- [[NSS]] の [[nss-altfiles>NSS]] を使用してシステムに取り込む |
- | --- LDAP(AD) Server ----> 大学管理ホスト(getent passwd) ----> ローカル管理Webサーバ (ssh) ----> 対象サーバ(nss: nss-altfiles) | + | --- LDAP(AD) Server ----> 大学管理ホスト(getent passwd) <---- ''ローカル管理Webサーバ (ssh, webサーバ) ''----> 対象サーバ(wget, curl, nss: nss-altfiles) |
| + | ---- 一年に一回でよろし. |
| + | -- [[start.sh>JupyterHub/DockerSpawner/start.sh]] の改造.[[start.sh(改)>JupyterHub/DockerSpawner/start.sh-kai]] |
| + | #br |
| + | |
| + | **** 認証モジュール [#xcf64160] |
| + | - [[LDA認証モジュール>JupyterHub#n1c54d11]] |
| + | -- Jupyterのログイン用 Ldapモジュールは ユーザバンドが可能.検索さえできれば,管理者のパスワードは不要. |
| + | - [[LTI認証モジュール>JupyterHub#m4467ad6]] (Learning Tools Interoperability) |
| + | -- Moodle との連携が可能. |
| #br | | #br |
| | | |
| *** 課題 [#yed628e3] | | *** 課題 [#yed628e3] |
- | - ホームディレクトリの自動生成.(''Jupyterとの連携'') | + | - %%ホームディレクトリの自動生成.(''Jupyterとの連携'')%% |
| - 教材配布 | | - 教材配布 |
| -- ''グループ登録UI'' | | -- ''グループ登録UI'' |
- | - | + | |
| + | #br |
| + | |
| + | **** Group ID を元に任意のボリュームをマウント [#k5f5944c] |
| + | - https://qiita.com/marufeuille/items/62e3a842f7a039c35aac |
| + | -- グループID以外をキーにしても任意のボリュームをマウントできる.(ようにできる) |
| + | #br |
| + | |
| + | **** 書き換えるファイル [#mc639a0c] |
| + | - /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/jupyterhub/spawner.py |
| + | -- 継承を使えば不要. |
| + | |
| + | - /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/* |
| + | -- /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/systemuserspawner.py |
| + | --- 継承を使えば不要. |
| + | -- /usr/local/anaconda/envs/jupyterhub/lib/python3.8/site-packages/dockerspawner/nsldockerspawner.py (追加) |
| + | --- 新しく作る場合 |
| + | |
| + | - コンテナ内:/usr/local/bin/start.sh |
| + | -- こいつの書き換えは必須! |
| + | #br |
| + | *** [[Moodle+JupyterHub]] に統合 [#l139818b] |
| #br | | #br |