操作etcd有命令行工具etcdctl,有两个api版本互不兼容的,系统默认的v2版本,kubernetes集群使用的是v3版本,v2版本下是看不到v3版本的数据的,我也是找了些资料才了解这个情况。
使用环境变量定义api版本export ETCDCTL_API=3
etcd有目录结构类似linux文件系统,获取所有key看一看:etcdctl get / --prefix --keys-only
一看就可以大概理解kubenetes的数据结构了,查询命名空间下所有部署的数据:
etcdctl get /registry/deployments/default --prefix --keys-only
把想删除的删掉,列如:etcdctl del /registry/deployments/default/elevated-dragonfly-spinn-front50
删除deployments,pods这可以了,稍微减少一些资源,让kube-apiserver可以正常工作即可,其它资源还可以使用kubectl工具删除
删掉些资源后退出etcd把kube-apiserver的编排文件放回/etc/kubernetes/manifests目录,服务会再次启动,然后再清理重新部署。
总结:
etcd组织的数据结构清晰,查找操作简便,从数据层面去维护集群也很容易,保护好数据就有一切
作者:奚落大神
链接:https://www.jianshu.com/p/f9f83dd21770
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。