Kubectl-Ice: 一款超强大的 Kubernetes Pod 资源终端管理工具

本期介绍一个实用的Kubectl插件kubectl-ice,可以让你快速地查看POD中容器正在运行的
首页 新闻资讯 行业资讯 Kubectl-Ice: 一款超强大的 Kubernetes Pod 资源终端管理工具

0308f1a09f17e3aab3897303763b25caa7a5df.jpg

你可以查看所有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
  • 1.

  • 源码安装


复制

$ git clone https://github.com/NimbleArchitect/kubectl-ice.git$ cd kubectl-ice$ make bin
  • 1.

  • 2.

  • 3.

使用帮助

复制

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    # 列出所有具有挂载点的容器卷
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

使用案例

基础

  • 显示指定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
  • 1.

  • 2.

  • 3.

  • 可结合标签使用

58ba8e6800c4236cac3530ceeced7015a5ce40.jpg

kubectl-ice probes

  • 检查容器状态(以及之前的状态)

87ddf6540623ebafd092179d5fa0cf300b3936.jpg

kubectl-ice status

  • 显示pod内容器镜像的拉取策略

c104e3c8297bf43868e61707541b6c4e1df0ce.jpg

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

9280d005188b9846bb7715122a11ad4e41bb09.jpg

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

46b42738431dd39483547296f68a83d8ab2ff1.jpg

kubectl-ice select --sort

  • 更多使用帮助信息可以参考官方说明[3]

  • 更多使用案例可以参考官方说明[4]

48    2022-05-25 16:59:27    Kubectl-Ic Kubernetes Pod