Kubectl-Ice: 一款超强大的 Kubernetes Pod 资源终端管理工具
2023-2-27 08:0:14 Author: Docker中文社区(查看原文) 阅读量:16 收藏

本期介绍一个实用的Kubectl插件kubectl-ice,可以让你快速地查看POD中容器正在运行的配置信息,例如你可以查看所有POD内容器镜像的拉取策略、挂载卷、端口以及可执行配置等信息,同时结合metrics server你也可以查看容器运行的CPU和内存等相关指标信息。
​​​

功能

  • 仅使用读取权限,不会调用写操作
  • 默认会列举出当前集群下命名空间内所有pod中的容器相关配置,kubectl-ice基本支持所有kubectl的选项参数;例如指定-A指定所有命令空间下的pod中的所有容器。
  • 支持选择器,与在kubectl中的使用方式类似
  • 支持对输出的内容进行排序
  • 用match标志从输出中排除行,这对于排除内存或cpu使用率低的容器很有用。Exclude rows from output using the match flag, useful to exclude containers with low memory or cpu usage
  • 使用oddity标志只列出不在范围内的cpu和内存结果。List only cpu and memory results that dont fall within range using the oddities flag

安装

安装比较简单,可以通过kubectl插件管理器krew[1]安装,也可以通过下载二进制[2]包进行安装,或者不嫌麻烦源码直接安装

  • krew安装
$ kubectl krew install ice
  • 源码安装
$ git clone https://github.com/NimbleArchitect/kubectl-ice.git
cd kubectl-ice
$ make bin

使用帮助

kubectl-ice command    # 检索在容器级别指定的命令行和任何参数
kubectl-ice cpu        # 返回CPU请求的大小,限制和每个容器的使用
kubectl-ice help       # 显示帮助信息
kubectl-ice image      # 列出每个容器的镜像以及镜像的拉取策略
kubectl-ice ip         # 列出名称空间中所有pods的IP地址
kubectl-ice memory     # 返回每个容器的内存请求大小、限制和使用情况
kubectl-ice ports      # 显示pod内容器暴露的端口
kubectl-ice probes     # 显示每个容器配置的启动、就绪和活动探针的详细信息
kubectl-ice restarts   # 显示pod中每个容器的重启计数
kubectl-ice status     # 列出pod中每个容器的状态
kubectl-ice volumes    # 列出所有具有挂载点的容器卷

使用案例

基础

  • 显示指定pod内容器的内存指标信息(T: type,其值有I/init容器,S/standard标准容器)
$ kubectl-ice memory resource-test-6c6f556b4f-lmngp
T  CONTAINER  USED      REQUEST  LIMIT  %REQ  %LIMIT
S  resource   101.18Mi  500Mi    1Gi    20.24 9.88
  • 可结合标签使用

kubectl-ice probes
  • 检查容器状态(以及之前的状态)

kubectl-ice status
  • 显示pod内容器镜像的拉取策略

  • 显示pod内容器暴露的端口以及挂载卷信息

  • 使用选择器,同时可以使用--sort进行排序,注意!的使用,表示倒序

kubectl-ice select --sort
  • 更多使用帮助信息可以参考官方说明[3]
  • 更多使用案例可以参考官方说明[4]

END

看完本文有收获?请转发分享给更多人

参考资料

[1]

krew: https://github.com/kubernetes-sigs/krew

[2]

kubectl-ice: https://github.com/NimbleArchitect/kubectl-ice/releases

[3]

kubectl-ice usage: https://github.com/NimbleArchitect/kubectl-ice/blob/main/docs/usage.md

[4]

example: https://github.com/NimbleArchitect/kubectl-ice/blob/main/docs/examples.md

本文转载自:「云原生生态圈」,原文:https://url.hi-linux.com/jouOm,版权归原作者所有。

推荐阅读 点击标题可跳转

《Docker是什么?》

《Kubernetes是什么?》

《Kubernetes和Docker到底有啥关系?》

《教你如何快捷的查询选择网络仓库镜像tag》

《Docker镜像进阶:了解其背后的技术原理》

《教你如何修改运行中的容器端口映射》

《k8s学习笔记:介绍&上手》

《k8s学习笔记:缩扩容&更新》

《Docker 基础用法和命令帮助》

《在K8S上搭建Redis集群》

《灰度部署、滚动部署、蓝绿部署》

《PM2实践指南》

《Docker垃圾清理》

《Kubernetes(k8s)底层网络原理刨析》

《容器环境下Node.js的内存管理》

《MySQL 快速创建千万级测试数据》

《Linux 与 Unix 到底有什么不同?》

《浅谈几种常见 RAID 的异同》

《Git 笔记-程序员都要掌握的 Git》

《老司机必须懂的MySQL规范》

《Docker中Image、Container与Volume的迁移》

《漫画|如何用Kubernetes搞定CICD》

《写给前端的Docker实战教程》

《Linux 操作系统知识地图2.0,我看行》

《16个概念带你入门 Kubernetes》

《程序员因接外包坐牢456天,长文叙述心酸真实经历》

《IT 行业老鸟,有话对你说》

《HTTPS 为什么是安全的?说一下他的底层实现原理?


免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!



文章来源: http://mp.weixin.qq.com/s?__biz=MzI1NzI5NDM4Mw==&mid=2247494510&idx=1&sn=20049f7fe7a9737bc2599e7f2734984b&chksm=ea1b022edd6c8b380ee518a2bc5af8c7ad17626a639898122ee1833fb918a0accb66169c495c#rd
如有侵权请联系:admin#unsafe.sh