Etcd实战(二)-k8s集群中Etcd数据存储

1 介绍

k8s中所有对象的manifest都需要保存到某个地方,这样他们的manifest在api server重启和失败的时候才不会丢失,因此引入了etcd。在k8s中只有api server和etcd直接交互,其它组件都通过api server间接和etcd交互,这样做的好处如下。

  • 增强乐观锁系统及验证系统的健壮性
  • 方便后续存储的替换,只需修改api server组件的相关接口。

etcd是一个响应快、分布式、一致的KV存储,也是k8s存储集群状态和元数据的唯一地方。

2 查看k8s中etcd存储的数据

复制代码
$ kubectl get pod -n kube-system |grep etcd
etcd-ops-master-1                          1/1     Running   0          135m
$ kubectl exec -it -n kube-system etcd-ops-master-1 -- /bin/sh
sh-5.0#  
sh-5.0# etcdctl member list --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key
97937da5f040d7bc, started, ops-master-1, https://10.220.43.203:2380, https://10.220.43.203:2379, false

k8s中的etcd需要使用到证书进行认证。

查看etcd中存储的数据,可以手动在master节点上安装etcdctl命令。

复制代码
sh-5.0# exittcdctl get --prefix "" --endpoints=10.220.43.203:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key

--endpoints指定etcd节点,另外要使用到k8s证书,证书通常在/etc/kubernetes/pki/目录下,以下输出可以看到etcd中存储的k8s相关的键值数据。

相关推荐
豆芽脚脚36 分钟前
MongoDB 导出和导入完整指南
数据库·mongodb
烧饼Fighting42 分钟前
Mysql替换为瀚高数据库部分函数转换V4.5版本
数据库·mysql
上善若水_厚德载物1 小时前
Centos7 Mysql 5.7 读写分离
数据库·mysql
Mr__Miss2 小时前
Redis的持久化
数据库·redis·缓存
CCPC不拿奖不改名2 小时前
SQL基础(SQL小白教程):MySQL语句+环境一键搭建+面试习题
数据库·sql·计算机网络·mysql·oracle·面试·职场和发展
陈文锦丫2 小时前
JAVA面试
数据库·mysql
sunfove2 小时前
将 Python 仿真工具部署并嵌入个人博客
开发语言·数据库·python
冰清-小魔鱼4 小时前
各类数据存储结构总结
开发语言·数据结构·数据库
深藏bIue4 小时前
MongoDB 4.4.30安装、数据迁移
数据库·mongodb
—Qeyser4 小时前
Flutter GestureDetector 完全指南:让任何组件都能响应手势
flutter·云原生·容器·kubernetes