Docker-swarm 集群部署及swarm集群管理节点的高可用配置
2018-02-27 10:23
1046 查看
Docker-swarm 集群部署及swarm集群管理节点的高可用配置
一.Docker部署
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce
service docker start
二.Docker-swarm集群的搭建
1.挑选一个节点作为管理节点
[root@jenkins-master ~]#docker swarm init --advertise-addr 192.168.0.46
docker swarm join-token worker命令是查看使用主节点的token添加节点到集群的命令
[root@jenkins-master ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join \ --token SWMTKN-1-5vzw37ummd0h863jddbig798pbq3jpgoepf95g4uenodwhtc7v-543arzx838nj0pgo2yujyfko4 \ 192.168.0.46:2377
添加节点到swarm集群中(在每台节点机上执行)
[root@jenkins47~]# docker swarm join --token SWMTKN-1-5vzw37ummd0h863jddbig798pbq3jpgoepf95g4uenodwhtc7v-543arzx838nj0pgo2yujyfko4 192.168.0.46:2377
查看集群节点信息
[root@jenkins-master ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
5s0spx5wonjgsl8k63vfybq1v zabbix.skong Ready Active
ttfs9upr4bmhyt9ssfxfixkwm jenkins47 Ready Active
uc40c8karvu3pq2eupllyicz8 * jenkins-master Ready Active Leader
三.配置docker-swarm管理节点高可用
如果swarm集群中只有一个管理节点,该管理节点如果宕机或者离开集群环境,那么该集群就不存在了。所以在一个具有N个管理节点的集群环境中,一定有管理节点总数的50%以上的节点来处理请求和保持可用。
Swarm中的管理节点都是通过实现Raft一致性算法来管理所有节点的状态。通过实现Raft Consensus Algorithm,可以确保集群中的所有任务、存储等都是一致的状态
通常情况下,一个Raft 集群包括了若干个服务器。在给定的任意时间点上,每个服务器都处在以下三种状态的一种:指挥者、跟随者,或候选者。在一般操作中,一定会有一个指挥者,剩下的服务器都是跟随者。跟随者是被动的:它们自己不提交任何需求,仅仅响应指挥者和候选者提出的需求。指挥者处理所有的客户端需求(如果客户端向跟随者发送了需求,跟随者会把它转交给指挥者)。至于第三种状态——候选者——则是用来选举一个新的指挥者。Raft 用一种心跳机制来触发指挥者选举。当服务器启动时,它们先从跟随者做起,并会在接收到指挥者或候选者发送的有效RPC 协议(远程过程调用协议)之前,一直执行跟随者的工作。指挥者定时向全体跟随者发送心跳信息,以保持它们的授权。如果一个跟随者超过一定时间没有接收到心跳信息(这段时间称为“选举超时”),它就会假设指挥者已经失效,然后启动选举,来选择一个新的指挥者。
[root@jenkins-master ~]# docker node promote zabbix.skong
[root@jenkins-master ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
5s0spx5wonjgsl8k63vfybq1v zabbix.skong Ready Active Reachable
ttfs9upr4bmhyt9ssfxfixkwm jenkins47 Ready Active
uc40c8karvu3pq2eupllyicz8 * jenkins-master Ready Active Leader
重启 Leader你会发现Leader节点会有变化
相关文章推荐
- Docker集群实验环境布署--swarm【6 配置上层Nginx代理,让任意Docker client访问得到高可用的管理API】
- Chapter 3 解决Swarm管理Docker集群节点状态一直pending的问题
- Docker集群管理工具-Swarm部署记录
- 非节点主机通过内网远程管理docker swarm集群
- storm1.x支持主节点nimbus高可用 多master集群部署
- Docker Swarm集群实践——部署篇
- Hadoop (CDH4发行版)集群部署 (部署脚本,namenode高可用,hadoop管理)
- 2 weekend110的zookeeper的原理、特性、数据模型、节点、角色、顺序号、读写机制、保证、API接口、ACL、选举、 + 应用场景:统一命名服务、配置管理、集群管理、共享锁、队列管理
- swarm+zookeeper配置docker集群
- 运维之我的docker-集群的管理-swarm
- Hadoop (CDH4发行版)集群部署 (部署脚本,namenode高可用,hadoop管理)
- kubeadm部署k8s1.9高可用集群--4部署master节点
- 30天了解30种技术系列(14)----Docker集群管理利器Swarm
- MySQL Cluster 7.3.7+CentOS7集群配置入门 MySQL双管理节点配置入门
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
- Centos 7部署docker+nginx+keepalived实现高可用web集群
- docker swarm 集群及可视化界面的安装及配置
- CloudStack + XenServer 部署 – CloudStack管理节点的安装和配置(3).
- 构建MySQL高可用MMM集群架构(MySQL主主复制)管理配置详解