flagflag  
6: 2021-10-02 (Sat) 15:06:01 iseki source 7: 2021-10-02 (Sat) 18:57:11 iseki source
Line 10: Line 10:
- [[LTI Hack>Moodle/Moodle-LTI]] - [[LTI Hack>Moodle/Moodle-LTI]]
- [[LTIDockerSpawner>JupyterHub/LTIDockerS​pawner]] - [[LTIDockerSpawner>JupyterHub/LTIDockerS​pawner]]
 +- [[LTIPodmanSpawner>JupyterHub/LTIPodmanS​pawner]]
 +
- [[mod_ltids]] - [[mod_ltids]]
Line 21: Line 23:
- JupyterHub が動くホストとは別のホストでもOK - JupyterHub が動くホストとは別のホストでもOK
- 外部サービス,Webサービスを使用する. - 外部サービス,Webサービスを使用する.
 +
 +- LTIDockerSpawner を使用する場合はMoodle ホスト側に,少なくとも ''docker-ce-cli''/docker-cli がインストールされている必要がある.
 +- LTIPodmanSpawner を使用する場合はMoodle ホスト側に,少なくとも ''podman-remote'' がインストールされている必要がある.
 +#br
 +
#br #br
Line 31: Line 38:
**** Webサービス [#k4138c47] **** Webサービス [#k4138c47]
- Feserver からの XML-RPC を受け入れて,データをDBに格納する. - Feserver からの XML-RPC を受け入れて,データをDBに格納する.
 +-- データ収集を行わない(Feserverを使用しない)なら,不必要
#br #br
-*** [[Docker]] [#cd2ef212] +*** Container [#od457509] 
-**** CentOS8 [#ufeb99f8]+- Docker または Podman が使用可能 
 +#br 
 + 
 +**** [[Docker]] [#cd2ef212] 
 +- [[LTIDockerSpawner>JupyterHub/LTIDockerSp​awner]] を使用 
 + 
 +- CentOS8
 (base) # dnf config-manager --add-repo https://download.docker.com/linux/centos​/docker-ce.repo  (base) # dnf config-manager --add-repo https://download.docker.com/linux/centos​/docker-ce.repo
 (base) # dnf -y install docker-ce docker-ce-cli containerd.io --nobest --allowerasing  (base) # dnf -y install docker-ce docker-ce-cli containerd.io --nobest --allowerasing
Line 41: Line 55:
 (base) # docker pull jupyterhub/singleuser  (base) # docker pull jupyterhub/singleuser
 (base) # docker pull jupyter/datascience-notebook  (base) # docker pull jupyter/datascience-notebook
 +#br
 +
 +**** [[Podman]] [#k2bdffda]
 +- [[LTIPodmanSpawner>JupyterHub/LTIPodmanS​pawner]] を使用
 +
 +- CentOS8
 + (base) # dnf -y install podman
 + (base) # dnf -y install podman-remote
 + (base) # dnf -y install podman-docker
 +
#br #br
Line 80: Line 104:
**** [[altfiles>NSS]] [#n90bdca5] **** [[altfiles>NSS]] [#n90bdca5]
 +- ユーザの passwd, grouop 情報が必要
- SystemUserSpawner 用の [[NSS]] を使用した システムのユーザ情報の入手方法([[LDAP]] を使用する手もある) - SystemUserSpawner 用の [[NSS]] を使用した システムのユーザ情報の入手方法([[LDAP]] を使用する手もある)
- getent passwd と getent group で情報が取れるようになれば OK - getent passwd と getent group で情報が取れるようになれば OK
Line 129: Line 154:
#br #br
-**** cull_idle_servers.py [#n8a3f52c]+**** cull_idle_servers.py (option)[#n8a3f52c] 
 +- オプション機能.無くても良い. 
 +-- 使用しない場合は,LTIDockerSpawner/LTIPodmanSpawner の設定ファイルの該当部分をコメントアウトする. 
- [[cull_idle_servers>JupyterHub/DockerSpa​wner#zc9428f7]] - [[cull_idle_servers>JupyterHub/DockerSpa​wner#zc9428f7]]
- 接続の切れた docker コンテナを削除 - 接続の切れた docker コンテナを削除
- https://github.com/jupyterhub/jupyterhub​/tree/a6b7e303df03865d6420f6bccdf627b39f​1d0dc1/examples/cull-idle - https://github.com/jupyterhub/jupyterhub​/tree/a6b7e303df03865d6420f6bccdf627b39f​1d0dc1/examples/cull-idle
 +-- 色々と試した中ではこれが一番良かった.
- wget で DLして /usr/local/bin にコピー - wget で DLして /usr/local/bin にコピー
 pip3 install pycurl  pip3 install pycurl
Line 149: Line 178:
#br #br
-*** [[LTIDockerSpawner>JupyterHub/LTIDockerSpawner]] [#k758b918+*** [[LTIContainerSpawner>JupyterHub/LTIContainerSpawner]] [#va019dd5
-- https://gitlab.nsl.tuis.ac.jp/iseki/ltidockerspawner+- https://gitlab.nsl.tuis.ac.jp/iseki/lticontainerspawner 
 +- [[Moodle]](その他の LTIコンシューマ) と [[JupyterHub]] の連携をとるための Spawner クラス.
-- [[Moodle]] [[JupyterHub]] の連携をとるための Spawner クラス.+- LTIContainerSpawner は LTIDockerSpawner と LTIPodmanSpawner を纏めた呼び方. 
 +-- LTIContainerSpawner = LTIDockerSpawner + LTIPodmanSpawner 
 +#br 
 + 
 +**** [[LTIDockerSpawner>JupyterHub/LTIDockerSpa​wner]] [#kfa79499]
- [[SystemUserSpawner>JupyterHub/SystemUse​rSpawner]] クラスを継承. - [[SystemUserSpawner>JupyterHub/SystemUse​rSpawner]] クラスを継承.
-- 現時点(2021/08)では jupyterhub_config.py  の中で実装+- 現時点(2021/10)では ''etc/jupyterhub_docker_config.py'' の中で実装 
 +#br 
 + 
 +**** [[LTIPodmanSpawner>JupyterHub/LTIPodmanS​pawner]] [#u1b06d85] 
 +- [[Podman]] が使用可能 
 +- niklas netter 氏の [[podmanspawner>PodmanSpawner]] を利用 (very thanks!) 
 +-- https://github.com/gatoniel/podmanspawne​r 
 + 
 +- 現時点(2021/10) では pod の起動に Popen() を使用している. 
 +- 設定ファイルは'' etc/jupyter_podman_config.py''
#br #br
Line 166: Line 209:
-- 教材の配布と収集に便利 -- 教材の配布と収集に便利
- Volume への任意名でのアクセス. - Volume への任意名でのアクセス.
-- 起動イメージのリモート選択.Jupyter Lab/Notebook でないイメージを選択すると漏れなく死にます :-o+- 起動イメージのリモート選択.表示名のフィルタリング.Jupyter Lab/Notebook でないイメージを選択すると漏れなく死にます :-o
- 起動 URL(Lab/Notebook)の選択. - 起動 URL(Lab/Notebook)の選択.
-- iframe サポート+- %%iframe サポート%%  動くための条件がシビア(tornado のバージョンやブラウザの種類によって条件が変わる)
- CPU/Momery の制限 - CPU/Momery の制限
#br #br
**** Volume 名に関する制約 [#q7b847fc] **** Volume 名に関する制約 [#q7b847fc]
-- ボリューム名には小文字のアルファベット・数字以外は使用できない.特殊文字も使用できない.+- ボリューム名には小文字のアルファベット・数字以外は使用できない.特殊文字も使用できない.(snake_case)
- 大文字のボリューム名は小文字に変換される. - 大文字のボリューム名は小文字に変換される.
- 同じボリューム名・アクセス名を指定した場合は,最初の物が優先される. - 同じボリューム名・アクセス名を指定した場合は,最初の物が優先される.
Line 182: Line 225:
**** 注意事項 [#n57178a3] **** 注意事項 [#n57178a3]
- %%Moodle で埋め込み(iframe)表示を行う場合は,Moodle と JupyterHub を同じホストにするか,Moodle のホスト上で feserver を動かす.%% - %%Moodle で埋め込み(iframe)表示を行う場合は,Moodle と JupyterHub を同じホストにするか,Moodle のホスト上で feserver を動かす.%%
-- iframe 対応.ただし tornado が cookie の samesite を解釈可能なこと.(python3.8以上)+- %%iframe 対応.ただし tornado が cookie の samesite を解釈可能なこと.(python3.8以上)%% 
 +- tornado のバージョンやブラウザの種類によって条件が変わるので,部分的サポートとする.
#br #br
**** 起動 [#bdc8edbc] **** 起動 [#bdc8edbc]
-- jupyterhub -f mdldockerspawner/etc/jupyterhub_config.py +- jupyterhub -f lticontainerspawner/etc/jupyterhub_docker_config.py 
-#br +- jupyterhub -f lticontainerspawner/etc/jupyterhub_podma​n_config.py
- +
-*** [[LTIPodmanSpawner>JupyterHub/LTIPodmanS​pawner]] [#eb2e9361] +
-- テスト中.+
#br #br


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

72 user(s) are online (15 user(s) are browsing xpwiki)

Members: 0
Guests: 72

more...

Access Counter

Today : 9682968296829682
Yesterday : 9324932493249324
Total : 2358883423588834235888342358883423588834235888342358883423588834
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com