37: 2021-09-17 (金) 17:50:54 iseki |
現: 2023-12-04 (月) 11:30:44 iseki |
| - see also: [[Docker]], [[Podman]] | | - see also: [[Docker]], [[Podman]] |
| - see also: [[Kubernetes]], [[PodmanSpawner]] | | - see also: [[Kubernetes]], [[PodmanSpawner]] |
| + | - see also: [[configurable-http-proxy]] |
| | | |
| - [[DockerSpawner>./DockerSpawner]] | | - [[DockerSpawner>./DockerSpawner]] |
| - [[LTIDockerSpawner>./LTIDockerSpawner]] | | - [[LTIDockerSpawner>./LTIDockerSpawner]] |
| + | - [[LTIPodmanSpawner>./LTIPodmanSpawner]] |
| + | |
| - [[Moodle+JupyterHub]] | | - [[Moodle+JupyterHub]] |
| - [[開発>./devel]] | | - [[開発>./devel]] |
| + | - [[API>./API]] |
| #br | | #br |
| | | |
| ** INSTALL [#nfb5f43c] | | ** INSTALL [#nfb5f43c] |
| + | *** Rocky Linux 8 [#g6e6c1d1] |
| + | - [[Detail Log>./RockyLinux8_install]] |
| + | #br |
| + | |
| + | *** pip [#ecfe7cfb] |
| + | #br |
| + | *** conda [#n0e2837f] |
| + | - conda update -c conda-forge jupyterhub -y |
| + | #br |
| + | |
| + | *** for CentOS 8.5 with pip [#l08667b3] |
| + | # yum install python3 |
| + | # pip3 install --upgrade pip |
| + | # yum install npm |
| + | # npm install -g configurable-http-proxy |
| + | # pip install setuptools_rust |
| + | # pip install jupyterhub |
| + | # pip install dockerspawner |
| + | # pip install --upgrade notebook |
| + | # pip install --upgrade jupyterlab |
| + | # jupyterhub --version |
| + | # jupyter --version |
| + | # jupyter notebook --version |
| + | # jupyter lab --version |
| + | #br |
| + | |
| + | *** 2.0.0 with conda [#e269f8c5] |
| + | |
| + | **** Change Log [#qacdfa95] |
| + | - https://jupyterhub.readthedocs.io/en/stable/changelog.html |
| + | #br |
| + | **** Install [#j385e508] |
| + | (base) # conda install -c conda-forge conda==4.11.0 -y |
| + | (base) # conda activate jupyterhub |
| + | (jupyterhub) # conda update -c conda-forge jupyterhub -y |
| + | |
| + | (jupyterhub) # jupyterhub --upgrade-db |
| + | (jupyterhub) # jupyterhub -f ..... |
| + | #br |
| + | |
| + | **** podmanspawner.PodmanSpawner [#nefeece2] |
| + | - おおっ class のサンプルに Podman がある! |
| + | -- と思ったら niklas netter 氏の [[podmanspawner>https://github.com/gatoniel/podmanspawner]] じゃん |
| + | #br |
| + | |
| + | **** websocket モジュールが無いとのことで起動しなくなった. [#x698e062] |
| + | ModuleNotFoundError: No module named 'websocket' |
| + | - conda 環境で websocket をインストール |
| + | |
| + | # conda install -c conda-forge websocket-client |
| + | |
| + | - pip なら pip install websockets |
| + | #br |
| + | |
| + | **** データベースのスキーマが合わないとのことで,起動しなくなった. [#o77e88b0] |
| + | - jupyterhub upgrade-db してもだめなので,/var/lib/jupyterhub 以下を削除 |
| + | #br |
| + | |
| + | *** 1.4.2 [#i2818e12] |
| + | |
| **** conda を使用 [#z4c989ab] | | **** conda を使用 [#z4c989ab] |
| (base) # conda create -n jupyterhub python=3.8 -y | | (base) # conda create -n jupyterhub python=3.8 -y |
| (jupyterhub) # conda install -c conda-forge voila -y | | (jupyterhub) # conda install -c conda-forge voila -y |
| (jupyterhub) # conda install jupyter_client -y | | (jupyterhub) # conda install jupyter_client -y |
| + | |
| (jupyterhub) # git clone https://github.com/jupyterhub/nativeauthenticator.git | | (jupyterhub) # git clone https://github.com/jupyterhub/nativeauthenticator.git |
| (jupyterhub) # pip install -e nativeauthenticator (認証モジュール:オプション) | | (jupyterhub) # pip install -e nativeauthenticator (認証モジュール:オプション) |
| #br | | #br |
| **** pip を使用する. [#d08d0c8f] | | **** pip を使用する. [#d08d0c8f] |
- | - CentOS7 の場合は nodejs はバージョンが古くて,configurable-http-proxy でエラーが出るので,nodejs をバージョンアップする. | + | - nodejs: CentOS7 の場合は nodejs はバージョンが古くて,configurable-http-proxy でエラーが出るので,nodejs をバージョンアップする. |
| curl -sL https://rpm.nodesource.com/setup_14.x | bash - | | curl -sL https://rpm.nodesource.com/setup_14.x | bash - |
| yum remove nodejs npm -y | | yum remove nodejs npm -y |
| node -v | | node -v |
| -- nodejs のバージョンがアップしない場合は,/var/tmp/yum-root-* を消す | | -- nodejs のバージョンがアップしない場合は,/var/tmp/yum-root-* を消す |
| + | -- https://rpm.nodesource.com/setup_##.x は非推奨となった.(2023/12/4) |
| + | --- see https://github.com/nodesource/distributions |
| | | |
| npm install -g configurable-http-proxy | | npm install -g configurable-http-proxy |
| - (jupyterhub) # jupyterhub --version | | - (jupyterhub) # jupyterhub --version |
| #br | | #br |
| + | |
| + | *** [[LTI Authenticator>LTI]] [#g284e3bf] |
| + | - Moodle と連携する為の 認証モジュール(Moodleの外部サービスを使用) |
| + | - 先に authlib を入れておく. |
| + | -- conda install oauthlib or pip install oauthlib |
| + | |
| + | - v1.2.0 release (2021 9/2) |
| + | -- https://pypi.org/project/jupyterhub-ltiauthenticator/1.2.0/ |
| + | -- Moodle に対して Patch 不要 |
| + | |
| + | (jupyterhub)# pip install --upgrade jupyterhub-ltiauthenticator |
| | | |
| ** 設定 [#idb49705] | | ** 設定 [#idb49705] |
| | | |
| ** 実行 [#a826d7f6] | | ** 実行 [#a826d7f6] |
| + | **** 前準備 [#xa875240] |
| + | # cd /etc/pki/tls |
| + | # openssl req -new -newkey rsa:2048 -days 3650 -nodes -keyout private/key.pem -out server.csr |
| + | # openssl x509 -in server.csr -days 3650 -req -signkey private/key.pem -out certs/server.pem |
| + | # vi /usr/local/etc/jupyterhub/jupyterhub_config.py |
| + | |
| + | # mkdir /var/lib/jupyterhub |
| + | |
| + | **** 実行 [#k5a94b0c] |
| (base) # conda activate jupyterhub | | (base) # conda activate jupyterhub |
| (jupyterhub) # jupyterhub -f /usr/local/etc/jupyterhub/jupyterhub_config.py | | (jupyterhub) # jupyterhub -f /usr/local/etc/jupyterhub/jupyterhub_config.py |
| - pool_recycle の設定を忘れずに! | | - pool_recycle の設定を忘れずに! |
| - charset は urf8mb4 | | - charset は urf8mb4 |
| + | #br |
| + | ** NVIDIA [#o78e60f8] |
| + | |
| + | *** Driver [#n52aa03b] |
| + | **** nouveau ドライバ(デフォルトのグラフィックドライバ)を止める [#j9e3e782] |
| + | - lsmod | grep nouveau でドライバ確認 |
| + | - /etc/default/grab のオプションに rd.driver.blacklist=nouveau を追加 |
| + | - カーネル設定ファイルの作り直し |
| + | -- grub2-mkconfig -o /boot/grub2/grub.cfg (RedHat系) |
| + | -- grub-mkconfig -o /boot/grub/grub.cfg (Debian系) |
| + | #br |
| + | **** Driver [#r1aed2e1] |
| + | - nvidia-driver, cuda をインストール |
| + | #br |
| + | |
| + | **** Docker [#t87b07eb] |
| + | - nvidia-container-toolkit が必要 |
| + | -- コンテナ内からホストのGPUを使う |
| + | -- %%nvidia-smi などのコマンドがインストールされる.%% |
| + | #br |
| + | |
| + | *** Tool Kit [#z51a5c81] |
| + | - CUDA Toolkit : https://developer.nvidia.com/cuda-toolkit-archive |
| + | - Tool Kit をインストールするとドライバもインストールされる? (未確認) |
| + | #br |
| + | |
| + | *** Docker [#xa8f93e3] |
| + | - docker run --gpus all nvidia/cuda:12.2.0-devel-ubuntu20.04 nvidia-smi |
| + | -- Failed to initialize NVML: Unknown Error |
| + | -- ホストの /etc/nvidia-container-runtime/config.toml を編集して,no-cgroups = false にする. |
| #br | | #br |
| | | |
| ** Trouble Shooting [#rf83821d] | | ** Trouble Shooting [#rf83821d] |
| + | *** ltiauthenticator [#s373921d] |
| + | - https://pypi.org/project/jupyterhub-ltiauthenticator/ |
| + | #br |
| + | **** Jupyterhub 4.0.0 [#b81f6caf] |
| + | - 403 : Forbidden '_xsrf' argument missing from POST のエラー |
| + | -- JupyterHub で XSRFのチェックを強化したらしい |
| + | |
| + | - /usr/local/lib/python3.9/site-packages/jupyterhub/handlers/base.py |
| + | -- def check_xsrf_cookie(self) |
| + | --- super().check_xsrf_cookie() で例外発生 |
| + | --- 親は tornado のRequestHandlerか? |
| + | - 2023 5/29 時点でこのバグは修正されている. |
| + | #br |
| + | |
| + | *** JupyterLab [#m9f4d2fd] |
| + | **** JupyterHub をバージョンアップしたら Jupyter Labが起動しなくなった. [#f644f8af] |
| + | - 起動する JupyterHub(ex. 2.0.1)とイメージ内のJupyterHub(ex. 1.4.1)が違うとデフォルトで Jupyter Labが起動しなくなるようだ. |
| + | #br |
| | | |
| *** 日本語のBUG [#ece06e7b] | | *** 日本語のBUG [#ece06e7b] |