Skip to content

Instantly share code, notes, and snippets.

@j796160836
Last active July 4, 2025 00:44
Show Gist options
  • Save j796160836/ce152e77e5155f0a33a0b3ea970745d8 to your computer and use it in GitHub Desktop.
Save j796160836/ce152e77e5155f0a33a0b3ea970745d8 to your computer and use it in GitHub Desktop.
KCD Taipei 2025 CLBO Contest: SlowlyWebServer

好慢的網頁伺服器部署

KCD Taipei 2025 CLBO 挑戰賽

🎯 挑戰題目

您需要部署一個網頁伺服器,但它有一個問題,因為一些歷史緣故,
技術債的堆累,網頁伺服器都變憨慢惹「我金憨慢講話,但是我金實在」
因為一些非技術上的緣故(例如:有跟別人簽約),不能修改 Image 或程式碼

身為 K8s 管理者的你,還是要照老闆的意思把它部署上去

它沒有故障,但只是「慢」~
不良的設定,也會造成它瀏覽上的故障
有時候圖片出不來,有時候 css 出不來,甚至有時候沒畫面(?)

「世界越快,心則慢」祝大家玩的愉快

🧩 挑戰任務

  1. 使用任意 Kubernetes 發行版(如 minikube、k3s、kind、GKE、EKS 等)部署叢集。
  2. 在不修改任何 Image、程式碼的情況下,部署這隻「好慢的網頁伺服器」
  3. 網頁不能有任何的破圖或 404 出現 (可以打開 F12 開發者模式 來確認)

參考資料: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes

預計花費時間: 20 - 25 分鐘

# slowly-web-server.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: slowly-web-server
labels:
app: slowly-web-server
spec:
replicas: 2
selector:
matchLabels:
app: slowly-web-server
template:
metadata:
labels:
app: slowly-web-server
spec:
containers:
- name: slowly-web-server
image: j796160836/slowly-web-server
ports:
- containerPort: 3000
livenessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 2
periodSeconds: 5
timeoutSeconds: 1
failureThreshold: 2
resources:
limits:
memory: "64Mi"
cpu: "50m"
requests:
memory: "32Mi"
cpu: "25m"
---
apiVersion: v1
kind: Service
metadata:
name: slowly-web-server-service
spec:
selector:
app: slowly-web-server
ports:
- protocol: TCP
port: 3000
targetPort: 3000
type: NodePort
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment