背景

前回途中でほったらかしとなっていた汎用分析環境の構築を進める。
今回やったことは以下。

    • jupyter containerを利用したdockerベースのjupyter notebook環境を作る

 

    • dockerのデータ永続領域をNFS経由とする

 

    • jupyter notebookのフロントエンドをnginxでリバースプロキシ化する

 

    構築をansible playbook化する

構築した環境

前回まで

本記事は以下の記事の続きです。

今回追加した構成

前回の構成図は以下の通りです。

前回の構成図

今回の構成図。色がついている部分が追加分。

for_testing_r2.png

構築に利用したansible資材は以下にpushしてあります。(前回から更新)

構築方法

基本的にはmaster側からansibleを叩けば終わり。
jupyter containerのplaybookはこんな感じ。

- name: Install worker package by apt
  apt:
    name: python3-pip
    state: present

- name: Install docker-py
  pip:
    name: "docker"
    state: present

- name: Create container jupyter scipy-notebook
  docker_container:
    name: scipy-notebook
    hostname: scipy-notebook_001
    image: jupyter/scipy-notebook:latest
    detach: yes
    auto_remove: yes
    ports:
      - "10000:8888"
    volumes:
      - /mnt/work:/home/jovyan/work

起動後、クライアントPCから以下URLにアクセスすると、jupyter notebookの認証画面が表示される

http://192.168.32.10/
スクリーンショット (14).png
vagrant@worker001:~$ docker ps -a
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                     NAMES
34e624124079        jupyter/scipy-notebook:latest   "tini -g -- start-no…"   5 seconds ago       Up 5 seconds        0.0.0.0:10000->8888/tcp   scipy-notebook
vagrant@worker001:~$ docker exec -it scipy-notebook /bin/bash
jovyan@scipy-notebook_001:~$ jupyter notebook list
Currently running servers:
http://0.0.0.0:8888/?token=c51fdbe9ed6774a85d89e466fda819729705084f0bec2d67 :: /home/jovyan
jovyan@scipy-notebook_001:~$

token=の後の文字列(c51~2d67)までをコピーして、Password or tokenのテキストボックスに入れて、ログイン。
あとはいつものjupyter notebookと同じ使い方ができる。

スクリーンショット (15).png

残課題

まだまだやり残しが多い。。。

    • ansible playbookのパラメータ化

 

    • 複数ユーザ、複数環境を考慮したディレクトリ設計

 

    ログの集約

次回以降の宿題。

广告
将在 10 秒后关闭
bannerAds