轉載鏈接:https://blog.csdn.net/kozazyh/article/details/79586530
etcd2和etcd3是不兼容的,兩者的api參數也不一樣,詳細請查看 etcdctl -h 。
可以使用api2 和 api3 寫入 etcd3 數據,但是需要注意,使用不同的api版本寫入數據需要使用相應的api版本讀取數據。
api 2 使用方法
ETCDCTL_API=2 etcdctl ls /
api 3 使用方法
ETCDCTL_API=3 etcdctl get /
問題一、etcd3 沒有 ls 使用 get 替代:
例如:查詢所有key :
$ export ETCDCTL_API=3
$ export ETCD_ENDPOINTS="https://192.168.5.7:2379,https://192.168.5.8:2379,https://192.168.5.86:2379"
$ etcdctl --endpoints=${ETCD_ENDPOINTS} get / --prefix --keys-only
使用證書:
$ export ETCDCTL_API=3
$ export ETCD_ENDPOINTS="https://192.168.5.7:2379,https://192.168.5.8:2379,https://192.168.5.86:2379"
$ etcdctl --endpoints=${ETCD_ENDPOINTS} --cacert=/etc/kubernetes/ssl/ca.pem --cert=/etc/kubernetes/ssl/admin.pem --key=/etc/kubernetes/ssl/admin-key.pem --prefix --keys-only=true get /
參考:
https://github.com/coreos/etcd/issues/6904