侧边栏壁纸
博主头像
背锅小王子博主等级

我从事运维工作有十年之久,主要从事云原生相关的工作,对k8s、devops、servicemesh、可观察性等较为熟悉!

  • 累计撰写 59 篇文章
  • 累计创建 64 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

k8s中常用命令

背锅小王子
2022-08-20 / 0 评论 / 0 点赞 / 209 阅读 / 536 字
温馨提示:
本文最后更新于 2022-11-14,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、清理Terminating状态的Pod

kubectl get pods -A -o wide | grep Terminating | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n

2、强制清理Terminating状态的Pod

kubectl get pods -A -o wide | grep Terminating | awk '{print $1,$2}' | xargs -L1 kubectl delete pod --force --grace-period=0 -n

3、清理Error状态的Pod

kubectl get pods -A -o wide | grep Error | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n

4、清理Evicted状态的Pod

kubectl get pod -o wide -A | awk '{if($4=="Evicted"){cmd="kubectl -n "$1" delete pod "$2; system(cmd)}}'

5、清理未绑定的Pvc

kubectl get pvc -A | tail -n +2 | grep -v Bound | awk '{print $1,$2}' | xargs -L1 kubectl delete pvc -n

6、清理未绑定的Pv

kubectl get pv | tail -n +2 | grep -v Bound | awk '{print $1}' | xargs -L1 kubectl delete pv

7、清理已经完成Job

kubectl get pods -A-o wide | grep Completed | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n

8、清理Terminating状态的Namespace

获取 namespace 的详情信息并转为 json

$ kubectl get ns test -o json > test.json

编辑 test.json 文件去掉 spec 字段的内容,如下图:

 "spec": {
        "finalizers": [       # 删除该行
            "kubernetes"      # 删除该行
        ]                     # 删除该行
    },

执行清理命令,彻底删除这个 Namespace

kubectl replace --raw "/api/v1/namespaces/test/finalize" -f ./test.json 

9、各节点占用的 podCIDR

$ kubectl get no -o=custom-columns=INTERNAL-IP:.metadata.name,EXTERNAL-IP:.status.addresses[1].address,CIDR:.spec.podCIDR

10、各节点总可用资源

kubectl get no -o=custom-columns="NODE:.metadata.name,ALLOCATABLE CPU:.status.allocatable.cpu,ALLOCATABLE MEMORY:.status.allocatable.memory"

11、各节点 CPU已分配情况

kubectl get nodes --no-headers | awk '{print $1}' | xargs -I {} sh -c 'echo -ne "{}\t" ; kubectl describe node {} | grep Allocated -A 5 | grep -ve Event -ve Allocated -ve percent -ve -- | grep cpu | awk '\''{print $2$3}'\'';'

12、各节点内存已分配情况

kubectl get nodes --no-headers | awk '{print $1}' | xargs -I {} sh -c 'echo -ne "{}\t" ; kubectl describe node {} | grep Allocated -A 5 | grep -ve Event -ve Allocated -ve percent -ve -- | grep memory | awk '\''{print $2$3}'\'';'

13、各节点已分配资源情况

kubectl get nodes --no-headers | awk '{print $1}' | xargs -I {} sh -c "echo {} ; kubectl describe node {} | grep Allocated -A 5 | grep -ve Event -ve Allocated -ve percent -ve --;"
0

评论区