k8s常用命令記錄


kubectl常用命令

kubectl get pod -n dev

查看日志

kubectl logs -f --tail 100 -n dev xxxxxx

查看pod詳情

kubectl get pods -n dev -o wide
-o wide能看到更多信息,例如查詢pod列表時會有IP列表

kubectl get deployment -n dev xxxxxxx -o yaml

kubectl describe pod -n dev xxxxxxx
用describe子命令,能看到對象相關的event列表,為啥健康檢查不通過

刪除pod

kubectl delete pod -n dev

刪除job

kubectl get job -n dev
kubectl delete job -n dev

進入pod里面

kubectl exec -it podName -n uat bash

查看namespace

kubectl get namespaces

創建namespace

命名空間名稱滿足正則表達式a-z0-9?,最大長度為63位
kubectl create namespace xxxxxx

刪除namespace

kubectl delete namespaces xxxxxx

helm操作

helm list

刪除 pod

helm del —purge xxxxxxx

由於拉取鏡像庫需要用戶密碼,每多一個環境即多一個namespace,就需要創建一個docker image secret

kubectl create secret docker-registry regcred
--docker-server=域名加端口
--docker-username=xx
--docker-password=123
--docker-email=xxx@email.com
-n namespace名稱

故障排查

獲取當前pod的狀態和近期的事件列表

kubectl describe pods -n

查看Pod的狀態:

kubectl get pod cpu-demo-2 --namespace=cpu-example
這個輸出顯示Pod正處在Pending狀態,那是因為這個Pod並不會被調度到任何節點上,所以它會 一直保持這種狀態。
kubectl get pod cpu-demo-2 --namespace=cpu-example
NAME READY STATUS RESTARTS AGE
cpu-demo-2 0/1 Pending 0 7m
查看Pod的詳細信息,包括記錄的事件:
kubectl describe pod cpu-demo-2 --namespace=cpu-example

創建pod

kubectl create -f xxxx.yaml --namespace=xxxx

查看具體pod的yaml配置信息

kubectl get pod -n xxx(哪個namesapce的名字) xxxxpod -o=yaml

查看節點信息

kubectl get pod -n kube-system -l k8s-app=flannel -o wide
刪除節點信息:
kubectl delete pod -n kube-system 節點名稱

查看imgress

kubectl get ing -n uat
kubectl delete ing -n uat  xxx
kubectl create --namespace uat -f yaml文件路徑

查看k8s監控Dashboard的token

kubectl -n kube-system get serviceaccount -l k8s-app=kubernetes-dashboard -o yaml
kubectl -n kube-system describe secrets secrets.name

強制刪除Terminating狀態的pod

先去對應節點查看已經沒有容器了
docker ps -a | grep POD  xxx
然后再編輯pod
kubectl edit pod -n uat  xxx
把finalizers去掉,然后就沒了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM