Kubectl自定义列获取RC副本返回奇怪十六进制值求助
关于kubectl自定义列返回十六进制值的问题解答
嘿,这个问题我之前碰到过!你看到的0xc20811d328这类十六进制值其实是指针的内存地址,原因很简单:ReplicationController的spec.replicas字段是一个指针类型,当你直接用.spec.replicas在自定义列里引用时,kubectl没有自动解析指针指向的实际数值,反而输出了指针本身的内存地址。
解决办法
只需要把字段引用改成JSONPath的语法,用大括号包裹字段路径就行,正确的命令应该是:
kubectl get rc -o=custom-columns=NAME:metadata.name,REPLICAS:{.spec.replicas}
执行这个命令后,就能正常显示副本数的数值(比如0或者你设置的其他数字)了。
补充说明
不止ReplicationController,Kubernetes里很多资源的字段都是指针类型(比如Deployment的spec.replicas也是),以后碰到类似自定义列输出奇怪十六进制的情况,都可以用{字段路径}的JSONPath语法来解析指针指向的实际值,避免直接输出指针地址。
内容的提问来源于stack exchange,提问作者Drew
相关产品推荐
相关产品推荐

