kubectl作為客戶端cli工具,可以讓使用者通過命令列的方式對k8s集群進行操作。k8s排查問題時會經常用到kubectl命令,下面列出常用的 kubectl 命令。
kubectl常用命令
get獲取列出乙個或多個資源的資訊。(資源分為pod、instance、service等很多種)
describe
輸出指定的乙個/多個資源的詳細資訊。(一般describe狀態有問題節點,如pending等)
logs
輸出pod中乙個容器的日誌。(如果pod只包含乙個容器則可以省略容器名)
指定yaml或json,建立資源。(通過檔案或者控制台輸入)
edit
編輯伺服器上定義的資源。(檔案預設輸出格式為yaml。要以json格式編輯,請指定「-o json」選項。)
rolling-update
執行指定replicationcontroller的滾動更新。(不中斷業務的更新方式)
delete
刪除乙個資源(可以是pod、instance等)
# 檢視所有 pod 列表, -n 後跟 namespace, 檢視指定的命名空間
kubectl get pod
kubectl get pod -n kube
# 檢視 rc 和 service 列表, -o wide 檢視詳細資訊
kubectl get rc,svc
kubectl get pod,svc -o wide
kubectl get pod -o yaml
# 檢視 endpoint 列表
kubectl get endpoints
# 顯示 node 的詳細資訊
kubectl describe node 192.168.0.212
# 顯示 pod 的詳細資訊, 特別是檢視 pod 無法建立的時候的日誌
kubectl describe pod
eg:kubectl describe pod redis-master-tqds9
# 基於 pod.yaml 定義的名稱刪除 pod
kubectl delete -f pod.yaml
# 刪除所有包含某個 label 的pod 和 service
kubectl delete pod,svc -l name=
# 刪除所有 pod
kubectl delete pod --all
# 執行 pod 的 date 命令
kubectl exec -- date
kubectl exec -- bash
kubectl exec -- ping 10.24.51.9
# 通過bash獲得 pod 中某個容器的tty,相當於登入容器
kubectl exec -it -c -- bash
eg:kubectl exec -it redis-master-cln81 -- bash
# 檢視容器的日誌
kubectl logs
kubectl logs -f # 實時檢視日誌
k8s入門系列之介紹篇
kubernetes介紹 1.背景介紹 雲計算飛速發展 iaas paas saas docker技術突飛猛進 一次構建,到處執行 容器的快速輕量 完整的生態環境 2.什麼是kubernetes kubernetes k8s 是google開源的容器集群管理系統 谷歌內部 borg 在docker技...
k8s入門系列之介紹篇
kubernetes介紹 1.背景介紹 雲計算飛速發展 iaas paas saas docker技術突飛猛進 一次構建,到處執行 容器的快速輕量 完整的生態環境 2.什麼是kubernetes kubernetes k8s 是google開源的容器集群管理系統 谷歌內部 borg 在docker技...
k8s入門系列之介紹篇
kubernetes介紹 1.背景介紹 雲計算飛速發展 iaas paas saas docker技術突飛猛進 一次構建,到處執行 容器的快速輕量 完整的生態環境 2.什麼是kubernetes kubernetes k8s 是google開源的容器集群管理系統 谷歌內部 borg 在docker技...