iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0

可以。從你列出的服務來看,最適合先做成 Kubernetes 練習專案的五個,不是直接重建 Netflix 或高鐵購票系統,而是選擇「資料來源明確、可用腳本處理、風險較低、容易用 YAML 部署」的服務:

  1. 部落格流量分析
  2. AI 對話備份與 Markdown 搜尋
  3. 股票、基金價格快照
  4. YouTube/社群內容推薦
  5. 公車與地圖資訊快取

這五個服務可以組成一套「個人資訊中台」。Kubernetes 負責執行容器,YuniKorn 負責依照工作重要性分配 CPU 與記憶體。Kubernetes 的 requests 會影響 Pod 的排程位置,limits 則限制容器最多能使用的資源。 YuniKorn 則以階層式 queue 管理工作,能設定保證資源、最大資源與公平排程。 kubernetes

建議的五個服務

服務 實際用途 執行方式 優先級
部落格流量分析 每日統計訪客、熱門文章、來源與裝置 CronJob
AI 對話備份 將 Duck.ai 或其他 API 回應存成 Markdown/JSON Deployment + API
股票基金快照 定時抓取價格,儲存歷史資料 CronJob
YouTube/社群推薦 抓取 RSS、YouTube 頻道或合法 API,產生推薦清單 CronJob + Web UI
公車資訊快取 定時取得公車到站資料,提供手機查詢 CronJob + API

這些服務不必一開始就做成大型平台。可以先用 Python、FastAPI、SQLite 或 DuckDB,再將每個功能包裝成 Docker image。之後用 Kubernetes YAML 管理部署、排程、環境變數與資源限制。

先理解三個概念

Deployment

Deployment 適合長時間執行的服務,例如:

  • AI 對話備份 API。
  • 公車資訊查詢 API。
  • 部落格分析儀表板。
  • 推薦內容網頁。

它會維持指定數量的 Pod。若 Pod 異常結束,Kubernetes 會依照 Deployment 設定重新建立。

Pod

Pod 是 Kubernetes 執行容器的基本單位。初學時可以先把它理解成:

Docker container 是容器;Pod 是 Kubernetes 管理容器時使用的包裝單位。

一個 Pod 通常包含一個主要應用程式容器,也可以額外放入代理程式或資料收集程式。

CronJob

CronJob 適合定期工作,例如每 10 分鐘抓一次公車資料、每天凌晨分析部落格流量,或每小時保存股票價格。Kubernetes 的 CronJob 會按照 .spec.schedule 的 Cron 表達式,週期性建立一次性 Job。 kubernetes

基礎 YAML 範例

以下是一個簡化版的「AI 對話備份服務」。它包含 Namespace、Deployment、Service 與 CronJob。正式版本應該把密碼放進 Secret,不要直接寫在 YAML 裡。

apiVersion: v1
kind: Namespace
metadata:
  name: personal-cloud
  labels:
    yunikorn.apache.org/queue: root.personal

上一篇
day 7 : 五個服務,打造你的個人雲端
下一篇
補充資料 3-2 五個服務草稿計劃
系列文
30 天打造我的個人雲端實驗室:用 Docker、Kubernetes、Flyte 和自建服務,重構手機與電腦的日常工作流25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言