首先呛谜,要理解是的kubectl用來(lái)控制k8s集群的溶诞。就好比shell(比如:sh凌箕,bash)是控制linux/unix操作系統(tǒng)是一樣的關(guān)系拧篮。
我們先來(lái)做個(gè)實(shí)踐吧,登錄到k8s集群的master節(jié)點(diǎn)牵舱,來(lái)試下執(zhí)行kubectl命令串绩。
- 查看集群狀態(tài)
kubectl cluster-info
在筆者安裝的集群中顯示下圖的所示信息,主要是輸出master的apiServer地址芜壁、端口以及kubeDNS地址礁凡。
- 查看集群的所有節(jié)點(diǎn)
kubectl get nodes -o wide
在筆者安裝的集群中有兩個(gè)Node,都是Ubuntu系統(tǒng)慧妄。當(dāng)然 -o 參數(shù)支持yaml和json顷牌,結(jié)果會(huì)以yaml或者json的結(jié)構(gòu)進(jìn)行展示。
通過(guò)這兩個(gè)簡(jiǎn)單的命令塞淹,相信大家有一個(gè)簡(jiǎn)單的直觀的感受了窟蓝。當(dāng)然還有很多的command,后面比較會(huì)簡(jiǎn)單介紹饱普,需要大家在實(shí)踐中不斷的去練習(xí)运挫,通過(guò)這些命令也能讓大家對(duì)k8s的基礎(chǔ)概念更加深入了解。
其中下面三個(gè)命令必須要重點(diǎn)掌握套耕,他們是:
- kubectl get
- kubectl describe
- kubectl apply
更多的命令如下:
- kubectl alpha - alpha環(huán)境上命令屬性
- kubectl annotate - 更新資源上注釋
- kubectl api-resources - 在服務(wù)器上打印支持的 API 資源
- kubectl api-versions - 以 “group/version” 的形式在服務(wù)器上打印支持的 API 版本
- kubectl apply - 通過(guò)文件名或標(biāo)準(zhǔn)輸入將配置添加給資源
- kubectl attach - 附加到正在運(yùn)行的容器
- kubectl auth - 檢查授權(quán)
- kubectl autoscale - 自動(dòng)擴(kuò)展 Deployment, ReplicaSet 或 ReplicationController
- kubectl certificate - 修改證書(shū)資源谁帕。
- kubectl cluster-info - 展示集群信息
- kubectl completion - 為給定的 shell 輸出完成代碼( bash 或 zsh)
- kubectl config - 修改 kubeconfig 配置文件
- kubectl convert - 在不同的 API 版本之間轉(zhuǎn)換配置文件
- kubectl cordon - 將 node 節(jié)點(diǎn)標(biāo)記為不可調(diào)度
- kubectl cp - 從容器復(fù)制文件和目錄,也可將文件和目錄復(fù)制到容器冯袍。
- kubectl create - 通過(guò)文件名或標(biāo)準(zhǔn)輸入創(chuàng)建資源匈挖。
- kubectl delete - 通過(guò)文件名,標(biāo)準(zhǔn)輸入康愤,資源和名稱或資源和標(biāo)簽選擇器刪除資源
- kubectl describe - 顯示特定資源或資源組的詳細(xì)信息
- kubectl drain - 為便于維護(hù)儡循,需要提前驅(qū)逐node節(jié)點(diǎn)
- kubectl edit - 在服務(wù)器編輯資源
- kubectl exec - 容器內(nèi)退出命令
- kubectl explain - 資源文檔
- kubectl expose - 獲取 replication controller, service, deployment 或 pod 資源,并作為新的 Kubernetes 服務(wù)暴露
- kubectl get - 展示一個(gè)或多個(gè)資源
- kubectl label - 升級(jí)資源標(biāo)簽
- kubectl logs - 為 pod 中的容器打印日志
- kubectl options - 打印所有命令繼承的標(biāo)識(shí)列表
- kubectl patch - 使用戰(zhàn)略性合并補(bǔ)丁更新資源字段
- kubectl plugin - 運(yùn)行命令行插件
- kubectl port-forward - 給 pod 開(kāi)放一個(gè)或多個(gè)本地端口
- kubectl proxy - 為 Kubernetes API server 運(yùn)行代理
- kubectl replace - 通過(guò)文件或標(biāo)準(zhǔn)輸入替換資源
- kubectl rollout - 管理資源展示
- kubectl run - 在集群上運(yùn)行指定鏡像
- kubectl scale - 給 Deployment, ReplicaSet, Replication Controller 或 Job 設(shè)置新副本規(guī)模
- kubectl set - 給對(duì)象設(shè)置特定功能
- kubectl taint - 更新一個(gè)或多個(gè) node 節(jié)點(diǎn)的污點(diǎn)信息
- kubectl top - 展示資源 (CPU/Memory/Storage) 使用信息翘瓮。
- kubectl uncordon - 標(biāo)記 node 節(jié)點(diǎn)為可調(diào)度
- kubectl version - 打印客戶端和服務(wù)端版本信息
- kubectl wait - 試驗(yàn): 在一個(gè)或多個(gè)資源上等待條件完成