查看 k8s 的 etcd 数据
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
kubernetes 的 API 对象的数据都保存在 etcd 中,本章实战如何查看这些数据;
环境信息
实战环境的版本信息如下,请确保以下软件都已运行正常:
操作系统 :CentOS Linux release 7.6.1810
Kubernetes:1.13
Go 版本:1.12
实际操作的机器可以用 kubectl 操作 k8s,并且已经安装了 Go 1.12 版本;
准备工作
下载 etcd,地址是:https://github.com/etcd-io/etcd/releases ,选 3.3.10 版本,如下图:
解压后找到 etcdctl 文件,将其放入 $GOPATH\bin 目录,记得执行 chown 命令给予可执行权限;
现在准备工作已经完成,接下来试试 etcdctl 工具查看 etcd 数据;
查看 etcd 数据的实际操作
执行查询时前缀是固定的,如下所示,使用这个前缀再加上 etcd 的查找命令即可成功查询:
查看所有 etcd 的所有 key,执行以下命令:
查到的结果如下:
查看指定 key 的内容,如果您的系统用的是 flannel 网络插件,可以执行以下命令查看相关数据:
看到的数据如下所示:
如上所示,有少量不可见字符,这是因为 etcd 中存储的并不是 json 的原文,而是 protocol buffer 序列化后的数据,不过还是有部分内容是可读的;
查看节点信息,如下所示,当前环境有 master 和 node0 两个节点:
执行以下命令可以查看 node0 节点的信息,由于结果中有很多序列化之后的不可读字符,就不把结果贴出来了:
etcd 中的 key 及其含义
关于 kubernetes 的 etcd 中有哪些 key 以及它们的含义,可以这篇文章中有更详细的说明:https://jakubbujny.com/2018/09/02/what-stores-kubernetes-in-etcd/
至此,kubernetes 环境下如何查看 etcd 存储的数据的实战就完成了,希望能够帮助您快速查看 k8s 系统的数据。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/0dab910662ec8bc8c325f9710】。文章转载请联系作者。
评论