etcd命令行基本操作


  etcd可通過客戶端命令行工具 etcdctl 對etcd進行請求操作,本文基於etcd v3 API,簡單介紹etcd的命令行基本操作。注意,若已經開啟了鑒權功能,以下所有命令都需要使用選項 --user 帶上用戶名和密碼。
 
1. 寫key
2. 讀key
(1)讀取一個key
可使用選項 --print-value-only 只打印值。
(2)讀取一個范圍內的key
半開區間:左閉右開
(3)讀取某個前綴的key
可以使用選項 --limit 限制返回的key數量。
(4)按key的字典順序讀取
讀取字典序大於或等於 name3 的key:
(5)讀取老版本的key
3. 刪key
可以通過選項 --prev-kv 讓命令返回對應的值。
返回的數字表示刪除的key數量。
與讀取key類似,刪除key也支持刪除一個范圍內的key、刪除某個前綴的key、按key的字段順序刪除key,具體命令參照讀取key的命令。
4. 租約
租約是etcd v3 API的新特性,租約是有過期時間的,一個租約可綁定多個key,所以當多個key需要相同的過期時間時,將一個租約綁定多個key,即可通過控制一個租約的過期時間來控制多個key的過期時間。
(1)授予租約,綁定key
20秒后該key即過期。
(2)撤銷租約
(4)獲取租約信息
查看租約的過期時間,以及綁定的所有key:
5. watch
在某個etcd節點通過watch機制監聽key的變化,在其他節點對這個key進行put或delete操作:
與讀取key類似,watch也支持watch一個范圍內的key、watch某個前綴的key、從某個key的歷史版本開始watch,具體命令參照讀取key的命令。
6. 查看etcd數據版本號
etcd可通過讀取一個key來獲取當前etcd服務端的版本號,不管key是否存在:
返回結果字段解析:
cluster_id:請求的etcd集群ID。
member_id:請求的etcd節點ID。
revision:etcd服務端當前全局數據版本號。對任一key的put或delete操作都會使revision自增1。revision=1是etcd的保留版本號,因此用戶的key版本號將從2開始。
raft_term:etcd當前raft主節點任期號。
create_revision:當前key創建時全局數據版本號revision的值。
mod_revision:當前key最后一次修改時全局數據版本號revision的值。
version:當前key的數據版本號。key創建時version為1,對當前key進行put操作會使version自增1,將key刪除后,重新創建,version又會從1開始計數。
 
etcd客戶端命令行工具 etcdctl 默認訪問 localhost:2379,可以通過選項 --endpoints 指定請求etcd server的地址:
可以看到,返回結果中 member_id 是不同的,因為請求了不同的etcd節點。
 
以上介紹的是etcd常用的基本操作,除此之外,還有更多命令行操作,例如:角色、用戶、權限、集群成員修改...
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM