etcd使用

本文内容纲要:etcd使用

下载:

https://github.com/etcd-io/etcd/releases/tag/v3.3.13

tar -zxvf etcd-v3.3.13-linux-amd64.tar.gz

启动:

./etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls 'http://0.0.0.0:2379'

[root@localhost etcd-v3.3.13-linux-amd64]# ./etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls 'htt p://0.0.0.0:2379'

2019-08-03 16:27:40.261923 I | etcdmain: etcd Version: 3.3.13

2019-08-03 16:27:40.262093 I | etcdmain: Git SHA: 98d3084

2019-08-03 16:27:40.262107 I | etcdmain: Go Version: go1.10.8

2019-08-03 16:27:40.262128 I | etcdmain: Go OS/Arch: linux/amd64

2019-08-03 16:27:40.262144 I | etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1

2019-08-03 16:27:40.262176 W | etcdmain: no data-dir provided, using default data-dir ./default.etcd

2019-08-03 16:27:40.263503 I | embed: listening for peers on http://localhost:2380

2019-08-03 16:27:40.264070 I | embed: listening for client requests on 0.0.0.0:2379

2019-08-03 16:27:40.273565 I | etcdserver: name = default

2019-08-03 16:27:40.273598 I | etcdserver: data dir = default.etcd

2019-08-03 16:27:40.273607 I | etcdserver: member dir = default.etcd/member

2019-08-03 16:27:40.273613 I | etcdserver: heartbeat = 100ms

2019-08-03 16:27:40.273618 I | etcdserver: election = 1000ms

2019-08-03 16:27:40.273624 I | etcdserver: snapshot count = 100000

2019-08-03 16:27:40.273638 I | etcdserver: advertise client URLs = http://0.0.0.0:2379

2019-08-03 16:27:40.273646 I | etcdserver: initial advertise peer URLs = http://localhost:2380

2019-08-03 16:27:40.273657 I | etcdserver: initial cluster = default=http://localhost:2380

2019-08-03 16:27:40.276843 I | etcdserver: starting member 8e9e05c52164694d in cluster cdf818194e3a8c32

2019-08-03 16:27:40.276890 I | raft: 8e9e05c52164694d became follower at term 0

2019-08-03 16:27:40.276911 I | raft: newRaft 8e9e05c52164694d [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]

2019-08-03 16:27:40.276919 I | raft: 8e9e05c52164694d became follower at term 1

2019-08-03 16:27:40.281968 W | auth: simple token is not cryptographically signed

2019-08-03 16:27:40.287898 I | etcdserver: starting server... [version: 3.3.13, cluster version: to_be_decided]

2019-08-03 16:27:40.292469 I | etcdserver: 8e9e05c52164694d as single-node; fast-forwarding 9 ticks (election ticks 10)

