Docker Swarm简介
Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令。
Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。
Swarm可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。
Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。
Docker Swarm 优点
任何规模都有高性能表现
灵活的容器调度
服务的持续可用性
和 Docker API 及整合支持的兼容性
Docker Swarm 为 Docker 化应用的核心功能(诸如多主机网络和存储卷管理)提供原生支持。
docker swarm 相关概念
节点分为管理 (manager) 节点和工作 (worker) 节点
任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。
服务 (Services) 是指一组任务的集合,服务定义了任务的属性。
Docker Swarm实践
实验环境: server1作为私有仓库 server234作为节点集群 (harbor私有仓库和集群相结合)
首先清理实验环境 确保没有其他容器 保持本次实验环境干净执行./install.sh脚本可自动拉起集群
[root@server1 harbor]# docker-compose ps 列出所有容器
创建 Swarm 集群
root@server2 ~]# docker swarm init 初始化集群
根据提示在其他docker节点server3 server4上执行命令:
[root@server2 ~]# docker node ls 查看swarm集群节点
将server2上的 demo json文件和demo json证书发送给server3 server4
此次报错是由于重启电脑之后原来配置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数 此次解决需要修改内核参数
[root@server3 sysctl.d]# sysctl -a|grep bridge-nf-call-iptables 过滤内核选项
[root@server3 sysctl.d]# vim /etc/sysctl.d/docker.conf 创建docker.conf文件 打开桥接
[root@server3 sysctl.d]# sysctl --system 使之生效