使用etcdctl查詢
前綴查詢担敌,獲取目錄
ETCDCTL_API=3 使用V3版本API
使用--prefix可以看到所有的子目錄
使用--keys-only=true可以僅查看key
-w=json|python -m json.tool 使用json輸出
因?yàn)榧簝?nèi)的etcd都是通過(guò)證書來(lái)訪問脾猛,需要指定所需的證書文件
作者:wowshiwoniu
鏈接:http://www.reibang.com/p/e428b6dba8e9
來(lái)源:簡(jiǎn)書
著作權(quán)歸作者所有撒犀。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)卧蜓,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
ETCDCTL_API=3 etcdctl --endpoints="https://127.0.0.1:2379" \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
get /registry/namespaces --prefix -w=json|python -m json.tool
輸出如下
{
"count": 1,
"header": {
"cluster_id": 3062785408171499891,
"member_id": 10892522639324701955,
"raft_term": 3,
"revision": 2339318
},
"kvs": [
{
"create_revision": 146,
"key": "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZGVmYXVsdA==",
"mod_revision": 146,
"value": "azhzAAoPCgJ2MRIJTmFtZXNwYWNlEl8KRQoHZGVmYXVsdBIAGgAiACokMzNiZjg3NjUtNzU0Ni00OGVjLWEwNjUtMjg4OWJiMWIyMzdmMgA4AEIICKuo9vcFEAB6ABIMCgprdWJlcm5ldGVzGggKBkFjdGl2ZRoAIgA=",
"version": 1
}
]
}
可以看到key和value均是一串字符串功炮,是base64加密過(guò)后的慕匠,若需要查看明文,可以通過(guò)簡(jiǎn)單的shell腳本來(lái)實(shí)現(xiàn)阅仔。這里只是簡(jiǎn)單的展示一下
$ echo -n "L3JlZ2lzdHJ5L25hbWVzcGFjZXMvZGVmYXVsdA==" | base64 -d
/registry/namespaces/default
備份
ETCDCTL_API=3 etcdctl --endpoints="https://127.0.0.1:2379" \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
snapshot save /tmp/etcd-snapshot-`date +%Y%m%d`.db
查看備份數(shù)據(jù)
etcdctl --endpoints="https://127.0.0.1:2379" --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key --cacert=/etc/kubernetes/pki/etcd/ca.crt --write-out=table snapshot status /tmp/etcd-snapshot-20210524.db
查看現(xiàn)在集群的狀態(tài)
ETCDCTL_API=3 etcdctl --endpoints="https://127.0.0.1:2379" \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
endpoint status --write-out=table