您需要部署一個包含兩個微服務的應用程式:backend-service
和 frontend-service
。
frontend-service
依賴於 backend-service
的啟動。
然而,當前提供的部署配置,出了一點問題,導致 frontend-service
持續 CrashLoopBackOff
。
- 從零部署一個 Kubernetes 叢集 (至少單節點)。 選擇您熟悉的任何 Kubernetes Distribution
(例如:kind, k3s, minikube, kubeadm)。 - 部署提供的應用程式 Manifests。
- 診斷
CrashLoopBackOff
問題。 找出根本原因,並分析其為不佳實踐。 - 修正問題並應用最佳實踐。
- 修正問題,避免直接依賴服務啟動順序,或使用適當的機制確保依賴就緒。
- 為兩個服務都配置合理的 Liveness 和 Readiness Probes。
- 為兩個服務都配置合理的資源請求 (requests) 和限制 (limits)。
- 確保服務間的通訊安全和穩定。
- 驗證兩個服務都成功運行並可互相通訊。
預計花費時間: 20 - 25 分鐘
# kubectl get pod,service
NAME READY STATUS RESTARTS AGE
pod/backend-service-b57db99bd-tj5xs 0/1 Running 0 35m
pod/frontend-service-769998d5f6-pcfg6 0/1 CrashLoopBackOff 5 (3m59s ago) 35m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/backend-service ClusterIP 192.168.194.188 <none> 80/TCP 35m