etcdctl支持下面列出來的命令,基本上能夠分爲數據庫操做和非數據庫操做,能夠查看etcdctl README.md來了解更多node
➜ ~ etcdctl -h |
數據庫操做圍繞對鍵值和目錄的 CRUD
(符合 REST 風格的一套操做:Create
)完整生命週期的管理。git
etcd 在鍵的組織上採用了層次化的空間結構(相似於文件系統中目錄的概念),用戶指定的鍵能夠爲單獨的名字,如 testkey
,此時實際上放在根目錄 /
下面,也能夠爲指定目錄結構,如 cluster1/node2/testkey
,則將建立相應的目錄結構。github
注:CRUD 即 Create, Read, Update, Delete,是符合 REST 風格的一套 API 操做。數據庫
指定某個鍵的值。例如json
➜ ~ etcdctl set /testdir/testkey "Hello world" |
支持的選項包括:ruby
--ttl '0' 該鍵值的超時時間(單位爲秒),不配置(默認爲 0)則永不超時 |
獲取指定鍵的值。例如dom
➜ ~ etcdctl get /testdir/testkey |
當鍵不存在時,則會報錯。例如ide
➜ ~ etcdctl get /testdir/testkey2 |
支持的選項爲ui
--sort 對結果進行排序 |
當鍵存在時,更新值內容。例如this
➜ ~ etcdctl update |
當鍵不存在時,則會報錯。例如
➜ ~ etcdctl update /testdir/testkey2 "Hello" |
支持的選項爲
--ttl '0' 超時時間(單位爲秒),不配置(默認爲 0)則永不超時 |
刪除某個鍵值。例如
➜ ~ etcdctl rm /testdir/testkey |
當鍵不存在時,則會報錯。例如
➜ ~ etcdctl rm |
支持的選項爲
--dir 若是鍵是個空目錄或者鍵值對則刪除 |
若是給定的鍵不存在,則建立一個新的鍵值。例如
➜ ~ etcdctl mk |
當鍵存在的時候,執行該命令會報錯,例如
➜ ~ etcdctl mk |
支持的選項爲
--ttl '0' 超時時間(單位爲秒),不配置(默認爲 0)則永不超時 |
若是給定的鍵目錄不存在,則建立一個新的鍵目錄。例如
➜ ~ etcdctl mkdir testdir2 |
當鍵目錄存在的時候,執行該命令會報錯,例如
➜ ~ etcdctl mkdir testdir2 |
支持的選項爲
--ttl '0' 超時時間(單位爲秒),不配置(默認爲 0)則永不超時 |
建立一個鍵目錄,不管存在與否。
支持的選項爲
--ttl '0' 超時時間(單位爲秒),不配置(默認爲 0)則永不超時 |
更新一個已經存在的目錄。 支持的選項爲
--ttl '0' 超時時間(單位爲秒),不配置(默認爲 0)則永不超時 |
刪除一個空目錄,或者鍵值對。
➜ ~ etcdctl setdir dir1 |
若目錄不空,會報錯
➜ ~ etcdctl set /dir/testkey hi |
列出目錄(默認爲根目錄)下的鍵或者子目錄,默認不顯示子目錄中內容。
例如
➜ ~ etcdctl ls |
支持的選項包括
--sort 將輸出結果排序 |
備份 etcd 的數據。
支持的選項包括
--data-dir etcd 的數據目錄 |
監測一個鍵值的變化,一旦鍵值發生更新,就會輸出最新的值並退出。
例如,用戶更新 testkey 鍵值爲 Hello watch。
➜ ~ etcdctl get /testdir/testkey |
➜ ~ etcdctl watch testdir/testkey |
支持的選項包括
--forever 一直監測,直到用戶按 `CTRL+C` 退出 |
監測一個鍵值的變化,一旦鍵值發生更新,就執行給定命令。
例如,用戶更新 testkey 鍵值。
➜ ~ etcdctl exec-watch testkey -- sh -c 'ls' |
支持的選項包括
--after-index '0' 在指定 index 以前一直監測 |
經過 list、add、remove 命令列出、添加、刪除 etcd 實例到 etcd 集羣中。
例如本地啓動一個 etcd 服務實例後,能夠用以下命令進行查看。
$ etcdctl member list |
命令選項
--debug 輸出 cURL 命令,顯示執行命令的時候發起的請求 |