kubectl常用命令詳解

2022-09-13 22:18:24 字數 3630 閱讀 8512

kubectl [command] [type] [name] [flags]

type:資源物件型別,區分大小寫,能以單數形式,複數形式或簡寫形式表示。以下三種是等價的

kubectl get pod pod1

kubectl get pods pod1

kubectl get po pod1

name:資源物件的名稱,區分大小寫。如果不指定名稱,則系統返回屬於type的全部物件的列表,例如kubectl get pods將返回所有pod的列表

flags:kubectl子命令的可選引數。

--kubeconfig :使用kubeconfig配置檔案路徑。預設為~/.kube/config

-n或 --namespace:命令執行的目標命名空間。

# 獲取節點和服務版本資訊

kubectl get nodes

# 獲取節點和服務版本資訊,並檢視附加資訊

kubectl get nodes -o wide

# 獲取pod資訊,預設是default命名空間

kubectl get pod

# 獲取pod資訊,預設是default命名空間,並檢視附加資訊【如:pod的ip及在哪個節點執行】

kubectl get pod -o wide

# 獲取指定命名空間的pod

kubectl get pod -n kube-system

# 獲取指定命名空間中的指定pod

kubectl get pod -n kube-system podname

# 獲取所有命名空間的pod

kubectl get pod -a

# 檢視pod的詳細資訊,以yaml格式或json格式顯示

kubectl get pods -o yaml

kubectl get pods -o json

# 檢視pod的標籤資訊

kubectl get pod -a --show-labels

# 根據selector(label query)來查詢pod

# 檢視執行pod的環境變數

kubectl exec podname env

# 檢視指定pod的日誌

kubectl logs -f --tail 500 -n kube-system kube-apiserver-k8s-master

# 檢視所有命名空間的service資訊

kubectl get svc -a

# 檢視指定命名空間的service資訊

kubectl get svc -n kube-system

# 檢視componentstatuses資訊

kubectl get cs

# 檢視所有configmaps資訊

kubectl get cm -a

# 檢視所有serviceaccounts資訊

kubectl get sa -a

# 檢視所有daemonsets資訊

kubectl get ds -a

# 檢視所有deployments資訊

kubectl get deploy -a

# 檢視所有replicasets資訊

kubectl get rs -a

# 檢視所有statefulsets資訊

kubectl get sts -a

# 檢視所有jobs資訊

kubectl get jobs -a

# 檢視所有ingresses資訊

kubectl get ing -a

# 檢視有哪些命名空間

kubectl get ns

# 檢視pod的描述資訊

kubectl describe pod podname

kubectl describe pod -n kube-system kube-apiserver-k8s-master

# 檢視指定命名空間中指定deploy的描述資訊

kubectl describe deploy -n kube-system coredns

# 檢視node或pod的資源使用情況 # 需要heapster 或metrics-server支援

kubectl top node

kubectl top pod

# 檢視集群資訊

kubectl cluster-info

kubectl cluster-info dump

# 檢視各元件資訊【172.16.1.110為master機器】

kubectl -s get componentstatuses

# 建立資源 

kubectl create -f ***.yaml

# 應用資源

# 應用資源,該目錄下的所有 .yaml, .yml, 或 .json 檔案都會被使用

# 建立test命名空間

kubectl create namespace test

# 刪除資源

kubectl delete -f ***.yaml

kubectl delete -f

# 刪除指定的pod

kubectl delete pod podname

# 刪除指定命名空間的指定pod

kubectl delete pod -n test podname

# 刪除其他資源

kubectl delete svc svcname

kubectl delete deploy deployname

kubectl delete ns nsname

# 強制刪除

kubectl delete pod podname -n nsname --grace-period=0 --force

kubectl delete pod podname -n nsname --grace-period=1

kubectl delete pod podname -n nsname --now

# 編輯資源

kubectl edit pod podname

# kubectl exec:進入pod啟動的容器 

kubectl exec -it podname -n nsname /bin/sh #進入容器

# kubectl label:新增label值

kubectl label nodes k8s-node01 zone=north #為指定節點新增標籤

kubectl label nodes k8s-node01 zone- #為指定節點刪除標籤

kubectl label pod podname -n nsname role-name=test #為指定pod新增標籤

kubectl label pod podname -n nsname role-name=dev --overwrite #修改lable標籤值

kubectl label pod podname -n nsname role-name- #刪除lable標籤

# kubectl滾動公升級;

# kubectl scale:動態伸縮

kubectl常用命令

檢視所有namespace kubectl get namespace 檢視預設的配置 kubectl config view 獲取集群裡的各種資源資訊,某些資源未指定namespace時,預設指定default 常見用法 kubectl get pods rc svc deployment nam...

Kubectl 常用命令

以下指令都需要在 controller 節點執行 檢視各服務資訊 kubectl get service 檢視集群中所有 pod 資訊 kubectl get pod all namespaces 檢視服務中元件資訊 kubectl get service n component 獲取各元件 pod...

kubectl 常用命令總結

檢視所有 pod 列表,n 後跟 namespace,檢視指定的命名空間 kubectl get pod kubectl get pod n kube kubectl get pod o wide 檢視 rc 和 service 列表,o wide 檢視詳細資訊 kubectl get rc,svc...