我們已經知道kubernetes的常用術語和一些思想,要想進行二次開發,或者簡單的說跑起來,運作一個小執行個體,那就要求我們需要對ta的常用操作相當的熟悉。入手了解kubectl是非常快速的一個方式,下面,我們就來看看kubectl的指令行操作的常用方式。
1.kubectl用法詳解1. kubectl文法
kubectl [command] [Type] [NAME] [flags]
- command: 子指令,用于操作kubernetes叢集資源對象的指令,例如:create, delete, describe, get, apply等等
- TYPE: 資源對象的類型,區分大小寫,能以單數,複數或者簡寫形式表示。例如以下3中TYPE是等價的。
kubectl get pod pod1 kubectl get pods pod1 kubectl get po pod1
- NAME:資源對象的名稱,區分大小寫。如果不指定名稱,系統則将傳回屬于TYPE的全部對象的清單,例如:kubectl get pods 将傳回所有pod的清單
- flags: kubectl 子指令的可選參數,例如使用 -s 指定api server的url位址而不用預設值。
kubectl可操作的資源對象類型以及縮寫:
在一個指令行中也可以同時對多個資源對象進行操作,以多個TYPE和NAME的組合表示,示例如下:擷取多個pod的資訊:
kubectl get pods pod1 pod2
擷取多種對象的資訊:
kubectl get pod/pod1 rc/rc1
同時應用多個YAML檔案,以多個-f file參數表示:
kubectl get pod -f pod1.yaml -f pod2.yaml kubectl create -f pod1.yaml -f rc1.yaml -f service1.yaml
2.kubectl 子指令詳解
kebectl的子指令非常豐富,涵蓋了對kubernetes叢集的主要操作,包括資源對象的建立、删除、檢視、修改、配置、運作等,詳細的子指令如表2.10所示:
3.kubectl參數清單
Kubectl指令行的公共啟動參數如下所示:
4.Kubectl 輸出格式
kubectl指令可以用多種格式對結果進行顯示,輸出的格式通過-o參數指定:
kubectl create -f my-service.yaml -f my-rc.yaml
kubectl create -f <directory>
3、檢視所有Pod清單
kubectl get pods
4、檢視rc和service清單
kubectl get rc,service
5、顯示Node的詳細資訊
kubectl describe nodes <node-name>
6、顯示Pod的詳細資訊
kubectl describe pods/<pod-name>
7、顯示由RC管理的Pod資訊
kubectl describe pods <rc-name>
8、删除基于pod.yaml檔案定義的Pod
kubectl delete -f pod.yaml
9、删除所有包含某個label的Pod和Service
kubectl delete pods,services -l name=<label-name>
10、删除所有Pod
kubectl delete pods --all
11、在Pod的容器裡執行date指令,預設使用Pod中的第1個容器執行
kubectl exec <pod-name> date
12、指定Pod中某個容器執行date指令
kubectl exec <pod-name> -c <container-name> date
13、以bash方式登陸到Pod中的某個容器裡
kubectl exec -it <pod-name> -c <container-name> /bin/bash
14、檢視容器輸出到stdout的日志
kubectl logs <pod-name>
15、跟蹤檢視容器的日志,相當于tail -f指令的結果
kubectl logs -f <pod-name> -c <container-name>