K8S入門系列(二) 常用的一些kubectl命令

2021-09-24 23:13:02 字數 1561 閱讀 2959

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技...