1.1 查看集群信息:
kubectl cluster-info: 顯示集群信息。
kubectl config view: 顯示當前kubectl配置信息。
1.2 查看資源狀態:
kubectl get pods: 查看所有Pod的狀態。
kubectl get deployments: 查看所有部署的狀態。
kubectl get services: 查看所有服務的狀態。
kubectl get nodes: 查看所有節點的狀態。
kubectl get namespaces: 查看所有命名空間的狀態。
kubectl describe pod <pod-name>: 顯示特定Pod的詳細信息。
1.3 創建和管理資源:
kubectl create -f <filename>: 根據YAML文件創建資源。
kubectl apply -f <filename>: 根據YAML文件創建或更新資源。
kubectl delete -f <filename>: 根據YAML文件刪除資源。
kubectl scale deployment <deployment-name> --replicas=<replica-count>: 擴展或縮減部署的副本數。
kubectl expose deployment <deployment-name> --port=<port> --type=<service-type>: 創建一個服務來公開部署。
1.4 執行操作:
kubectl exec -it <pod-name> -- <command>: 在Pod中執行特定命令。
kubectl logs <pod-name>: 查看Pod的日志。
kubectl port-forward <pod-name> <local-port>:<pod-port>: 將本地端口與Pod的端口進行轉發。
1.5 升級和回滾:
kubectl set image deployment/<deployment-name> <container-name>=<new-image>: 更新部署的容器鏡像。
kubectl rollout status deployment/<deployment-name>: 檢查部署的滾動更新狀態。
kubectl rollout undo deployment/<deployment-name>: 回滾部署到先前版本。
1.6 刪除資源:
kubectl delete deployment <deployment-name>: 刪除部署。
kubectl delete pod <pod-name>: 刪除Pod。
kubectl delete service <service-name>: 刪除服務。
2. Kubernetes服務常用命令:
2.1 查看服務狀態:
kubectl get services: 查看所有服務的狀態。
kubectl describe service <service-name>: 顯示特定服務的詳細信息。
2.2 創建和管理服務:
kubectl expose deployment <deployment-name> --port=<port> --target-port=<target-port> --type=<service-type>: 創建一個服務來公開部署,并指定端口和類型。
kubectl create service <service-type> <service-name> --tcp=<port>:<target-port>: 創建一個服務并將其綁定到指定的端口和目標端口。
kubectl edit service <service-name>: 編輯服務的配置。
2.3 負載均衡和端口轉發:
kubectl port-forward <pod-name> <local-port>:<pod-port>: 將本地端口與Pod的端口進行轉發。
kubectl expose deployment <deployment-name> --port=<port> --target-port=<target-port> --type=LoadBalancer: 創建一個負載均衡服務,并將外部流量分發到部署的Pod。
2.4 查看負載均衡器IP:
kubectl get services: 查找負載均衡服務的External IP(在云環境中)或者LoadBalancer Ingress(在本地環境中)。
2.5 刪除服務:
kubectl delete service <service-name>: 刪除服務。
3. 監視Kubernetes集群:
3.1 查看資源狀態:
kubectl get pods: 查看所有Pod的狀態。
kubectl get deployments: 查看所有部署的狀態。
kubectl get services: 查看所有服務的狀態。
kubectl get nodes: 查看所有節點的狀態。
kubectl get namespaces: 查看所有命名空間的狀態。
3.2 監視資源:
kubectl describe pod <pod-name>: 顯示特定Pod的詳細信息。
kubectl describe deployment <deployment-name>: 顯示特定部署的詳細信息。
kubectl describe service <service-name>: 顯示特定服務的詳細信息。
kubectl describe node <node-name>: 顯示特定節點的詳細信息。
3.3 實時日志:
kubectl logs <pod-name>: 查看Pod的日志。
kubectl logs -f <pod-name>: 實時查看Pod的日志。
kubectl logs -f -l <label-selector>: 根據標簽選擇器實時查看多個Pod的日志。
3.4 集群事件:
kubectl get events: 查看集群中的事件。
kubectl describe event <event-name>: 顯示特定事件的詳細信息。
3.5 資源使用情況:
kubectl top pods: 查看Pod的資源使用情況。
kubectl top nodes: 查看節點的資源使用情況。
3.6 監視滾動更新:
kubectl rollout status deployment/<deployment-name>: 檢查部署的滾動更新狀態。
kubectl rollout history deployment/<deployment-name>: 查看部署的更新歷史記錄。
3.7 擴展和縮減副本數:
kubectl scale deployment <deployment-name> --replicas=<replica-count>: 擴展或縮減部署的副本數。