找一个能查看etcd中存储的解码后的k8s数据的方法或工具。查看开源工具[1],很久没用维护了,看相关issue,该工具已经加入etcd-io。
编译步骤根据官方文档[2]操作,下载源码包:
[root@node1]cdauger/[root@node1auger]vimMakefileNAME?=augerPKG?=/etcd-io/$(NAME)GO_VERSION?=1.22.0
继续编译:
[root@node1auger]dockerexec-it9b41dd00e91ashvimMakefilemakereleaseBuildingreleaseintempdirectory/tmp/\-v/tmp//auger:/go/src//etcd-io/auger\-w/go/src//etcd-io/auger\golang:1.22.0\/bin/bash-c"make-f/go/src//etcd-io/auger/Makefilerelease-docker-buildGOARCH=amd64GOOS=linux"exportGOPATH=/goGOOS=linuxGOARCH=amd64GO111MODULE=onGOPROXY=''gobuildgo:/coreos/+incompatiblebuild/augerbuilt!
编译成功,执行二进制文件测试,提示glibc版本没找到:
[root@node1auger]rpm-qa|_9.x86_64
解决方案有两个:
以直接在节点上编译为例,下载指定版本的go安装包,直接执行gobuild命令:
[root@node1]llbuild/total39916-rwxr-xr-x1rootroot40871798May1319:12auger使用方法
查看帮助信息:
[root@iZbp1esczkzr2k2fughijkZauger]ETCDCTL_API=3etcdctlget/registry/pods/kube-system/coredns-795cc9c45c-j7nl4|./augerdecodeapiVersion:v1kind:Podmetadata:generateName:coredns-795cc9c45c-labels:k8s-app:kube-dnspod-template-hash:795cc9c45cname:coredns-795cc9c45c-j7nl4namespace:kube-systemspec:containers:-args:--conf-/etc/coredns/Corefilename:corednsports:volumeMounts:-mountPath:/etc/corednsname:config-volumereadOnly:true-mountPath:/tmpname:tmp-mountPath:/var/run/secrets//serviceaccountname:coredns-token-9dldjreadOnly:truenodeName:node1tolerations:-key:CriticalAddonsOnlyoperator:Existsvolumes:-emptyDir:{}name:tmpstatus:conditions:-lastProbeTime:nulltype:InitializedcontainerStatuses:-containerID:docker://f85d0fd1422a3860d574eb88b5dc23c165d5adb3eccb242a1a847bd0cfc98227hostIP:192.168.10.10phase:RunningpodIP:10.10.166.139qosClass:Burstable注意事项解析卡住的strace命令现象如下:
[root@node1]cp/var/lib/etcd//member/snap/db/root/[root@node1]cp/var/lib/etcd//member/snap/db/root/[root@node2~]#./augerchecksum-f/root/:2125275681compact-revision:6610743revision:6610932参考资料









