如何通过igztop显示K8s Pod的MLRun/Nuclio函数名等扩展参数?
解决igztop 0.1.3显示MLRun/Nuclio函数名及Pod旁展示项目和所有者的问题
一、手动指定列来显示MLRun/Nuclio函数名
igztop默认列未包含函数名字段,需用-c(或--columns)参数手动添加。直接执行这条命令:
igztop -w -c NAME,MLRUN_PROJ,MLRUN_OWNER,MLRUN_FUNC_NAME,NUCLIO_FUNC_NAME,CPU(m),MEMORY(Mi),NODE,STATUS,Req.(Mem),Lim.(Mem),Req.(CPU),Lim.(CPU)
这样就能把MLRun和Nuclio的函数名字段加入输出,同时保留你需要的原有列。
二、把项目名和所有者嵌到Pod名称旁
用--name-format参数自定义Pod名称的显示格式,通过Go模板语法把项目名和所有者拼进名称栏:
igztop -w --name-format "{{.Name}} [{{.MLRunProj}}/{{.MLRunOwner}}]" -c NAME,MLRUN_FUNC_NAME,NUCLIO_FUNC_NAME,CPU(m),MEMORY(Mi),NODE,STATUS,Req.(Mem),Lim.(Mem),Req.(CPU),Lim.(CPU)
执行后,Pod名称后方会以[项目名/所有者]的形式展示额外信息,无需单独查看后续列就能快速识别。
三、如果函数名字段无数据?检查Pod标签
要是添加MLRUN_FUNC_NAME或NUCLIO_FUNC_NAME后仍为空值,先确认这些Pod是否由MLRun/Nuclio部署:
- 执行
kubectl describe pod <目标Pod名>,查看metadata中的labels或annotations是否存在mlrun/function、nuclio/function-name这类字段 - 若没有,说明这些Pod并非MLRun/Nuclio函数实例,自然无法提取对应信息
四、不想每次输命令?存为配置文件
创建~/.igztop/config.yaml,写入以下配置:
columns: - NAME - MLRUN_PROJ - MLRUN_OWNER - MLRUN_FUNC_NAME - NUCLIO_FUNC_NAME - CPU(m) - MEMORY(Mi) - NODE - STATUS - Req.(Mem) - Lim.(Mem) - Req.(CPU) - Lim.(CPU) name-format: "{{.Name}} [{{.MLRunProj}}/{{.MLRunOwner}}]" watch: true
之后直接执行igztop就会自动加载该配置。
内容的提问来源于stack exchange,提问作者XiongChan
相关产品推荐
相关产品推荐

