# 雲端運算與服務 Assignment #3 > Author: 楊明寰 > 學號: 1103334 # (20%)使用您熟悉方式來安裝minikube 顯示minikube dashboard及minikube儀錶板畫面 ```shell= sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker sudo apt install -y apt-transport-https ca-certificates curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo snap install kubectl --classic kubectl version --client curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube minikube version minikube start --driver=docker --force minikube status kubectl cluster-info kubectl config view kubectl get nodes kubectl get pods minikube dashboard ``` 就開好 minikube dashboard了,他會自動在預設的瀏覽器打開頁面 ![截圖 2024-11-25 上午9.55.45-min](https://hackmd.io/_uploads/S1yFFUZQyl.png) # 自行撰寫Pod元件的YAML檔以啟動Container ```yaml= # pod.yaml apiVersion: v1 kind: Pod metadata: name: demo-pod labels: app: demo-app spec: containers: - name: demo-container image: nginx:latest ports: - containerPort: 80 ``` command: ```bash= kubectl apply -f pod.yaml ``` ![image](https://hackmd.io/_uploads/rJ55WKbQkl.png) 上圖可以看到生成了一個 Pod # 自行撰寫Service元件的YAML檔以啟動Container ```yaml= apiVersion: v1 kind: Service metadata: name: demo-service spec: selector: app: demo-app ports: - protocol: TCP port: 80 targetPort: 80 type: NodePort ``` ![image](https://hackmd.io/_uploads/BJrcfK-7Jg.png) 上圖可以看到生成了一個 Service # 自行撰寫Deployment元件的YAML檔以啟動Container ```yaml= apiVersion: apps/v1 kind: Deployment metadata: name: demo-deployment spec: replicas: 3 selector: matchLabels: app: demo-app template: metadata: labels: app: demo-app spec: containers: - name: demo-container image: nginx:latest ports: - containerPort: 80 ``` ![image](https://hackmd.io/_uploads/H19xQY-Xyg.png) # minikube儀錶板使用心得 Minikube儀表板使用心得: 1. Pod元件關聯分析讓我體會到儀表板對於Pod管理的強大功能,不僅可以清楚查看Pod的運行狀態,包括Running、Pending、Failed等狀態,還能即時監控CPU和記憶體的使用率,特別是在排除故障時,能直接在界面上查看Pod的YAML配置和容器日誌輸出,這些功能都大大提升了管理效率。此外,透過儀表板還可以輕鬆地查看Pod的IP地址和節點分配情況,這在處理網路相關問題時特別有幫助。 2. Service元件的監控和管理功能在儀表板中可以直觀地查看Service的各種類型配置,包括ClusterIP、NodePort和LoadBalancer,同時能即時顯示外部訪問的URL和端口映射關係,這極大地簡化了服務的管理和監控工作。透過清晰的視覺化界面,可以輕鬆查看與Service相關聯的所有Pod,以及它們之間的標籤選擇器關係,結合網路流量的視覺化展示,讓整個服務架構變得一目了然,這對於理解和維護微服務架構特別有幫助。 3. Deployment元件關聯分析讓我深入了解到儀表板在應用部署管理方面的便利性,透過界面可以輕鬆進行應用的擴展和縮減操作,同時能夠查看更新歷史並進行版本回滾,這在維護生產環境時特別重要。在監控方面,儀表板不僅能即時顯示副本集的健康狀態,還能清晰展示部署的進度和狀態,配合實時的事件日誌查看功能,讓整個部署過程變得透明且可控。 4. 其他儀表板操作心得讓我感受到Minikube儀表板的整體使用體驗非常出色,從左側導航欄的清晰分類到頂部的快速搜索功能,都體現了良好的用戶體驗。特別值得一提的是內建的終端功能和豐富的監控與排錯功能,包括系統事件的即時查看和容器日誌的查看,這些都為日常運維工作提供了強有力的支持。透過使用標籤過濾和自動刷新等功能,我能夠更快速地定位和解決問題,在處理部署更新、問題排除和資源優化等場景時都有很好的幫助,這讓我深刻體會到它作為一個集中化管理工具的價值。