在 Kubernetes 集群中,我們可以部署和管理自定義的 Web 應用。本文將介紹如何管理已部署的 Web 應用,包括更新內容、擴展副本數量和進行基本的故障排除。
如果需要更新 Web 應用的內容,例如修改 index.html
文件後重新部署,請遵循以下步驟:
修改 index.html
文件:
更新 index.html
文件中的內容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Updated Web App</title>
</head>
<body>
<h1>Welcome to My Updated Web App!</h1>
<p>This is the updated web page served by Nginx on Kubernetes.</p>
</body>
</html>
重建 Docker 映像:
使用以下命令重建 Docker 映像:
docker build -t custom-web-app:latest .
推送新的 Docker 映像:
將映像推送到容器登錄庫:
docker tag custom-web-app:latest your-dockerhub-username/custom-web-app:latest
docker push your-dockerhub-username/custom-web-app:latest
更新 Deployment:
修改 custom-web-app-deployment.yaml
文件中的映像版本:
spec:
containers:
- name: custom-web-app
image: your-dockerhub-username/custom-web-app:latest
應用更新:
kubectl apply -f custom-web-app-deployment.yaml
要擴展 Web 應用的副本數量,請遵循以下步驟:
更新副本數量:
編輯 custom-web-app-deployment.yaml
文件,將 replicas
屬性設置為所需的數量,例如:
spec:
replicas: 5
更新 Deployment:
kubectl apply -f custom-web-app-deployment.yaml
驗證 Pods 是否成功擴展:
kubectl get pods
如果遇到問題,請按照以下步驟進行故障排除:
查看 Pod 狀態:
檢查 Pod 的狀態和日誌:
kubectl get pods
kubectl describe pod <pod-name>
kubectl logs <pod-name>
檢查 Service:
確保 Service 正常運作:
kubectl get svc
kubectl describe svc custom-web-app-service
當不再需要 Web 應用時,可以刪除 Deployment 和 Service 來釋放資源:
kubectl delete -f custom-web-app-deployment.yaml
kubectl delete -f custom-web-app-service.yaml
這樣可以確保 Kubernetes 集群中的資源得到適當的管理和清理。