kubectl命令使用記錄

2021-10-05 20:30:03 字數 2048 閱讀 5451

yum install -y bash-completion

source /usr/share/bash-completion/bash_completion

source <(kubectl completion bash)

獲取節點

kubectl get nodes

建立檢視建立的狀態,狀態為pending【準備中】,running狀態【已經建立成功】

kubectl get pods

檢視該容器在哪個節點

kubectl get pods -o wide

檢視該容器的所有狀態

kubectl get pods nginx -o yaml (json)

刪除pod

kubectl delete pod nginx

獲取namespace資訊

kubectl get namespace

條件過濾

kubectl get deployments nginx --output=jsonpath=''

獲取所有命名空間的所有資源

kubectl get all --all-namespaces

強制重啟pod

kubectl replace --force -f nginx.yaml

滾動更新重啟pod

kubectl rollout restart deploy nginx

更新pod的資源使用限制

kubectl set resources deploy nginx --limits=cpu=250m,memory=512mi --requests=cpu=250m,memory=512mi

配置基於cpu使用率的hpa自動伸縮器

kubectl autoscale deployment nginx--min=1 --max=100 --cpu-percent=70

自動重新整理檢視集群中所有為非running 狀態的pod

watch -n 1 "kubectl get pod --all-namespaces -o wide | grep -v running"

pod 異常不正常啟動時

kubectl describe pods nginx

重啟default命名空間下的所有無狀態的pod

kubectl get deploy | grep -ve "name" | awk '' | xargs kubectl rollout restart deploy

設定節點為維護不可排程狀態

kubectl cordon node-1

驅逐該節點上的所有的pod

kubectl drain node-1 --ignore-daemonsets

設定該節點為可以排程狀態

kubectl uncordon node-1

新增標籤

kubectl label nodes node-1 host=nginx

檢視該節點上的標籤

kubectl get nodes node-1 --show-labels

刪除該節點上的指定標籤

kubectl label nodes node-1 host-

汙點型別介紹:

noschedule:node新增這個effecf型別汙點,新的不能容忍的pod不能再排程過來,但是老的執行在node上不受影響

noexecute:k8snode新增這個effecf型別汙點,新的不能容忍的pod不能排程過來,老的pod也會被驅逐

prefernoschedule:pod會嘗試將pod分配到該節點

新增汙點

kubectl taint node node-1 host=nginx:noschedule

去除汙點

kubectl taint node node-1 host:noschedule-

kubectl 命令使用

kubectl重用命令學習 kubectl get namespace kubectl 建立namespace 通過命令執行 根據namcespace去查詢pod,預設是在default namespace下,所以新建的pod會找不到 顯示 pod 的詳細資訊,特別是檢視 pod 無法建立的時候的日...

kubectl操作命令

每個命令的具體使用可以使用kubectl command help進行檢視,也可以檢視我們系列文章 逐步補充中 command desc create 從檔案或者標準輸入建立resource expose 將rc,svc,deploy,pod暴露為乙個新的svc run在集群中執行乙個特定的映象 s...

kubectl 命令自動補全

在k8s 1.3版本之前,設定kubectl命令自動補全是通過以下的方式 source contrib completions bash kubectl 但是在k8s 1.3版本,原始碼contrib目錄中已經沒有了completions目錄,無法再使用以上方式新增自動補全功能。1.3版本中,kub...