2017年10月22日 星期日

Eclipse che 多使用者安裝簡介(multi-user installation)

前言

雲端運算一直都是我的夢想。現在總算讓我管到實驗室的主要伺服器,而且老師說我可以「隨便玩」,因此我開始思考要如何讓伺服器能夠執行雲端運算。將來希望也能幫助學弟妹簡單建立雲端運算的Project,並且整合實驗室的網頁進行live demo。

所需知識

對 docker 的基本瞭解。

正文開始

根據 官方文件 的說明,我們可以直接在docker內用這個指令進行安裝:
docker run -it -e CHE_MULTIUSER=true -e CHE_HOST=${EXTERNAL_IP} \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.che-multiuser:/data eclipse/che start
接著他會自己下載正確的套件跟安裝
下載的東西有這些:
  • eclipse/che-init
  • eclipse/che-action
  • eclipse/che-test
  • eclipse/che-dir
  • eclipse/che-server-multiuser
  • eclipse/che-server
  • eclipse/che
  • jboss/keycloak-openshift
  • centos/postgresql-96-centos7
  • eclipse/che-mount
  • eclipse/che-ip
  • alpine
  • traefik
  • docker/compose
你可以用 docker images 或是 docker image ls 確認你的套件
成功畫面

這樣就完成啦!看起來確實很簡單。但是如果你有防火牆呢?事情似乎就沒這麼容易了。

疑難排解(防火牆設定)

一開始我就卡在Preflight checks
conn (browser => ws): [NOT OK]
conn (server => ws):    [NOT OK]
查了許久終於發現問題出在che必須要連結到docker0的port也就是32768
好不容易安裝成功卻在進入dashboard的時候整個黑屏。搞了一個下午,以下就是我們要開啟的port!
首先使用 docker ps 看看che在跑的是哪些container並且把那些加進去。接著要打開workspace會用到的那些port。大致上就是這樣!
  • port 8000:che-server所在位置
  • port 5050:keyclock使用的port。(使用者登入畫面)
  • port 5432:PostgreSQL的對外連線(使用者帳號資料庫)
  • port 32768~65535:eclipse che開起薪workspace可能會用到的port。
  • 神奇的是我竟然不需要開8080也可以連線?
完成介面:dashboard

 結語

這樣一來就可以相對安全的進行雲端運算囉~由於實驗室常做數位影像處理、IoT、系統整合等神奇專案,因此之後應該會整合Octave(Matlab的替代品)以及客製化一些環境(安裝OpenCV、Mosquitto...)。之後會再介紹要如何進行基本以及進階的客製化。