9: 2021-08-01 (日) 14:32:50 iseki |
10: 2021-08-01 (日) 17:35:22 iseki |
| -- こいつの書き換えは必須! | | -- こいつの書き換えは必須! |
| #br | | #br |
- | ** Moodle & JupyterHub 連携 [#t72c88ce] | + | * Moodle & JupyterHub 連携 [#t72c88ce] |
| | | |
- | *** INSTALL [#qb9768b3] | + | ** INSTALL [#qb9768b3] |
- | **** [[Anaconda]] [#jb987bc7] | + | |
| + | *** [[Anaconda]] [#jb987bc7] |
| #br | | #br |
| | | |
- | **** [[JupyterHub]]/[[DockerSpawner>JupyterHub/DockerSpawner]] [#z52a6900] | + | *** [[JupyterHub]]/[[DockerSpawner>JupyterHub/DockerSpawner]] [#z52a6900] |
| (base) # conda create -n jupyterhub python=3.8 -y | | (base) # conda create -n jupyterhub python=3.8 -y |
| (base) # conda activate jupyterhub | | (base) # conda activate jupyterhub |
| #br | | #br |
| | | |
- | **** [[Docker]] ([[CentOS8]]) [#o38fddf3] | + | *** [[Docker]] ([[CentOS8]]) [#o38fddf3] |
| (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 |
- | (base) # systemctrl enable docker.socket | + | (base) # systemctrl enable docker |
- | (base) # systemctrl start docker.socket | + | (base) # systemctrl start docker |
| (base) # docker pull jupyterhub/singleuser | | (base) # docker pull jupyterhub/singleuser |
| (base) # docker pull jupyter/datascience-notebook | | (base) # docker pull jupyter/datascience-notebook |
| #br | | #br |
- | **** Moodleがリモートホストで動いている場合,Moodleが動いているホストからDockerコマンドが入力できるようにする. [#xe993c8f] | |
| | | |
- | ***** SSH ポートフォワードを使用する. [#h0ef173d] | + | **** Docker と Moodleが同じマシンで動いている場合 [#bca29c05] |
| + | - Moodle がローカルなら,Moodleの実効ユーザを docker グループに入れればOK? |
| + | #br |
| + | |
| + | **** Docker と Moodleが違うマシンで動いている場合 [#v044d897] |
| + | - リモートとローカルの unix ソケットファイルを ssh でつなぐ. |
| + | -- Docker の動いているマシンで,グループ docker に属するユーザを作成(例えば docker). |
| + | --- パスワードを設定しておく.起動シェルは要らない. |
| + | -- Moodle の動いているマシンで以下のコマンドを実行.Moodle |
| + | --- ssh -NL /var/run/xxx.sock:/var/run/docker.sock docker@202.26.150.55 |
| + | --- chgrp apache /var/run/xxx.sock |
| + | --- chgrp g+rw /var/run/xxx.sock |
| + | #br |
| + | |
| + | ***** ''ボツ'' %%SSH ポートフォワードを使用する.%% [#h0ef173d] |
| - Moodleが localhost, Docker が 202.26.150.55で動いている場合 | | - Moodleが localhost, Docker が 202.26.150.55で動いている場合 |
| # ssh -fNL localhost:9099:/var/run/docker.sock root@202.26.150.55 (rootログインがセキュリティ的に弱い) | | # ssh -fNL localhost:9099:/var/run/docker.sock root@202.26.150.55 (rootログインがセキュリティ的に弱い) |
| # export DOCKER_HOST=localhost:9099 | | # export DOCKER_HOST=localhost:9099 |
| # docker volume ls | | # docker volume ls |
- | - Docker の実効ユーザを root 以外にしておく. | + | - %%Docker の実効ユーザを root 以外にしておく.%% ムリポ. Rootlessモードは何か違う. |
| - Moodleの動いているホストでは,Dockerデーモンは不要.クライアントのみで可. | | - Moodleの動いているホストでは,Dockerデーモンは不要.クライアントのみで可. |
| + | |
| + | - ログイン相手を docker グループのユーザにする. |
| + | -- でもローカルポートにアクセス可能なら,結局''やばい状況になる''..ネ. |
| #br | | #br |
| | | |
- | **** docker の通信機能を使用する [#g41b437e] | + | ***** ''ボツ'' %%docker の通信機能を使用する%% [#g41b437e] |
- | - docker -H ssh://202.26.150.55 volume ls | + | - /usr/lib/systemd/system/docker.service |
| + | -- ex.) ExecStart=/usr/bin/dockerd -H fd:// -H tcp://202.26.150.55:9099 --containerd=/run/containerd/containerd.sock |
| + | -- systemctl daemon-reload |
| + | -- systemctl restart docker |
| + | - ssh:// を指定するとエラー.man でも -H に ssh は載っていない. |
| + | - よく考えれば,リモートからは無条件でコマンドを受け入れる.''やばいです''. |
| #br | | #br |
| | | |
- | **** [[altfiles>NSS]] [#n90bdca5] | + | *** [[altfiles>NSS]] [#n90bdca5] |
| # git clone https://github.com/aperezdc/nss-altfiles.git | | # git clone https://github.com/aperezdc/nss-altfiles.git |
| # cd nss-altfiles/ | | # cd nss-altfiles/ |
| #br | | #br |
| | | |
- | **** [[LTI>JupyterHub#m4467ad6]] [#g284e3bf] | + | *** [[LTI>JupyterHub#m4467ad6]] [#g284e3bf] |
| - pip install jupyterhub-ltiauthenticator | | - pip install jupyterhub-ltiauthenticator |
| - cd ......./ltiauthenticator | | - cd ......./ltiauthenticator |
| #br | | #br |
| | | |
- | **** [[MDLDockerSpawner>JupyterHub/MDLDockerSpawner]] [#s98f7379] | + | *** [[MDLDockerSpawner>JupyterHub/MDLDockerSpawner]] [#s98f7379] |
| - https://gitlab.nsl.tuis.ac.jp | | - https://gitlab.nsl.tuis.ac.jp |
- | #br | |
- | ***** dddd [#ac1e309d] | |
| #br | | #br |
| | | |
- | **** cull_idle_servers.py [#n8a3f52c] | + | *** cull_idle_servers.py [#n8a3f52c] |
- | - [[cull_idle_servers.py>JupyterHub/DockerSpawner#zc9428f7]] | + | - [[cull_idle_servers>JupyterHub/DockerSpawner#zc9428f7]] |
| - https://github.com/jupyterhub/jupyterhub/tree/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle | | - https://github.com/jupyterhub/jupyterhub/tree/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle |
| - DLして /usr/local/bin にコピー | | - DLして /usr/local/bin にコピー |
| + | -- wget https://raw.githubusercontent.com/jupyterhub/jupyterhub/a6b7e303df03865d6420f6bccdf627b39f1d0dc1/examples/cull-idle/cull_idle_servers.py |
| #br | | #br |
| | | |
- | **** JupyterHub [#h8d86a77] | + | *** JupyterHub [#h8d86a77] |
| - mkdir -p /var/lib/jupyterhub/ | | - mkdir -p /var/lib/jupyterhub/ |
| - FireWall | | - FireWall |
| #br | | #br |
| | | |
- | *** 起動 [#hccd8a59] | + | ** 起動 [#hccd8a59] |
| - jupyterhub -f jupyterhub_config.py | | - jupyterhub -f jupyterhub_config.py |
| #br | | #br |