Loading
0

docker1.12+swarmkit

一、理论解析:
Docker Swarm  是什么?
Docker Swarm 是一个用于创建 Docker 主机(运行 Docker 守护进程的服务器)集群的工具,
使用 Swarm 操作集群,会使用户感觉就像是在一台主机上进行操作
docker1.12 集成了 swarmkit, 使你可以不用安装额外的软件包, 使用简单的命令启动创建
docker swarm 集群。
如果你在运行 Docker 1.12 时,你就可以原生创建一个 Swarm 集群 .
集成了 swarm 集群的安全特性, 集成了 K-V 存储, 你现在不需要额外部署 etcd 或者 consul。
在 Docker1.12 版本中,一个大的功能点是 swarm 集群(基于 swarmkit 项目),通过 Docker
命令可以直接实现 docker-engine 相互发现,并组建成为一个容器集群。
SwarmKit 将节点分为两类:
工作节点(Worker ):负责通过执行容器运行任务。SwarmKit 的默认执行器为 Docker 容器执
行器(Docker Container Executor)。
(1)内建分布式存储,不要额外的数据库
(2)支持 Rolling update
(3 容器高可用
(4)通过 TLS 保证了节点之间通讯的安全
管理节点(Manager ):负责接收和响应用户请求,将集群状态调节到最终状态。在 SwarmKit
中,用户可以动态调整节点的角色,即在 Manager 和 Worker 之间转换。
如下图所示,这是一个典型的 master-slave 的架构。每个节点都是运行着 Docker Engine 的
Docker 主机。一些节点有更高的权限,被称为Manager。下面的节点是 worker 节点,接收
来自 manager 组的任务指示。


二、实验验证理论:
部署 docker1.12 Swarm
实验环境:
这里选择三台主机运行 Swarm,依次为:
node1 192.168.1.104
node2 192.168.1.105
node3 192.168.1.113
基本环境配置
3 台主机确保时间一致 ntp
3 台主机均关闭 selinux,开启路由转发。
3 台主机根据上面的实验环境描述修改主机名和 ip 地址
系统环境准备
准备系统环境, 配置 host 列表
3 台主机均修改/etc/hosts 文件,添加所有主机的 ip地址和主机名的映射记录
以 node1 为例子,同时给其它两台主机修改hosts文件:

开启宿主机之间的端口
TCP 端口 2377 集群管理端口
TCP 与 UDP 端口 7946 节点之间通讯端口
TCP 与 UDP 端口 4789overlay 网络通讯端口

配置所有节点密钥登录.
配置所下节点密钥互信, 在 node1 可以免密码登录各节点,只在 node1 上执行:
生成sshkey

使用for循环语句,发布 sshkey 到各个节点

测试密钥登录

安装 docker 1.12,每个节点都安装,这里使用rpm方式安装,

启动docker

检查docker版本

docker1.12 Swarm 模式简介
Docker Engine 1.12 集成了 Swarm 集群工具.
主要使用三个新的命令行工具创建一个 swarm 集群:
docker swarm 开启 swarm 模式; 加入 Swarm 集群; 配置集群参数
docker node 查询集群节点信息; 提升/移除一个管理节点; 管理 swarm 节点主机
docker service 创建管理 service
可以查看 docker --help
创建 Swarm 集群
在 node1 上初始化 swram 集群:
注意你只需要在一个 node1 上初始化 swarm 集群, 其他 node 加入这个集群就行了, 所以以
下命令只需要在 node1 上运行.

解释:根据如上命令的提示:
我们的其他节点服务器,以 worker 角色加入 swarm 集群需要登录到服务器运行如下命令:

分页阅读: 1 2 3 4
【声明】:8090安全小组门户(http://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。