k8s学习(二)——etcdctl工具的使用

k8s的实现核心实际上就是通过读写etcd数据库实现对资源的存储,管理和控制。

k8s所有资源的本源都是存储在etcd中的一个个键值对。

理论上可以观察到etcd数据库中的数据变化。具体的使用方式如下:

用$K8SPATH/hack/local-up-cluster.sh启动一个k8s服务。这个可执行脚本中的68行定义了etcd的版本,默认是etcd3,可以修改为etcd2。

这个版本很重要,因为etcd3和etcd2是完全不同的两个东西,两者完全不兼容。

etcdctl工具是一个可以对etcd数据进行管理的命令行工具,这个工具在两个不同的etcd版本下的行为方式也完全不同。

export ETCDCTL_API=2

export ETCDCTL_API=3

以上两个语句分别将etcdctl访问的etcd版本调整为2或者3,下面分别说明两种不同的版本如何分别进行数据的访问。

etcd2

在etcd2的情况下,对etcd数据的访问如下:

etcdctl ls

可以逐级显示其当前的存储目录,直至到key-value

etcd3

etcdctl get / --prefix --keys-only
这条指令的意思是获取etcd中存储的所有key,并且前缀为 ‘/’,其结果类似于:

/registry/apiregistration.k8s.io/apiservices/v1.

/registry/apiregistration.k8s.io/apiservices/v1.authentication.k8s.io
对其中一个特定的键进行访问可以用一下方式进行:

etcdctl get /registry/apiregistration.k8s.io/apiservices/v1.

原文地址:https://www.cnblogs.com/elnino/p/7229559.html