集群的特征

集群的特征,第1张

docker1.12版本的swarm集群特性

docker1.12版本之后,集成了swarmcontrol模块,立即应用dokcer-engin就可以轻松组建Docker集群,不需要像以前一样由第三方来配备。


自然环境:

管理器/节点1:swarm_node1

节点2:蜂群节点2


1:首先在每个连接点上安装最新版本的dokcer。

# curl -fsSL https://test.docker.com/ | sh # docker -v Docker version 1.12.0-rc4, build e4a0dbc


2:重置节点1上的群集群

群组节点1:

[root@swarm_node1 ~]# docker swarm init No --secret provided. Generated random secret:         dm18yjza2eb00wsbbk1hleq8q Swarm initialized: current node (4abdf6see9vqr83emyhdf529s) is now a manager. To add a worker to this swarm, run the following command:         docker swarm join --secret dm18yjza2eb00wsbbk1hleq8q \         --ca-hash sha256:cda112fa02a5c17850856b4d65366bb8484bcb204a46ae97063649a5545e277d \         192.168.1.131:2377


3.根据提示,将node2添加到swarm集群中。

群组节点2:

[root@swarm_node2 ~]#  docker swarm join --secret dm18yjza2eb00wsbbk1hleq8q --ca-hash sha256:cda112fa02a5c17850856b4d65366bb8484bcb204a46ae97063649a5545e277d  192.168.1.131:2377 This node joined a Swarm as a worker.

提醒连接点加成功。


4.要查询集群情况,需要检查管理方法连接点node1:

[root@swarm_node1 ~]# docker swarm inspect [ { "ID": "5kx8spry37citf16ty448y65e", "Version": { "Index": 11 }, "CreatedAt": "2016-08-05T02:09:17.248225691Z", "UpdatedAt": "2016-08-05T02:09:17.861408652Z", "Spec": { "Name": "default", "AcceptancePolicy": { "Policies": [ { "Role": "worker", "Autoaccept": true, "Secret": "$2a$10$oqvNfMPFiKIrEvYrZENRGOxsJly8.QnzNZ7XDKkP20MN8027N4gxm" }, { "Role": "manager", "Autoaccept": false, "Secret": "$2a$10$oqvNfMPFiKIrEvYrZENRGOxsJly8.QnzNZ7XDKkP20MN8027N4gxm" } ] }, "Orchestration": { "TaskHistoryRetentionLimit": 10 }, "Raft": { "SnapshotInterval": 10000, "LogEntriesForSlowFollowers": 500, "HeartbeatTick": 1, "ElectionTick": 3 }, "Dispatcher": { "HeartbeatPeriod": 5000000000 }, "CAConfig": { "NodeCertExpiry": 7776000000000000 } } } ] [root@swarm_node1 ~]# docker node ls ID                            HOSTNAME      MEMBERSHIP  STATUS    AVAILABILITY   MANAGER   STATUS 4abdf6see9vqr83emyhdf529s *   swarm_node1   Accepted    Ready     Active         Leader cs95yh0c4c0fo892996m5wozk     swarm_node2   Accepted    Ready     Active

能够看到每个连接点的情况(主动)和人物角色(领导者)等。


5:服务管理方法

1.12添加服务指令以管理服务项目。例如,您必须有一个测试服务项目,并且您必须有两个工具来 *** 作ping命令:

[root@swarm_node1 ~]# docker service create --name test --replicas 2 centos ping 127.0.0.1 bgach5ib1uoubo2ljarrx48xu [root@swarm_node1 ~]# docker service ls ID NAME REPLICAS IMAGE COMMAND bgach5ib1uou test 0/2 centos ping 127.0.0.1 [root@swarm_node1 ~]# docker service tasks test ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE 5rw3fr6xdl5kojhh28qzg8yos test.1 test centos Preparing 21 seconds ago Running swarm_node1 1l9siyzbflljowd543c5ehdil test.2 test centos Preparing 21 seconds ago Running swarm_node2

-RepicaS2指定服务项目数为2,可以看到一艘船分别运行在Node1和Node2上,构成一个测试服务项目。


6.不正确的维修6:服务和船只转移。

服务新特点的亮点是不正确的转修制度。如果某个连接点上的docker服务项目退出,或者网络服务器出现常见故障,swarm集群会检查服务是否发生了变化。如果发现某个连接点有通病,会在其他连接点对器皿进行维修,保证服务的细节。

比如这个时候我让swarm_node2退出swarm集群:

[root@swarm_node2 ~]# docker swarm leave Node left the swarm.

再次查询测试服务项目:

[root@swarm_node1 ~]# docker service tasks test ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE 5rw3fr6xdl5kojhh28qzg8yos test.1 test centos Preparing 5 minutes ago Running swarm_node1 9pzt555uzeswik14lj6bp96hf test.2 test centos Preparing about a minute ago Running swarm_node1

可以看出,服务项测试仍然维持两条血管,所有血管都转移到node1,因为node2已经退出。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/778526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存