美文网首页
etcdctl使用查询和备份

etcdctl使用查询和备份

作者: 哆啦A梦_ca52 | 来源:发表于2021-05-24 13:32 被阅读0次

    使用etcdctl查询

    前缀查询,获取目录
    ETCDCTL_API=3 使用V3版本API
    使用--prefix可以看到所有的子目录
    使用--keys-only=true可以仅查看key
    -w=json|python -m json.tool 使用json输出

    因为集群内的etcd都是通过证书来访问,需要指定所需的证书文件

    作者:wowshiwoniu
    链接:https://www.jianshu.com/p/e428b6dba8e9
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    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加密过后的,若需要查看明文,可以通过简单的shell脚本来实现。这里只是简单的展示一下
    
    $ 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
    

    查看备份数据

    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 
    
    image.png

    查看现在集群的状态

    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
    
    image.png

    相关文章

      网友评论

          本文标题:etcdctl使用查询和备份

          本文链接:https://www.haomeiwen.com/subject/modxsltx.html