kubectl命令行工具用法詳解


kubectl作為客戶端CLI工具,可以讓用戶通過命令行對Kubernetes集群進行操作。

kubectl命令行的語法如下:

kubectl [command] [TYPE] [NAME] [flags]

(1)command:子命令,用於操作Kubernetes集群資源對象的命 令,例如create、delete、describe、get、apply等。

(2)TYPE:資源對象的類型,區分大小寫,能以單數、復數或者 簡寫形式表示。例如以下3種TYPE是等價的。

 

 (3)NAME:資源對象的名稱,區分大小寫。如果不指定名稱, 系統則將返回屬於TYPE的全部對象的列表,例如$ kubectl get pods將返 回所有Pod的列表。

(4)flags:kubectl子命令的可選參數,例如使用“-s”指定API Server的URL地址而不用默認值。

 

 

 

 在一個命令行中也可以同時對多個資源對象進行操作,以多個 TYPE和NAME的組合表示,示例如下。

 

 

kubectl子命令詳解

kubectl的子命令非常豐富,涵蓋了對Kubernetes集群的主要操作, 包括資源對象的創建、刪除、查看、修改、配置、運行等。

 

 

 

 

 

 一些常用的kubectl操作作為示例進行說明

    創建資源對象:

1.創建資源對象 根據YAML配置文件一次性創建Service和RC:

kubectl   create -f  my-service.yaml  -f  my-rc.yaml

 

根據 yaml 創建資源, apply 可以重復執行,create 不行

kubectl create -f pod.yaml

kubectl apply -f pod.yaml

 

查看資源對象:

2、查看pod列表

kubectl get pods               查看所有 pod 列表

kubectl get pod -n kube     -n 后跟 namespace, 查看指定的命名空間中的pod

 

3、查看RC和Service列表: 

kubectl get rc,svc                                svc是service簡寫,也可以寫全拼

kubectl get pod,svc -o wide                 -o wide 查看詳細信息

kubectl get pod <pod-name> -o yaml

 

描述資源對象:

4、顯示Node的詳細信息:

kubectl describe node 192.168.0.212

kubectl describe nodes  <node-name>

 

5、顯示Pod的詳細信息:

kubectl describe pods<pod-name>

eg:  kubectl describe pod redis-master-tqds9

 

6、顯示由RC管理的Pod的信息:

kubectl describe pods <rc-name>

 

   刪除資源對象:

7、基於pod.yaml定義的名稱刪除Pod:

kubectl delete -f pod.yaml

 

8、刪除所有包含某個Label的Pod和Service:

kubectl delete pod,svc -l name=<label-name>

 

9、刪除所有Pod:

kubectl delete pod --all

 

執行容器的命令:

10、執行Pod的date命令,默認使用Pod中的第1個容器執行:

 kubectl exec <pod-name> -- date

11、指定Pod中的某個容器執行date命令:

kubectl  exec <pod-name>   -c <container-name>  date

12、通過bash獲得Pod中某個容器的TTY,相當於登錄容器:

kubectl exec -it <pod-name> -c <container-name> -- bash

 

查看容器的日志

13、查看容器輸出到stdout的日志:

kubectl logs <pod-name>

kubectl logs -f <pod-name> # 實時查看日志

14、跟蹤查看容器的日志,相當於tail -f命令的結果:

kubectl logs -f <pod-name>  -c <container-name>

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM