1. 程式人生 > >Kubernetes kubectl 命令

Kubernetes kubectl 命令

blank 輸出 col font dir 進入 pods www uber

kubectl 命令用來操作 Kubernetes 集群中的資源對象,包括對資源的創建、刪除、查看、修改、配置、運行等

命令語法:kubectl [command] [TYPE] [NAME] [flags]

# command:子命令,用於操作 Kubernetes 集群資源對象的命令,如 create, delete, describe, get, apply 等
# TYPE:資源對象的類型,如 pod,service,rc,node 等,有些可以簡寫,如 service 簡寫為 svc,nodes 簡寫為 ns
# NAME:資源對象的名稱,不指定則返回所有,如 kubectl get pod 會返回所有 pod, 如果寫成 kubectl get pod nginx 就只返回 nginx 這個 pod
# flags:kubectl 子命令的可選參數,例如 -n 指定 namespace,-s 指定 apiserver 的 URL

常見用法:

[root@localhost ~]$ kubectl get pods                      # 查看所有的Pod資源
[root@localhost ~]$ kubectl get pod <pod_name>            # 查看指定的Pod資源
[root@localhost ~]$ kubectl get pod <pod_name> -o wide    # 查看指定的Pod資源,並指定輸出格式,其他輸出格式
[root@localhost ~]$ kubectl create -f <yaml_filename>     # 根據yaml文件創建資源
[root@localhost ~]$ kubectl create -f <directory>         # 也可以指定一個目錄,這樣可以一次性根據該目錄下所有yaml或json文件創建資源
[root@localhost ~]$ kubectl describe pod <pod_name>       # 查看指定Pod資源的描述信息(寫法一)
[root@localhost ~]$ kubectl describe pod/<pod_name>       #
查看指定Pod資源的描述信息(寫法二)
[root@localhost ~]$ kubectl delete pods                        # 刪除所有的Pod資源
[root@localhost ~]$ kubectl delete pod <pod_name>              # 刪除指定的Pod資源
[root@localhost ~]$ kubectl delete pod -l name=<label_name>    # 刪除所有帶有指定標簽名的Pod資源
[root@localhost ~]$ kubectl delete -f <yaml_filename>          # 根據yaml文件刪除資源
[root@localhost ~]$ kubectl exec <pod_name> date        # exec用於對指定的資源對象執行指定的命令,這裏表示對指定的Pod資源執行date命令
[root@localhost ~]$ kubectl exec -it <pod_name> bash    # 執行 bash 命令,相當於進入Pod,註意要加上 -it 參數
[root@localhost ~]$ kubectl logs <pod_name>                           # 查看指定資源(Pod)的日誌
[root@localhost ~]$ kubectl logs <pod_name> -c <container_name>       # 查看指定資源(Pod下指定的container)的日誌
[root@localhost ~]$ kubectl logs -f <pod_name> -c <container_name>    # 動態查看指定資源的日誌,類似於 tail -f 

Kubernetes kubectl 命令