2019-08-03 16:27:40.293629 I | etcdserver/membership: added member 8e9e05c52164694d [http://localhost:2380] to cluster cdf818194e3a8c32

2019-08-03 16:27:40.378709 I | raft: 8e9e05c52164694d is starting a new election at term 1

2019-08-03 16:27:40.378779 I | raft: 8e9e05c52164694d became candidate at term 2

2019-08-03 16:27:40.378823 I | raft: 8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 2

2019-08-03 16:27:40.378855 I | raft: 8e9e05c52164694d became leader at term 2

2019-08-03 16:27:40.378876 I | raft: raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 2

2019-08-03 16:27:40.399670 I | etcdserver: published {Name:default ClientURLs:[http://0.0.0.0:2379]} to cluster cdf818194e3a8c32

2019-08-03 16:27:40.401716 E | etcdmain: forgot to set Type=notify in systemd service file?

2019-08-03 16:27:40.401893 I | etcdserver: setting up the initial cluster version to 3.3

2019-08-03 16:27:40.403708 N | etcdserver/membership: set the initial cluster version to 3.3

2019-08-03 16:27:40.403871 I | etcdserver/api: enabled capabilities for version 3.3

2019-08-03 16:27:40.403922 I | embed: ready to serve client requests

2019-08-03 16:27:40.406114 N | embed: serving insecure client requests on [::]:2379, this is spanly discouraged!

nohup ./etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls 'http://0.0.0.0:2379' &

[root@localhost etcd-v3.3.13-linux-amd64]# ./etcdctl

[root@localhost etcd-v3.3.13-linux-amd64]# ./etcdctl

NAME:

etcdctl - A simple command line client for etcd.

WARNING:

Environment variable ETCDCTL_API is not set; defaults to etcdctl v2.

Set environment variable ETCDCTL_API=3 to use v3 API or ETCDCTL_API=2 to use v2 API.

USAGE:

etcdctl [global options] command [command options] [arguments...]

VERSION:

3.3.13

COMMANDS:

backup backup an etcd directory

cluster-health check the health of the etcd cluster

mk make a new key with a given value

mkdir make a new directory

rm remove a key or a directory

rmdir removes the key if it is an empty directory or a key-value pair

get retrieve the value of a key

ls retrieve a directory

set set the value of a key

setdir create a new directory or update an existing directory TTL

update update an existing key with a given value

updatedir update an existing directory

watch watch a key for changes

exec-watch watch a key for changes and exec an executable

member member add, remove and list subcommands

user user add, grant and revoke subcommands

role role add, grant and revoke subcommands

auth overall auth controls

help, h Shows a list of commands or help for one command

GLOBAL OPTIONS:

--debug output cURL commands which can be used to reproduce the request

--no-sync don't synchronize cluster information before sending request

--output simple, -o simple output response in the given format (simple, `extended` or `json`) (default: "simple")

--discovery-srv value, -D value domain name to query for SRV records describing cluster endpoints

--insecure-discovery accept insecure SRV records describing cluster endpoints

--peers value, -C value DEPRECATED - "--endpoints" should be used instead

--endpoint value DEPRECATED - "--endpoints" should be used instead

--endpoints value a comma-delimited list of machine addresses in the cluster (default:

"http://127.0.0.1:2379,http://127.0.0.1:4001")

--cert-file value identify HTTPS client using this SSL certificate file

--key-file value identify HTTPS client using this SSL key file

--ca-file value verify certificates of HTTPS-enabled servers using this CA bundle

--username value, -u value provide username[:password] and prompt if password is not supplied.

--timeout value connection timeout per request (default: 2s)

--total-timeout value timeout for the command execution (except watch) (default: 5s)

--help, -h show help

--version, -v print the version

ETCDCTL_API=3

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl

NAME:

etcdctl - A simple command line client for etcd3.

USAGE:

etcdctl

VERSION:

3.3.13

API VERSION:

3.3

COMMANDS:

get Gets the key or a range of keys

put Puts the given key into the store

del Removes the specified key or range of keys [key, range_end)

txn Txn processes all the requests in one transaction

compaction Compacts the event history in etcd

alarm disarm Disarms all alarms

alarm list Lists all alarms

defrag Defragments the storage of the etcd members with given endpoints

endpoint health Checks the healthiness of endpoints specified in `--endpoints` flag

endpoint status Prints out the status of endpoints specified in `--endpoints` flag

endpoint hashkv Prints the KV history hash for each endpoint in --endpoints

move-leader Transfers leadership to another etcd cluster member.

watch Watches events stream on keys or prefixes

version Prints the version of etcdctl

lease grant Creates leases

lease revoke Revokes leases

lease timetolive Get lease information

lease list List all active leases

lease keep-alive Keeps leases alive (renew)

member add Adds a member into the cluster

member remove Removes a member from the cluster

member update Updates a member in the cluster

member list Lists all members in the cluster

snapshot save Stores an etcd node backend snapshot to a given file

snapshot restore Restores an etcd member snapshot to an etcd directory

snapshot status Gets backend snapshot status of a given file

make-mirror Makes a mirror at the destination etcd cluster

migrate Migrates keys in a v2 store to a mvcc store

lock Acquires a named lock

elect Observes and participates in leader election

auth enable Enables authentication

auth disable Disables authentication

user add Adds a new user

user delete Deletes a user

user get Gets detailed information of a user

user list Lists all users

user passwd Changes password of user

user grant-role Grants a role to a user

user revoke-role Revokes a role from a user

role add Adds a new role

role delete Deletes a role

role get Gets detailed information of a role

role list Lists all roles

role grant-permission Grants a key to a role

role revoke-permission Revokes a key from a role

check perf Check the performance of the etcd cluster

help Help about any command

OPTIONS:

--cacert="" verify certificates of TLS-enabled secure servers using this CA bundle

--cert="" identify secure client using this TLS certificate file

--command-timeout=5s timeout for short running command (excluding dial timeout)

--debug[=false] enable client-side debug logging

--dial-timeout=2s dial timeout for client connections

-d, --discovery-srv="" domain name to query for SRV records describing cluster endpoints

--endpoints=[127.0.0.1:2379] gRPC endpoints

-h, --help[=false] help for etcdctl

--hex[=false] print byte strings as hex encoded strings

--insecure-discovery[=true] accept insecure SRV records describing cluster endpoints

--insecure-skip-tls-verify[=false] skip server certificate verification

--insecure-transport[=true] disable transport security for client connections

--keepalive-time=2s keepalive time for client connections

--keepalive-timeout=6s keepalive timeout for client connections

--key="" identify secure client using this TLS key file

--user="" username[:password] for authentication (prompt if password is not supplied)

-w, --write-out="simple" set the output format (fields, json, protobuf, simple, table)

get put简单操作

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl  put "name" "sunlong"

OK

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl delete "name" "sunlong"

Error: unknown command "delete" for "etcdctl"

Run 'etcdctl --help' for usage.

Error: unknown command "delete" for "etcdctl"

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl del "name" "sunlong"

1

[root@localhost etcd-v3.3.13-linux-amd64]#

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl get "name"

name

sunlong

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl get "name"

name

sunlong

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl get "name"

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl get -h

NAME:

get - Gets the key or a range of keys

USAGE:

etcdctl get [options] <key> [range_end]

OPTIONS:

--consistency="l" Linearizable(l) or Serializable(s)

--from-key[=false] Get keys that are greater than or equal to the given key using byte compare

--keys-only[=false] Get only the keys

--limit=0 Maximum number of results

--order="" Order of results; ASCEND or DESCEND (ASCEND by default)

--prefix[=false] Get keys with matching prefix

--print-value-only[=false] Only write values when using the "simple" output format

--rev=0 Specify the kv revision

--sort-by="" Sort target; CREATE, KEY, MODIFY, VALUE, or VERSION

GLOBAL OPTIONS:

--cacert="" verify certificates of TLS-enabled secure servers using this CA bundle

--cert="" identify secure client using this TLS certificate file

--command-timeout=5s timeout for short running command (excluding dial timeout)

--debug[=false] enable client-side debug logging

--dial-timeout=2s dial timeout for client connections

-d, --discovery-srv="" domain name to query for SRV records describing cluster endpoints

--endpoints=[127.0.0.1:2379] gRPC endpoints

--hex[=false] print byte strings as hex encoded strings

--insecure-discovery[=true] accept insecure SRV records describing cluster endpoints

--insecure-skip-tls-verify[=false] skip server certificate verification

--insecure-transport[=true] disable transport security for client connections

--keepalive-time=2s keepalive time for client connections

--keepalive-timeout=6s keepalive timeout for client connections

--key="" identify secure client using this TLS key file

--user="" username[:password] for authentication (prompt if password is not supplied)

-w, --write-out="simple" set the output format (fields, json, protobuf, simple, table)

[root@localhost etcd-v3.3.13-linux-amd64]#

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl put "/cron/jobs/job1" "{...job1}"

OK

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl put "/cron/jobs/job2" "{...job2}"

OK

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl get "/cron/jobs/" --prefix

/cron/jobs/job1

{...job1}

/cron/jobs/job2

{...job2}

  ETCDCTL_API=3 ./etcdctl  watch "/cron/jobs/" --prefix

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl put "/cron/jobs/job2" "{...job2...111}"

OK

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl del "/cron/jobs/job2"

1

[root@localhost etcd-v3.3.13-linux-amd64]# ETCDCTL_API=3 ./etcdctl watch "/cron/jobs/" --prefix

PUT

/cron/jobs/job2

{...job2...111}

DELETE

/cron/jobs/job2

 

本文内容总结:etcd使用

原文链接:https://www.cnblogs.com/sunlong88/p/11295281.html

以上是 etcd使用 的全部内容, 来源链接: utcz.com/z/297010.html

回到顶部