RedHat OpenShift SandBox 流程筆記
紅帽於2021/2/18開放OpenShift免費使用兩周,藉此機會了解該產品功能,並紀錄一下使用心得。

教學影片 tech-talks
沙盒申請 developer-sandbox
命令列下載 登入後右上角有個問號,點進去下載,然後把解壓縮後的oc路徑加進環境變數path Command 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
回到拓樸視圖可以把原本其他服務拖拉到新的這個服務(按住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 版本的可以安裝看看
開放外部連線 轉址服務 由 80改為8080 urlshortener-redirector > Route Detail > YAML > spec > port: 8080-tcp > Save

到這邊應該設定完成了,回到前端頁面的首頁點先前設定的轉址最右邊的連結按鈕,應該可以正常連回去長網址
延伸閱讀: OKD (OpenShift Origin) 3.11 與 Ubuntu 18.04 LTS 建置筆記

PS5
CI/CD
Container
OpenShift
WSL
回首頁
本文章從點部落遷移至 Writerside