etcdctl查看k8s存储内容

通过kubeadm安装的kubernetes集群,etcd是通过pod形式运行的master节点,这个pod是启动的网络类型为host的container,和master 节点共享网络空间。这个pod是在kube-system这个namespace下, 我们可以通过命令查看一下具体内容。

etcd server信息

kubectl describe pod etcd-k8s-master -n kube-system

etcd

我们可以看到etcd的是run在node上的2379端口,服务端的证书都在node目录/etc/kubernetes/pki/etcd/, 数据都存储在/var/lib/etcd,知道这些信息后,我们可以通过etcdctl命令直接去操作etcd server。

etcdctl 访问etcd server

在你登录用户的.bashrc下配置好server信息,’认证证书,API version

vi ~/.bashrc

export ETCDCTL_ENDPOINTS=https://127.0.0.1:2379

export ETCDCTL_CACERT=/etc/kubernetes/pki/etcd/ca.crt

export ETCDCTL_CERT=/etc/kubernetes/pki/etcd/healthcheck-client.crt

export ETCDCTL_KEY=/etc/kubernetes/pki/etcd/healthcheck-client.key

export ETCDCTL_API=3

source ~/.bashrc

配置完成后就可以直接通过命令访问etcd

etcdctl get --prefix --keys-only /

这条命令列举出所有etcd存储的key,可以看到k8s是存在/registry/这个目录下,包括了所有resource的信息(API version, namespace, pod, deployment, service ......)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容