# Kubernetes 常用指令 ### 語法格式 ```bash kubectl [command] [type] [name] [flags] ``` - kubectl get pod / get po / get pods - kubectl get service / get services / get svc - kubectl get deployment / get deployments / get deploy - kubectl delete po / svc ###### (可加 -o wide 顯示更多 pod 的資訊) - kubectl describe pod / svc / deploy - kubectl attach <pod> -i : 直接與pod互動 - 取得log ```bash kubectl logs <podName> # streaming 輸出 log,類似 'tail' Linux 命令 kubectl logs -f <pod-name> ``` ref: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands ### 問題 Q: pod 與 service 之定義 A: Pod 是 Kubernetes 中最小的部署單位,它可以包含一個或多個緊密耦合的 Container,這些 Container 共享網路、存儲等資源。每個 Pod 有自己的 IP 地址,通常在短期內是穩定的,但可能隨時會改變,因為 Pod 是易揮發的,當 Pod 崩潰或被刪除時,Kubernetes 會重新創建一個新的 Pod,可能會分配一個新的 IP。 Service 是 Kubernetes 中的穩定訪問點,它為一組 Pod 提供統一的訪問入口。Service 通常通過一個靜態的 IP 地址(ClusterIP)或域名來讓其他 Pod 或外部用戶訪問背後的 Pod 群組。Service 會自動負載均衡到它後端的所有 Pod 上,即使 Pod 被刪除和重建,Service 仍然保持穩定的訪問地址。