常見Kubernetes kubectl命令使用詳解
資源查看命令
這些命令用于查看 Kubernetes 集群中的資源狀態(tài)和信息:
kubectl get nodes
:查看所有節(jié)點(diǎn)的狀態(tài)和信息。例如節(jié)點(diǎn)的名稱、IP 地址、狀態(tài)、版本等。kubectl get pods
:查看所有 pod 的狀態(tài)和信息。例如 pod 的名稱、所在節(jié)點(diǎn)、狀態(tài)、IP 地址、容器狀態(tài)等。kubectl get services
:查看所有服務(wù)的狀態(tài)和信息。例如服務(wù)的名稱、類型、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é)點(diǎn)的資源使用情況。例如 CPU 和內(nèi)存的使用率、使用量等。kubectl top pods
:查看 pod 的資源使用情況。例如 CPU 和內(nèi)存的使用率、使用量等。
資源詳細(xì)信息命令
這些命令用于查看 Kubernetes 集群中特定資源的詳細(xì)信息:
kubectl describe pod <pod-name>
:查看特定 pod 的詳細(xì)信息。例如 pod 的狀態(tài)、容器狀態(tài)、事件等。kubectl describe service <service-name>
:查看特定服務(wù)的詳細(xì)信息。例如服務(wù)的類型、IP 地址、端口、關(guān)聯(lián)的 pod 等。kubectl describe node <node-name>
:查看特定節(jié)點(diǎn)的詳細(xì)信息。例如節(jié)點(diǎn)的狀態(tài)、標(biāo)簽、容量、使用情況等。kubectl describe deployment <deployment-name>
:查看特定部署的詳細(xì)信息。例如部署的狀態(tài)、副本數(shù)、可用副本數(shù)、關(guān)聯(lián)的 pod 等。kubectl describe replicasets <replicaset-name>
:查看特定副本集的詳細(xì)信息。例如副本集的狀態(tài)、副本數(shù)、可用副本數(shù)、關(guān)聯(lián)的 pod 等。kubectl describe persistentvolume <persistentvolume-name>
:查看特定持久卷的詳細(xì)信息。例如持久卷的狀態(tài)、類型、容量、訪問模式等。kubectl describe persistentvolumeclaims <persistentvolumeclaim-name>
:查看特定持久卷聲明的詳細(xì)信息。例如持久卷聲明的狀態(tài)、綁定的持久卷名稱、訪問模式等。kubectl describe namespace <namespace-name>
:查看特定命名空間的詳細(xì)信息。例如命名空間的狀態(tài)、標(biāo)簽、創(chuàng)建時間等。kubectl describe configmap <configmap-name>
:查看特定配置地圖的詳細(xì)信息。例如配置地圖的數(shù)據(jù)、創(chuàng)建時間等。kubectl describe secret <secret-name>
:查看特定密鑰的詳細(xì)信息。例如密鑰的類型、數(shù)據(jù)、創(chuàng)建時間等。kubectl describe event <event-name>
:查看特定事件的詳細(xì)信息。例如事件的類型、對象、原因、消息等。
日志相關(guān)命令
這些命令用于查看 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 點(diǎn)之后的日志,可以使用以下命令:
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、服務(wù)、部署等資源。示例:
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、服務(wù)、部署等資源。示例:
kubectl delete pod nginx
kubectl delete -f <filename>
:從 YAML 或 JSON 文件中刪除資源。使用場景包括:在 Kubernetes 集群中刪除不再需要的資源。示例:
kubectl delete -f nginx.yaml
資源更新和擴(kuò)縮容命令
這些命令用于更新和擴(kuò)縮容 Kubernetes 集群中的資源:
kubectl edit <resource-type> <resource-name>
:編輯指定類型和名稱的資源。使用場景包括:在 Kubernetes 集群中修改已有的 pod、服務(wù)、部署等資源的配置。示例:
kubectl edit deployment nginx
kubectl scale <resource-type> <resource-name> --replicas=<n>
:擴(kuò)縮容指定類型和名稱的資源。使用場景包括:在 Kubernetes 集群中增加或減少 pod、服務(wù)、部署等資源的副本數(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>
:切換當(dāng)前使用的上下文。使用場景包括:在 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ā)到本地進(jìn)行調(diào)試。示例:
kubectl port-forward nginx 8080:80
kubectl proxy
:啟動 Kubernetes API 代理服務(wù)器。使用場景包括:在 Kubernetes 集群中訪問 API 服務(wù)器。
希望這些命令能夠幫助您更好地管理和維護(hù) Kubernetes 集群!
更多關(guān)于Kubernetes kubectl命令使用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
k8s 中的 service 如何找到綁定的 Pod 及實現(xiàn) 
service 是一組具有相同 label pod 集合的抽象,集群內(nèi)外的各個服務(wù)可以通過 service 進(jìn)行互相通信,這篇文章主要介紹了k8s 中的 service 如何找到綁定的 Pod 以及如何實現(xiàn) Pod 負(fù)載均衡,需要的朋友可以參考下2022-10-10Rainbond云原生部署SpringCloud應(yīng)用架構(gòu)實踐
這篇文章主要為大家介紹了Rainbond云原生部署SpringCloud應(yīng)用架構(gòu)實踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解
這篇文章主要為大家介紹了Kubernetes?權(quán)限管理認(rèn)證鑒權(quán)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解
這篇文章主要為大家介紹了Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Rainbond云原生部署開源社區(qū)Discourse的配置過程
這篇文章主要為大家介紹了Rainbond云原生部署開源社區(qū)Discourse配置過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04