iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0

apiVersion: v1
kind: ConfigMap
metadata:
name: ai-backup-config
namespace: personal-cloud
data:
STORAGE_PATH: /data/conversations
DEFAULT_FORMAT: markdown

apiVersion: apps/v1
kind: Deployment
metadata:
name: ai-backup-api
namespace: personal-cloud
labels:
app: ai-backup-api
spec:
replicas: 1
selector:
matchLabels:
app: ai-backup-api
template:
metadata:
labels:
app: ai-backup-api
application: ai-backup
spec:
schedulerName: yunikorn
containers:
- name: api
image: your-dockerhub-user/ai-backup-api:0.1.0
ports:
- containerPort: 8000


      envFrom:
        - configMapRef:
            name: ai-backup-config
      resources:
        requests:
          cpu: "100m"
          memory: "128Mi"
        limits:
          cpu: "500m"
          memory: "512Mi"
      volumeMounts:
        - name: conversation-data
          mountPath: /data
  volumes:
    - name: conversation-data
      emptyDir: {}

apiVersion: v1
kind: Service
metadata:
name: ai-backup-api
namespace: personal-cloud
spec:
selector:
app: ai-backup-api
ports:
- port: 80
targetPort: 8000
type: ClusterIP

apiVersion: batch/v1
kind: CronJob
metadata:
name: ai-backup-indexer
namespace: personal-cloud
spec:
schedule: "*/30 * * * *"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 2
failedJobsHistoryLimit: 3
jobTemplate:
spec:
template:
metadata:
labels:
application: ai-backup-indexer
spec:
schedulerName: yunikorn
restartPolicy: OnFailure
containers:
- name: indexer
image: your-dockerhub-user/ai-backup-indexer:0.1.0
command:
- python
- /app/index.py
resources:
requests:
cpu: "50m"
memory: "64Mi"
limits:
cpu: "300m"
memory: "256Mi"
volumeMounts:
- name: conversation-data
mountPath: /data
volumes:
- name: conversation-data
emptyDir: {}


這個範例的功能可以是:

- 接收瀏覽器貼上的 AI 對話。
- 產生 Markdown 與 JSON 兩種格式。
- 使用標籤保存來源,例如 `duck-ai`、`chatgpt`、`youtube`。
- 建立標題、日期與關鍵字索引。
- 透過瀏覽器搜尋過去的對話。
- 未來再將 `emptyDir` 改成 PersistentVolume,避免 Pod 重建後資料消失。

`ConfigMap` 適合保存非機密設定,例如儲存路徑、服務模式與預設格式;Kubernetes 可以把 ConfigMap 內容注入環境變數或掛載成檔案。 [kubernetes](https://kubernetes.io/docs/concepts/configuration/configmap/)

## 其他四個服務怎麼設計

### 1. 部落格流量分析

架構可以是:

```text
Web access log
      ↓
Python parser
      ↓
DuckDB
      ↓
FastAPI
      ↓
簡易儀表板

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

尚未有邦友留言

立即登入留言