紅帽於2021/2/18開放OpenShift免費使用兩周,藉此機會了解該產品功能,並紀錄一下使用心得。
教學影片
tech-talks
命令列下載
登入後右上角有個問號,點進去下載,然後把解壓縮後的oc路徑加進環境變數pathCommand Line Tools
> Download oc for Windows for x86_64
命令列登入
Example:
- oc login --token=sha256~EfumjEgIpAkCjkFjuXMEgtKKF3M_gkxatCK69NhVR55 --server=https://api.sandbox.x8i5.p1.openshiftapps.com:6443
建立前端服務
新建應用 前端站台oc new-app joellord/urlshortener-front
- 應用視圖
- 開放外部連線 前端站台
oc expose svc/urlshortener-front --port=8080
建立後端服務
- 用 Centos7 NodeJS 映像檔 來跑 後端API站台
oc new-app quay.io/centos7/nodejs-12-centos7~https://github.com/joellord/urlshortener --context-dir=back
建立DB
- 建立臨時DB (MongoDB (Ephemeral)
- Database Service Name=mongo
- Service Name=shorties
- Connection Username=shorties
- Connection Password=shorties
- DataBase Name=urls
- Admin Password==shorties
- 開放外部連線 後端API站台
oc expose service/urlshortener
- 編輯 後端API站台 部屬設定中的環境變數
- PORT=8080
- MONGO_USER=shorties
- MONGO_PASSWORD=shorties
- MONGO_SERVER=mongo
- MONGO_VERSION=3.6
- 存檔後會自動重新佈署,即可正常取得API回應
{"msg":"Hello"}
- 健康檢查 API /health
{"msg":"Hello"}{"server":true,"database":true}
- 健康檢查如果開不起來或 database 為 false
請確認 MONGO_SERVER 與當初設定資料庫的 Database Service Name 相同 - 設定健康檢查
- 設定完記得打勾後按Add才會生效
之後在 API Pod Log 裡面會發現每十秒或有一個 request 紀錄 - 前端網站 About 頁面內的 後端 API 與 DB 狀態 API 設定
- 編輯 前端站台 部屬設定中的環境變數
- BASE_URL={你的後端API網址(不包含最後面的 / )}
- 範例
BASE_URL=http://urlshortener-jakeuj-code.apps.sandbox.x8i5.p1.openshiftapps.com - 回到前端網站的 about 頁面 應該會看到
- 如果沒看到可以按看看 Ctrl+F5 看看
- 再沒有可以到前端 Pods 狀態看新部屬有沒有成功跑起來
- 設定短網址
- 到前端 Add 畫面設定短網址
- 最回到首頁 Current 應該要可以看到剛剛設定的資料
建立轉址服務
- +Add > Deploy Image
- Image Name=joellord/urlshortener-redirector
如果顯示 Request 超過上限可能暫時拉不了這個 Image - Runtime Icon=PHP
討厭PHP了話不選也沒關係? - Create
- Image Name=joellord/urlshortener-redirector
- 回到拓樸視圖可以把原本其他服務拖拉到新的這個服務(按住Shift)
將前後端與資料庫加到這個新服務群組 - 設定 轉址服務 環境變數
oc set env deployment/urlshortener-redirector MONGO_USER=shorties MONGO_PASSWORD=shorties MONGO_SERVER=mongo MONGO_VERSION=3.6
- 設定 前端頁面 環境變數
oc set env deployment/urlshortener-front REDIRECTOR_URL=http://$(oc get route urlshortener-redirector | awk 'NR>1 {print $2}')
awk是linux指令,可以安裝Windoin Linux 子系統 WSL (Windows Subsystem for Linux)
Windows 10 上適用於 Linux 的 Windows 子系統安裝指南
Ubuntu 20.04 LTS- 下載 oc
wget https://downloads-openshift-console.apps.sandbox.x8i5.p1.openshiftapps.com/amd64/linux/oc.tar
- 解壓oc
tar -xf oc.tar
- 沒把 oc 路徑加到 ENV,直接用 oc.exe 時
oc.exe set env deployment/urlshortener-front REDIRECTOR_URL=http://$(oc.exe get route urlshortener-redirector | awk 'NR>1 {print $2}')
- 好像有 awk for windows 版本的可以安裝看看
- 下載 oc
- 開放外部連線 轉址服務 由 80改為8080
urlshortener-redirector > Route Detail > YAML > spec > port: 8080-tcp > Save
- 到這邊應該設定完成了,回到前端頁面的首頁點先前設定的轉址最右邊的連結按鈕,應該可以正常連回去長網址