---
# System prepended metadata

title: Kubernetes 為基礎之分散式 GPU 雲端計

---

# 論文整理：Kubernetes 為基礎之分散式 GPU 雲端計算平台及其智慧養殖 AI 服務
## 目的
提供一個可靠的智能化箱網養殖 AI 服務，提出一個分散式伺服器架構，能夠將各項服務集中管理，並且能夠迅速的從意外中恢復，同時也能讓開發與線上版本同時進行，降低伺服器管理者的工作，並且能高效率的運作，此外還能夠提供機器學習在訓練階段時需要的運算量的環境。
## 方法
智能化箱網養殖模式有四個系統，為了能夠集中管理且快速佈署，本文使用K8S，並用docker將應用程式容器化。
## 流程
1. 應用程式開發。
2. 使用 Docker 將應用程式容器化，封裝成容器映像檔。
3. 將映像檔上傳至本地 Docker Registry。
4. 撰寫組態檔，組態檔內容包含映像檔來源、名稱，及網路設定等等。
5. 在 Kubernetes Cluster 上佈署此組態檔，Kubernetes 會根據組態檔內容去建置 POD。
6. 檢查 POD 是否有正常執行。
![image](https://hackmd.io/_uploads/Hy4zElGAp.png)


![image](https://hackmd.io/_uploads/SkEmEezCT.png)




## 水下立體影像系統


![image](https://hackmd.io/_uploads/BJ6ltgGRp.png)


主要透過水下攝影機進行實地拍攝，將拍攝影片串流至雲端運算平台的 Nginx 影像伺服器來轉拋影像，提供給系統內需要此影像的 AI 服務，同時也解決在實地拍攝時沒有固定 IP 的問題。在此系統裡，因為體重的估測是由體長回歸，**所以體長與體重分析為同一個 pod**，**活力分析與數量分析為兩個獨立的 pod**，總共 3 個 pod。
分析完的影像與資料分別會儲存至 NAS 及大數據資料庫。

## 體長體重分析
比較偏向圖片辨識，沒有深入去讀

## 水質系統

![image](https://hackmd.io/_uploads/By32e-MC6.png)

對近海箱網的水質變化情形進行即時監測，得到水質參數包含水溫、水流速及流向、溶氧、和鹽度。當感測器的資料傳輸至雲端運算平台後，會先對其進行 IP 的檢查，只有特定的 IP 可以將資料輸入至資料庫，當 IP 認證成功後會將接收到的資料從 json 格式轉乘陣列後在 mapping 到相對應的欄位。

## K8s 佈署流程
![image](https://hackmd.io/_uploads/S1K0hx8R6.png)

![image](https://hackmd.io/_uploads/SJsETgL06.png)
