2026/01/30 是圓圓過世後的第 236 天,今天趕著要去上班,想要把昨天的問題快點解出來,昨天決定把 Code 1 的範例放棄了,因為這個做出來也沒用,我真正需要的是 Code 2 的程式,而且我一直隱約覺得 Tutorial 的 Code 1 程式是錯的,所以我今天股票大概看到 09:45 左右,我就著手開始弄 Code 2 的程式,雖然我還沒全部看懂 Code 2 程式,不過要看懂的話可能還需要一週,但是也許先讓程式可以跑起來再看會更有感覺吧,所以我就著手開始弄 Code 2,大概歷時一小時的整備工作,結果在最後一步要 Deploy 時,我發現我少一個 Argument,因為 Code 2 的危險性比 Code 1 高,所以北歐那邊有額外增加 Secret 數目,偏偏我當初只搞 Code 1,所以跟人家也只有拿 Code 1 的安全層級的 Security Arguments,這下可好了,我寄信跟對方要,按照他們工作那死德性,大概又要一週才給我東西,我這時候其實挺不高興的,無奈之下只好又回頭去弄 Code 1,我又重頭做一遍 Code 1,弄一弄也中午了,還是跳 Error,我就去買飯了,今天老闆還是沒來噎,然後我看外面拉一個布條,上面寫得好像是說要賣深夜時段,我整個一頭霧水,今天買什錦炒板條加羊肉湯:

2026/01/30 什錦粄條

2026/01/30 羊肉湯
吃完飯後,也沒心情睡覺了,我就從 Code 2 的經驗,反推 Code 1 程式哪邊可能有錯,結果在一個我一直視為理所當然的地方,發現對方程式打錯了,可以理解對方想要一個 General 的解法,透過 Environmental Variable 的疊加來讓程式變好看,但是偏偏寫法寫錯,所以系統根本沒拿 Environmental Variable 來產生 Docker Image Name,而是判斷有問題,進而用預設的 Folder Name 來當 Docker Image Name,這樣的 Deployment YAML 匯入 Kubernetes 當然就無法產生 Pod,我把這個有問題的程式做改寫,然後再重做一次,結果改成跳別的 Error,我這時也不知道該怎麼辦了,突然腦袋想到,我在 Code 2 拿不到的 Security Arguments,怎麼不去偷看人家用什麼勒,於是我就在系統裡面偷看人家程式怎麼打的,然後偷偷記錄下來,再回頭去弄 Code 2,一切都整備好之後,我在我的 Automation Script 裡面加上 Kafka Secret,這塊我是拿別的公司的,因為我看他命名方式跟公司別沒關係,抱著忐忑的心情按下 run,這下子沒有跳缺乏 Security Arguments 的 Error 了噎,算是過了一關,不過後來跳出的 Error 跟 Code 1部分很像,這時候我就果斷放棄了,我覺得兩個程式都出現類似問題,那一定是有哪邊是我腦袋沒有認知到的,所以我就直接把問題紀錄一下,然後發一個 Topic 給北歐那邊,然後我就下班了。
整理一下北歐平台的日誌:
- Access Token (2026/01/09)
- Upload Package (2026/01/13 未解,2026/01/14 開始寫 Automation Script 並發現是 Onboarding 誤寫成 Onboardding,至此顯示有上傳)
- Query Status = OnBoarding (2026/01/15 發現偶然會出現上傳 Fail,最後釐清是檔名不能一樣,所以重做一個 ppap 壓縮檔)
- Query Status = OnBoarded (2026/01/15)
- Do Initialization (2026/01/16 實作,但是因為 JSON Input & Output Header 打錯,導致花很多時間 Debug)
- Query Status = Initializing (2026/01/16)
- Query Status = Initialized (2026/01/16)
- Enable Functionality (2026/01/16)
- 完成 App Instantiation,此外發現 Instantiation 後無法刪除,所以又寫一個 Delete App 的腳本 (2026/01/20)
- 寫好 Deploy 腳本,但是缺乏 Security Components,只能找 System Administrator 要 (2026/01/21)
- 找到關鍵 Curl 指令拿到 Configure Measurement,搭配 Filter 能篩選出我要的設備 ID 欄位 (2026/01/22)
- 嘗試各種指令都拿不到 Performance Measurement,最後發現要寫程式進行 Subscribe,搭配 Kafka 拿資料,關鍵訂閱欄位在 OtherDefinition 的 JSON 文件中 (2026/01/23)
- 因為沒有 Security Arguments 不能做 Deploy,所以我去研究 AutoGet PM 的程式,而且是從頭做 Code-Tracing,目前追蹤到:Logger 設定、配置各種 Cert、Key 等 Security Components、Configuration API 配置、上述返回的 ID 整理 (2026/01/27)
- 終於拿到 Security Arguments 了,步驟 1 到步驟 10 的程式要全部改寫,以納入最新拿到的 Key 與 Cert,此外我也從北歐工程師回信找到如何觀察 Kubernetes Services、Pods、Cluster 等等關鍵字中間夾雜的字串是 NameSpace,這在 Deploy 的 curl 指令中需要指定,如果設錯會跳 Error,但是目前仍然顯示 Pod 無法啟動 (2026/01/28)
- 因為 Automation Script 程式太長,DeployStatusCheck 到後期會出現 Token 過期狀況,因此改寫 Automation Script 使得 Deploy 處重新再取一次 Token,開始懷疑 Code 1 的 Tutorial 程式寫錯,所以我著手 Deploy Code 2 程式,但是 Ubuntu 沒有 Update,以至於 Code 2 的 Dockerfile 那關過不了 (2026/01/29)
- 解決 Code 2 的 Dockerfile 那關,但是 Deploy 時發現我缺乏 Kafka Security Key,所以我又回去 Debug Code 1 的程式,發現環境變數堆疊的 Docker Image Name 會出問題,這會觸發 Docker Compose 回歸預設取資料夾名稱當做 Docker Image Name 的窘境,修好這問題後,仍出現 Pod 起不來的狀況,所以我又去搞 Code 2,然後我偷看別公司的 Kafka Security Key,判斷和公司名稱無關,所以我直接拿來用,結果沒出現缺乏 Kafka Security 問題,這關過了,但是還是出現和 Code 1 類似狀況,Pod 起不來,我就直接匯整狀況發一個 Topic 給北歐,此外我還偷看到別的公司怎麼設定 LogEndPoint,我也直接照抄 (2026/01/30)














