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

1 介绍

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

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

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

Etcd实战(二)-k8s集群中Etcd数据存储_第1张图片

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

你可能感兴趣的:(#,Etcd,etcd,kubernetes,数据库)