docker怎么部署etcd集群
本篇内容介绍了“docker怎么部署etcd集群”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
需要安装:
docker
dockerpose
参数详细:
–name
:设置成员节点的别名,建议为每个成员节点配置可识别的命名–advertise-client-urls
:广播到集群中本成员的监听客户端请求的地址–initial-advertise-peer-urls
:广播到集群中本成员的Peer监听通信地址–listen-client-urls
:客户端请求的监听地址列表–listen-peer-urls
:Peer消息的监听服务地址列表–initial-cluster-token
:启动集群的时候指定集群口令,只有相同token的几点才能加入到同一集群–initial-cluster
:所有集群节点的地址列表–initial-cluster-state
:初始化集群状态,默认为new,也可以指定为exi-string表示要加入到一个已有集群
创建etcd数据目录
mkdir-p./etcd-node{1,2,3}
创建docker网络
dockernetworkcreate--driverbridge--subnet172.62.0.0/16--gateway172.62.0.1etcd-cluster
etcd-clusterpose.yml
version:'3'networks:etcd-cluster:external:trueservices:etcd-node1:image:quay.io/coreos/etcd:v3.3.1container_name:etcd-node1ports:-"12379:2379"-"12380:2380"restart:alwaysvolumes:-./etcd-node1:/data/app/etcd mand:etcd--nameetcd-node1--data-dir/data/app/etcd/--advertise-client-urls172.62.0.10:2379--initial-advertise-peer-urls172.62.0.10:2380--listen-client-urls0.0.0.0:2379--listen-peer-urls0.0.0.0:2380--initial-cluster-tokenetcd-cluster--initial-cluster"etcd-node1=172.62.0.10:2380,etcd-node2=172.62.0.11:2380,etcd-node3=172.62.0.12:2380"--initial-cluster-statenewnetworks:etcd-cluster:ipv4_address:172.62.0.10etcd-node2:image:quay.io/coreos/etcd:v3.3.1container_name:etcd-node2ports:-"22379:2379"-"22380:2380"restart:alwaysvolumes:-./etcd-node2:/data/app/etcd mand:etcd--nameetcd-node2--data-dir/data/app/etcd/--advertise-client-urls172.62.0.11:2379--initial-advertise-peer-urls172.62.0.11:2380--listen-client-urls0.0.0.0:2379--listen-peer-urls0.0.0.0:2380--initial-cluster-tokenetcd-cluster--initial-cluster"etcd-node1=172.62.0.10:2380,etcd-node2=172.62.0.11:2380,etcd-node3=172.62.0.12:2380"--initial-cluster-statenewnetworks:etcd-cluster:ipv4_address:172.62.0.11etcd-node3:image:quay.io/coreos/etcd:v3.3.1container_name:etcd-node3ports:-"32379:2379"-"32380:2380"restart:alwaysvolumes:-./etcd-node3:/data/app/etcd mand:etcd--nameetcd-node3--data-dir/data/app/etcd/--advertise-client-urls172.62.0.12:2379--initial-advertise-peer-urls172.62.0.12:2380--listen-client-urls0.0.0.0:2379--listen-peer-urls0.0.0.0:2380--initial-cluster-tokenetcd-cluster--initial-cluster"etcd-node1=172.62.0.10:2380,etcd-node2=172.62.0.11:2380,etcd-node3=172.62.0.12:2380"--initial-cluster-statenewnetworks:etcd-cluster:ipv4_address:172.62.0.12
启动并验证集群
启动
[root@k8s-node1etcd-cluster]#dockerpose-fetcd-clusterpose.ymlup-dPullingetcd-node1(quay.io/coreos/etcd:v3.3.1)...v3.3.1:Pullingfromcoreos/etcdff3a5c916c92:Pull pletedec5fcc85a18:Pull plete3944f16f0112:Pull plete0b6d29b049fe:Pull pleted8c39ae91d38:Pull plete42fcea4864ba:Pull pleteDigest:sha256:454e69370d87554dcb4272833b8f07ce1b5d457caa153bda4070b76d89a1cc97Status:Downloadednewerimageforquay.io/coreos/etcd:v3.3.1Creatingetcd-node1...doneCreatingetcd-node2...doneCreatingetcd-node3...done
[root@k8s-node1etcd-cluster]#dockerpose-fetcd-clusterpose.ymlps-aName mandStatePorts------------------------------------------------------------------------------------------------------etcd-node1etcd--nameetcd-node1--d...Up0.0.0.0:12379->2379/tcp,0.0.0.0:12380->2380/tcpetcd-node2etcd--nameetcd-node2--d...Up0.0.0.0:22379->2379/tcp,0.0.0.0:22380->2380/tcpetcd-node3etcd--nameetcd-node3--d...Up0.0.0.0:32379->2379/tcp,0.0.0.0:32380->2380/tcp
验证集群
通过etcdctl member list命令可以查询出所有集群节点的列表并且结果一致即为成功
[root@k8s-node1etcd-cluster]#dockerexec-itetcd-node1/bin/sh/#etcdctlmemberlist8cef47d732d4acff:name=etcd-node1peerURLs=172.62.0.10:2380clientURLs=172.62.0.10:2379isLeader=falsec93af917b643516f:name=etcd-node3peerURLs=172.62.0.12:2380clientURLs=172.62.0.12:2379isLeader=truecdee7114ad135065:name=etcd-node2peerURLs=172.62.0.11:2380clientURLs=172.62.0.11:2379isLeader=false/#exit[root@k8s-node1etcd-cluster]#dockerexec-itetcd-node2/bin/sh/#etcdctlmemberlist8cef47d732d4acff:name=etcd-node1peerURLs=172.62.0.10:2380clientURLs=172.62.0.10:2379isLeader=falsec93af917b643516f:name=etcd-node3peerURLs=172.62.0.12:2380clientURLs=172.62.0.12:2379isLeader=truecdee7114ad135065:name=etcd-node2peerURLs=172.62.0.11:2380clientURLs=172.62.0.11:2379isLeader=false[root@k8s-node1etcd-cluster]#dockerexec-itetcd-node3/bin/sh/#etcdctlmemberlist8cef47d732d4acff:name=etcd-node1peerURLs=172.62.0.10:2380clientURLs=172.62.0.10:2379isLeader=falsec93af917b643516f:name=etcd-node3peerURLs=172.62.0.12:2380clientURLs=172.62.0.12:2379isLeader=truecdee7114ad135065:name=etcd-node2peerURLs=172.62.0.11:2380clientURLs=172.62.0.11:2379isLeader=false
k/v操作
CURL
新增
[root@k8s-node1etcd-cluster]#dockerpose-fetcd-clusterpose.ymlps-aName mandStatePorts------------------------------------------------------------------------------------------------------etcd-node1etcd--nameetcd-node1--d...Up0.0.0.0:12379->2379/tcp,0.0.0.0:12380->2380/tcpetcd-node2etcd--nameetcd-node2--d...Up0.0.0.0:22379->2379/tcp,0.0.0.0:22380->2380/tcpetcd-node3etcd--nameetcd-node3--d...Up0.0.0.0:32379->2379/tcp,0.0.0.0:32380->2380/tcp[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:12379/version{"etcdserver":"3.3.1","etcdcluster":"3.3.0"}[root@k8s-node1etcd-cluster]#[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:12379/v2/keys/Alexclownfish-XPUT-dvalue=blog.alexcld{"action":"set","node":{"key":"/Alexclownfish","value":"blog.alexcld","modifiedIndex":19,"createdIndex":19}}
查询
[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:12379/v2/keys/Alexclownfish-XGET{"action":"get","node":{"key":"/Alexclownfish","value":"blog.alexcld","modifiedIndex":19,"createdIndex":19}}[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:22379/v2/keys/Alexclownfish-XGET{"action":"get","node":{"key":"/Alexclownfish","value":"blog.alexcld","modifiedIndex":19,"createdIndex":19}}[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:32379/v2/keys/Alexclownfish-XGET{"action":"get","node":{"key":"/Alexclownfish","value":"blog.alexcld","modifiedIndex":19,"createdIndex":19}}
修改
同新建一样
删除
[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:12379/v2/keys/Alexclownfish-XDELETE{"action":"delete","node":{"key":"/Alexclownfish","modifiedIndex":20,"createdIndex":19},"prevNode":{"key":"/Alexclownfish","value":"blog.alexcld","modifiedIndex":19,"createdIndex":19}}[root@k8s-node1etcd-cluster]#curl-L127.0.0.1:12379/v2/keys/Alexclownfish-XGET{"errorCode":100,"message":"Keynotfound","cause":"/Alexclownfish","index":20}
etcdctl
新增
/#etcdctlsetclownfish12345671234567/#etcdctlgetclownfish1234567
查询
/#etcdctlgetclownfish1234567
修改
/#etcdctlgetclownfish1234567/#etcdctlsetclownfish987654321ddd987654321ddd/#etcdctlgetclownfish987654321ddd
删除
/#etcdctlrmclownfishPrevNode.Value:987654321ddd/#etcdctlgetclownfishError:100:Keynotfound(/clownfish)[23]
“docker怎么部署etcd集群”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注主机评测网网站,小编将为大家输出更多高质量的实用文章!
输入法切换键是哪个键?输入法切
冬月是哪一个月?冬月是什么意思
个人所得税退税金额怎么算出来的
输入法全角和半角有什么区别?输
a4纸尺寸是多少厘米?a4纸的由来
个人所得税扣除标准?个人所得税
输入法哪个好用?输入法介绍
卡拉OK是哪个国家发明的?卡拉OK
mikutools原神网页版入口链接?m
关机特别慢什么原因?电脑和手机