etcdコマンド

7575 ワード

目次
  • etcdctlコマンドグローバルオプションパラメータ
  • etcdコマンドプレビュー
  • データ類操作
  • 非データクラスオペレーション
  • etcdctlコマンドグローバルオプションパラメータ
    パラメータ
    説明
    --debug
    デバッグ情報を出力し、コマンド実行時に開始したリクエストを表示
    --no-sync
    要求されたお金の非アクティブ同期クラスタ情報の発行
    --output, -o 'simple'
    応答メッセージを出力するフォーマットはsimple,jsonまたはextendedです.
    --discovery-srv, -D
    ドメイン名クエリーによるクラスタメンバー情報の検出
    --peers, -C
    クラスタ内のメンバーアドレスのリストをカンマで区切る
    --endpoint
    クラスタ内のメンバー・アドレスのリスト
    --cert-file
    クラスタがhttp認証を必要とする場合、TLSの証明書ファイルパスを提供します.
    --key-file HTTPS
    証明書ファイルの認証パス
    --ca-file
    ドメイン名関連ルート証明書ファイルパス
    --username, -u username[:password]
    ユーザー名とパスワードの検証情報
    --timeout '1s'
    要求された接続タイムアウト、デフォルトは1 s
    --total-timeout '5s'
    コマンド実行総タイムアウト、デフォルトは5 s
    --version, -v
    バージョン情報の印刷
    etcdコマンドプレビュー
    etcdがサポートするコマンドは大きく2種類に分けられ、データクラス操作、非データクラス操作
    データクラスアクション
    コマンド#コマンド#
    説明
    set
    セットキーに対応する値
    get
    キーに対応する値を取得
    update
    更新キーに対応する値
    mk
    新しい値の作成
    rm
    キー値またはディレクトリの削除
    watch
    キー値の変化を監視
    exec-watch
    キー値の変化を監視するコマンド
    ls
    目次の内容を一覧表示
    mkdir
    新しいディレクトリの作成
    rmdir
    空のディレクトリまたはキー値の削除
    setdir
    ディレクトリの作成(ディレクトリが既に存在することを許可)
    updatedir
    既存のディレクトリの更新
    非データクラスアクション
    コマンド#コマンド#
    説明
    backup
    指定したディレクトリのバックアップ
    cluster-health
    etcdクラスタの健康状態を検査する
    member
    メンバーを追加、削除またはリストするには、特定のサブコマンドが必要です.
    import
    スナップショットのインポート
    user
    ユーザーの追加、権限管理、特定のサブコマンドが必要
    role
    役割の追加、権限管理、特定のサブコマンドが必要
    auth
    グローバル認証管理
    データクラスアクション
    1. set
    [root@node2 ~]# etcdctl set /testdir/testkey "helloworld"
    helloworld

    2. get
    [root@node2 ~]# etcdctl get /testdir/testkey
    helloworld
    [root@node2 ~]# 
    
      --sort,         

    3. update
    [root@node2 ~]# etcdctl update /testdir/testkey hello
    hello
    [root@node2 ~]# etcdctl get /testdir/testkey
    hello
    [root@node2 ~]# 

    4. mk
             ,   ,    
    
    [root@node2 ~]# etcdctl mk /testdir/testkey2 hello
    hello
    [root@node2 ~]#
    
    [root@node2 ~]# etcdctl mk /testdir/testkey hello
    Error:  105: Key already exists (/testdir/testkey) [16]
    

    【setとmkの違い】キーがsetであるとキーの値が変更され、mkがエラーとなります
    5. rm
         ,       
    [root@node2 ~]# etcdctl rm /testdir/testkey2
    PrevNode.Value: hello
    
    --dir                 
    --recursive           

    6. watch
             ,           
    
    --forever     ,     CTRL+C  

    7. exec-watch
             ,        ,       
    [root@node2 ~]# etcdctl exec-watch /testdir/testkey -- sh -c 'ls /'
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    
              ,   watch  ,           

    8. mkdir
                 ,     
    
    [root@node2 ~]# etcdctl mkdir /test/testc --ttl 10 
    --ttl       s,10s       

    9. rmdir
           ,    。      ,   。
    
    [root@node2 ~]# etcdctl mkdir /testa
    [root@node2 ~]# etcdctl rmdir /testa/
    [root@node2 ~]#
    
    [root@node2 ~]# etcdctl ls /testdir/
    /testdir/testkey
    /testdir/testkey2
    [root@node2 ~]# etcdctl rmdir /testdir/
    Error:  108: Directory not empty (/testdir) [28]
    [root@node2 ~]# 

    11. setdir
           ,           
    
    [root@node2 ~]# etcdctl setdir /etc/testb
    [root@node2 ~]# etcdctl ls /etc/testb
    [root@node2 ~]# etcdctl setdir /etc/testb
    Error:  102: Not a file (/etc/testb) [34]
    [root@node2 ~]# 
    

    12. updatedir
                 (        )
    [root@node2 ~]# etcdctl mkdir /test/testc --ttl 10
    [root@node2 ~]# etcdctl mkdir /test/testc --ttl 30
    [root@node2 ~]# etcdctl updatedir /test/testc --ttl 300
    [root@node2 ~]# 

    非データクラスアクション
    1. backup
       --data-dir value              
       --wal-dir value         Path to the etcd wal dir
       --backup-dir value               
       --backup-wal-dir value  Path to the backup wal dir
       --with-v3               Backup v3 backend data
    
    [root@node2 ~]# cat /etc/etcd/etcd.conf |grep data-dir
    data-dir: "/opt/etcd_data"
    [root@node2 ~]# ls /opt/etcd_data
    member
    [root@node2 ~]# etcdctl backup --data-dir /opt/etcd_data --backup-dir /tmp/
    2019-06-05 22:37:20.757947 I | ignoring EntryConfChange raft entry
    2019-06-05 22:37:20.758148 I | ignoring EntryConfChange raft entry
    2019-06-05 22:37:20.758170 I | ignoring EntryConfChange raft entry
    2019-06-05 22:37:20.758314 I | ignoring member attribute update on /0/members/cf5538a4dab95927/attributes
    2019-06-05 22:37:20.758356 I | ignoring member attribute update on /0/members/a3d1fb0d28ed2953/attributes
    2019-06-05 22:37:20.758387 I | ignoring member attribute update on /0/members/8816eaa680e63c73/attributes
    2019-06-05 22:37:20.758455 I | ignoring v3 raft entry
    2019-06-05 22:37:20.758484 I | ignoring member attribute update on /0/members/cf5538a4dab95927/attributes
    2019-06-05 22:37:20.758509 I | ignoring member attribute update on /0/members/a3d1fb0d28ed2953/attributes
    2019-06-05 22:37:20.758534 I | ignoring member attribute update on /0/members/8816eaa680e63c73/attributes
    2019-06-05 22:37:20.758575 I | ignoring member attribute update on /0/members/8816eaa680e63c73/attributes
    2019-06-05 22:37:20.758608 I | ignoring member attribute update on /0/members/a3d1fb0d28ed2953/attributes
    2019-06-05 22:37:20.758633 I | ignoring member attribute update on /0/members/cf5538a4dab95927/attributes
    2019-06-05 22:37:20.758720 I | ignoring v3 raft entry
    2019-06-05 22:37:20.758870 I | ignoring member attribute update on /0/members/cf5538a4dab95927/attributes
    2019-06-05 22:37:20.758891 I | ignoring member attribute update on /0/members/a3d1fb0d28ed2953/attributes
    2019-06-05 22:37:20.758902 I | ignoring member attribute update on /0/members/8816eaa680e63c73/attributes
    
    [root@node2 ~]# ls /tmp/member/
    snap  wal
    [root@node2 ~]# 
    snap     ,          
    wal             
    
    【    】                           ,                    。

    2. cluster-health
    3. member
    4. role
    add       
    get       
    list         
    remove       
    grant           ,r:w:rw
    revoke             
        root,guest    ,         ,             
    
          
    [root@node2 ~]# etcdctl role add read_testdir
    Role read_testdir created
    [root@node2 ~]#
    
            /testdir/      
    [root@node2 ~]# etcdctl role grant read_testdir -path '/testdir/*' -read
    Role read_testdir updated
    [root@node2 ~]# 
    

    5. user
           ,
    add       
    get       
    list        
    remove     
    grant      j  
    revoke       
    passwd        
         ,     (  )root    etcd          
    
    [root@node2 ~]# etcdctl user add root
    New password: 
    User root created
    [root@node2 ~]# etcdctl user add test1
    New password: 
    User test1 created
    [root@node2 ~]# 
    
             
    [root@node2 ~]# etcdctl user grant test1 -roles read_testdir
    User test1 updated
    [root@node2 ~]#
    
          
    [root@node2 ~]# etcdctl user get test1
    User: test1
    Roles:  read_testdir
    -
    [root@node2 ~]# etcdctl user get test1  #        
    User: test1
    Roles:   read_testdir root
    
          
    [root@node2 ~]# etcdctl user revoke test1 -roles read_testdir
    User test1 updated
    [root@node2 ~]# 

    6. auth
            。enable   ,disable   。
    
    [root@node2 ~]# etcdctl user list
    Insufficient credentials
    [root@node2 ~]# etcdctl --username root:123 user list     --username     :    
    root
    test1
    [root@node2 ~]#

    参考『Dockerテクノロジー入門と実戦』第2版https://blog.csdn.net/fnatic_/article/details/84307332
    転載先:https://www.cnblogs.com/mldblue/articles/10984657.html