常見Kubernetes kubectl命令使用詳解
資源查看命令
這些命令用于查看 Kubernetes 集群中的資源狀態(tài)和信息:
kubectl get nodes:查看所有節(jié)點的狀態(tài)和信息。例如節(jié)點的名稱、IP 地址、狀態(tài)、版本等。kubectl get pods:查看所有 pod 的狀態(tài)和信息。例如 pod 的名稱、所在節(jié)點、狀態(tài)、IP 地址、容器狀態(tài)等。kubectl get services:查看所有服務的狀態(tài)和信息。例如服務的名稱、類型、IP 地址、端口等。kubectl get deployments:查看所有部署的狀態(tài)和信息。例如部署的名稱、所在命名空間、副本數(shù)、可用副本數(shù)等。kubectl get replicasets:查看所有副本集的狀態(tài)和信息。例如副本集的名稱、所在命名空間、副本數(shù)、可用副本數(shù)等。kubectl get persistentvolumes:查看所有持久卷的狀態(tài)和信息。例如持久卷的名稱、類型、容量、狀態(tài)等。kubectl get persistentvolumeclaims:查看所有持久卷聲明的狀態(tài)和信息。例如持久卷聲明的名稱、所在命名空間、狀態(tài)、綁定的持久卷名稱等。kubectl get namespaces:查看所有命名空間的狀態(tài)和信息。例如命名空間的名稱、狀態(tài)、創(chuàng)建時間等。kubectl get configmaps:查看所有配置地圖的狀態(tài)和信息。例如配置地圖的名稱、所在命名空間、數(shù)據(jù)等。kubectl get secrets:查看所有密鑰的狀態(tài)和信息。例如密鑰的名稱、所在命名空間、類型、數(shù)據(jù)等。kubectl get events:查看所有事件的狀態(tài)和信息。例如事件的類型、對象、原因、消息等。kubectl top nodes:查看節(jié)點的資源使用情況。例如 CPU 和內(nèi)存的使用率、使用量等。kubectl top pods:查看 pod 的資源使用情況。例如 CPU 和內(nèi)存的使用率、使用量等。
資源詳細信息命令
這些命令用于查看 Kubernetes 集群中特定資源的詳細信息:
kubectl describe pod <pod-name>:查看特定 pod 的詳細信息。例如 pod 的狀態(tài)、容器狀態(tài)、事件等。kubectl describe service <service-name>:查看特定服務的詳細信息。例如服務的類型、IP 地址、端口、關聯(lián)的 pod 等。kubectl describe node <node-name>:查看特定節(jié)點的詳細信息。例如節(jié)點的狀態(tài)、標簽、容量、使用情況等。kubectl describe deployment <deployment-name>:查看特定部署的詳細信息。例如部署的狀態(tài)、副本數(shù)、可用副本數(shù)、關聯(lián)的 pod 等。kubectl describe replicasets <replicaset-name>:查看特定副本集的詳細信息。例如副本集的狀態(tài)、副本數(shù)、可用副本數(shù)、關聯(lián)的 pod 等。kubectl describe persistentvolume <persistentvolume-name>:查看特定持久卷的詳細信息。例如持久卷的狀態(tài)、類型、容量、訪問模式等。kubectl describe persistentvolumeclaims <persistentvolumeclaim-name>:查看特定持久卷聲明的詳細信息。例如持久卷聲明的狀態(tài)、綁定的持久卷名稱、訪問模式等。kubectl describe namespace <namespace-name>:查看特定命名空間的詳細信息。例如命名空間的狀態(tài)、標簽、創(chuàng)建時間等。kubectl describe configmap <configmap-name>:查看特定配置地圖的詳細信息。例如配置地圖的數(shù)據(jù)、創(chuàng)建時間等。kubectl describe secret <secret-name>:查看特定密鑰的詳細信息。例如密鑰的類型、數(shù)據(jù)、創(chuàng)建時間等。kubectl describe event <event-name>:查看特定事件的詳細信息。例如事件的類型、對象、原因、消息等。
日志相關命令
這些命令用于查看 Kubernetes 集群中特定 pod 的日志:
kubectl logs <pod-name>:查看特定 pod 的日志。使用該命令可以快速查看 pod 的日志信息,以便定位問題。例如,要查看名為 my-pod 的 pod 的日志,可以使用以下命令:
kubectl logs my-pod
kubectl logs -f <pod-name>:實時查看特定 pod 的日志。使用該命令可以實時查看 pod 的日志信息,以便快速發(fā)現(xiàn)問題。例如,要實時查看名為 my-pod 的 pod 的日志,可以使用以下命令:
kubectl logs -f my-pod
kubectl logs --tail=<n> <pod-name>:查看特定 pod 的最后 n 行日志。使用該命令可以快速查看 pod 的最后 n 行日志信息,以便定位問題。例如,要查看名為 my-pod 的 pod 的最后 100 行日志,可以使用以下命令:
kubectl logs --tail=100 my-pod
kubectl logs --since=<time> <pod-name>:查看特定 pod 自指定時間以來的日志。使用該命令可以查看 pod 在指定時間之后的日志信息,以便定位問題。例如,要查看名為 my-pod 的 pod 在 2023 年 5 月 20 日 10 點之后的日志,可以使用以下命令:
kubectl logs --since=2023-05-20T10:00:00 my-pod
資源創(chuàng)建和刪除命令
這些命令用于創(chuàng)建和刪除 Kubernetes 集群中的資源:
kubectl create -f <filename>:從 YAML 或 JSON 文件中創(chuàng)建資源。使用場景包括:在 Kubernetes 集群中創(chuàng)建新的 pod、服務、部署等資源。示例:
kubectl create -f nginx.yaml
kubectl apply -f <filename>:從 YAML 或 JSON 文件中創(chuàng)建或更新資源。使用場景包括:在 Kubernetes 集群中創(chuàng)建新的資源或更新已有的資源。示例:
kubectl apply -f nginx.yaml
kubectl delete <resource-type> <resource-name>:刪除指定類型和名稱的資源。使用場景包括:在 Kubernetes 集群中刪除不再需要的 pod、服務、部署等資源。示例:
kubectl delete pod nginx
kubectl delete -f <filename>:從 YAML 或 JSON 文件中刪除資源。使用場景包括:在 Kubernetes 集群中刪除不再需要的資源。示例:
kubectl delete -f nginx.yaml
資源更新和擴縮容命令
這些命令用于更新和擴縮容 Kubernetes 集群中的資源:
kubectl edit <resource-type> <resource-name>:編輯指定類型和名稱的資源。使用場景包括:在 Kubernetes 集群中修改已有的 pod、服務、部署等資源的配置。示例:
kubectl edit deployment nginx
kubectl scale <resource-type> <resource-name> --replicas=<n>:擴縮容指定類型和名稱的資源。使用場景包括:在 Kubernetes 集群中增加或減少 pod、服務、部署等資源的副本數(shù)。示例:
kubectl scale deployment nginx --replicas=3
kubectl rollout status <resource-type> <resource-name>:查看指定類型和名稱的資源的滾動更新狀態(tài)。使用場景包括:在 Kubernetes 集群中查看部署的滾動更新狀態(tài)。示例:
kubectl rollout status deployment nginx
kubectl rollout history <resource-type> <resource-name>:查看指定類型和名稱的資源的滾動更新歷史。使用場景包括:在 Kubernetes 集群中查看部署的滾動更新歷史。示例:
kubectl rollout history deployment nginx
kubectl rollout undo <resource-type> <resource-name>:回滾指定類型和名稱的資源的滾動更新。使用場景包括:在 Kubernetes 集群中回滾部署的滾動更新。示例:
kubectl rollout undo deployment nginx
其他命令
這些命令用于其他操作:
kubectl version:查看 Kubernetes 集群和客戶端的版本信息。使用場景包括:在 Kubernetes 集群中查看版本信息。
kubectl config use-context <context-name>:切換當前使用的上下文。使用場景包括:在 Kubernetes 集群中切換上下文。示例:
kubectl config use-context my-context
kubectl exec -it <pod-name> -- <command>:在指定 pod 中執(zhí)行命令。使用場景包括:在 Kubernetes 集群中在指定 pod 中執(zhí)行命令。示例:
kubectl exec -it nginx -- /bin/bash
kubectl port-forward <pod-name> <local-port>:<pod-port>:將指定 pod 的端口轉(zhuǎn)發(fā)到本地端口。使用場景包括:在 Kubernetes 集群中將 pod 的端口轉(zhuǎn)發(fā)到本地進行調(diào)試。示例:
kubectl port-forward nginx 8080:80
kubectl proxy:啟動 Kubernetes API 代理服務器。使用場景包括:在 Kubernetes 集群中訪問 API 服務器。
希望這些命令能夠幫助您更好地管理和維護 Kubernetes 集群!
更多關于Kubernetes kubectl命令使用的資料請關注腳本之家其它相關文章!
相關文章
一文詳解基于Kubescape進行Kubernetes安全加固
這篇文章主要為大家介紹了基于Kubescape進行Kubernetes安全加固詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
Kubernetes節(jié)點自動伸縮(Cluster Autoscaler)原理及分析
ClusterAutoscaler是Kubernetes官方提供的自動伸縮組件,通過監(jiān)控未調(diào)度的Pod并自動調(diào)整節(jié)點數(shù)量,實現(xiàn)集群資源的動態(tài)調(diào)配,它支持Pod、節(jié)點和資源粒度的自動伸縮,通過配置合理的參數(shù)和策略,可以有效地提升集群的彈性,減少人工干預,降低運維成本2026-01-01

