昨天半夜不睡覺做的事情:搜尋引擎升級兼換硬碟
步驟是這樣的:
- 修改部署yaml檔到更新後狀態:修改版本號參數、PVC從standard-rwo(混合碟)換成premium-rwo(純SSD)
- git commit & push到repo上,同時apply argo application資源進叢集(版本號不能從git repo直接讀)
- Argo這時候會卡在版本升級後資料不相容,而且硬碟不能用魔法變成SSD,不過沒關係,這是為什麼要半夜不睡覺
- 因為要把部署跟硬碟砍光。刪除STS跟PVC,然後Argo Sync讓Argo發現服務跟硬碟都不見了,去拿個新的。
- 此時搜尋引擎可以正常開啟但是空的。把準備好的search-sync job apply到cluster上,從main db把資料撈出來放進搜尋引擎
- 為了偷一點時間,同步作業會從最新的資料開始。同步的同時確認搜尋可以找到東西,這個時候系統就部分恢復上線了,只是舊資料還找不到而已
- 大約四分鐘以後同步作業完成。檢查request latency確認SSD跟新版本有符合預期效果
然後把手邊的燒酌喝完去睡覺
喔對,為了確保中間不會出什麼意外,在這之前同樣的步驟有在測試叢集跑過一遍。