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相关的键值数据。

相关推荐
leonkay4 小时前
关于.NET中的队列理解
数据库·性能优化·.net·个人开发·设计规范·队列
斌味代码4 小时前
Redis 分库分表实战:从垂直拆分到水平扩容完整记录
数据库·redis·bootstrap
Percep_gan4 小时前
在芋道自定义数据权限
java·数据库
Trouvaille ~4 小时前
【MySQL篇】表的约束:保证数据完整性
数据库·mysql·约束·数据完整性·实体完整性·域完整性·参照完整性
rchmin4 小时前
阿里Tair分布式锁与Redis分布式锁的实现区别
数据库·redis·分布式
等....13 小时前
Minio使用
数据库
win x14 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
迷枫71215 小时前
DM8 数据库安装实战:从零搭建达梦数据库环境(附全套工具链接)
数据库
XDHCOM16 小时前
PostgreSQL 25001: active_sql_transaction 报错原因分析,故障修复步骤详解,远程处理解决方案
数据库·sql·postgresql
卤炖阑尾炎16 小时前
PostgreSQL 日常运维全指南:从基础操作到备份恢复
运维·数据库·postgresql