Swarm实现Docker集群的搭建和管理。

1.Swarm是一个由Docker开发的调度框架。
(图网上找的)

2.负载均衡: Docker称之为入口负载均衡(ingress load balancing)。它的工作方式是,所有worker节点都监听在发布的服务端口上。当该服务被外部系统调用时,收到流量的节点会通过Docker提供的内部DNS服务,将流量负载均衡不同的worker上。

(图网上找的)

3.docker集群搭建。

(1).时间同步:
yum install –y ntpdate
ntpdate us.pool.ntp.org

(2).swarm manager服务的启动
docker swarm init --listen-addr 192.168.56.200:2377

(3).要是节点加入到对应的集群中是通过token来识别的。
添加时发现报错了百度了一把网上说我的2377端口没有打开。
打开防火墙端口:
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --reload

(4).docker swarm join --token SWMTKN-1-5uurnd5jjaxrsa6gt6s9chg35uuhm9f9cs7g0blmqdkw9lkpwf-3gcqoqcy0nom2i0q57un9fzcj 192.168.56.200:2377
此时这台机器已经成为了worker

至此问题解决,也说明一点,如果要使用swarm功能,需要在所有manager node节点上开启2377端口。

(5).也可以在manager上查看集群中机器情况
docker node ls

4.docker服务创建

服务:是指一个长期运行(long-running)的Docker容器,它可以被部署到任意一台worker节点上,可以被远端系统或者Swarm中其他容器连接和消费(consume)的。

任务(Task):服务运行的在一个容器的实例。

副本(replicas):同一个服务以特定数目在worker节点上运行。

创建一个服务
docker service create --name web_server httpd
创建副本数为2的服务
docker service create --name web_server2 --replicas 2 httpd
查看服务:docker service ls

查看服务的任务详情:docker service ps web_server2
这里有一个问题刚开始创建的两个服务出现这种情况说服务shutdown了,后面创建的服务正常了。

创建副本数为5的服务这次正常了
docker service create --name web_server3 --replicas 5 httpd

如果我们想让所有的节点都运行一个服务,就可以使用服务global化。Global Service使用了创建一个服务,该服务会自动地在每个worker节点上运行任务。
docker service create --name web_server4 --mode global httpd

删除服务:docker service rm web_server

服务的扩容与缩容
docker service scale web_server5=2

集群中服务端口绑定到主机

验证是否成功,(这里可以都输入manager机器的IP):

原文地址:http://blog.51cto.com/14033037/2308602

时间: 2024-08-29 01:55:06

Swarm实现Docker集群的搭建和管理。的相关文章

Windows利用Swarm原生Docker集群踩坑总结

环境: 角色 机器名称 操作系统 IP 备注 Mater Web30 Windows Server 2016 GUI 192.168.2.30 安装最新推荐补丁 Node Web31 Windows Server 2016 Core 192.168.2.31 安装最新推荐补丁 Node Web32 Windows Server 2016 Core 192.168.2.32 安装最新推荐补丁 第一坑:Windows Server 2016 Core 1.操作系统分区坑 由于我们使用的Windows

Swarm搭建 Docker集群

一.环境准备 1.准备服务器如下: 172.19.230.69 node1 172.19.230.70 node2 172.19.230.64 node3 2.修改主机名: hostnamectl set-hostname node1 3.关闭防火墙 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动 4.修改docker监听端口 vi /lib/syste

基于swarm的elasticsearch集群搭建

es集群构建: 1.安装head插件: for Elasticsearch 5.x: docker run -p 9100:9100 mobz/elasticsearch-head:5 ( docker run -p 9100:9100 10.211.121.26/library/elasticsearch-head ) 出现问题 head主控页面是可以显示的,但是显示连接失败 "集群健康值: 未连接" 解决方案 修改elasticsearch.yml文件 vim $ES_HOME$/

使用 Docker 一步搞定 ZooKeeper 集群的搭建

背景 原来学习 ZK 时, 我是在本地搭建的伪集群, 虽然说使用起来没有什么问题, 但是总感觉部署起来有点麻烦. 刚好我发现了 ZK 已经有了 Docker 的镜像了, 于是就尝试了一下, 发现真是爽爆了, 几个命令就可以搭建一个完整的 ZK 集群. 下面我简单记录一下使用 Docker 搭建 ZK 集群的一些步骤. 镜像下载 hub.docker.com 上有不少 ZK 镜像, 不过为了稳定起见, 我们就使用官方的 ZK 镜像吧.首先执行如下命令: docker pull zookeeper

k8s docker集群搭建

?Kubernetes介绍 1.背景介绍 云计算飞速发展 - IaaS - PaaS - SaaS Docker技术突飞猛进 - 一次构建,到处运行 - 容器的快速轻量 - 完整的生态环境 2.什么是kubernetes 首先,他是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性

Elk+filebeat收集docker集群swarm中的nginx和tomcat容器的日志信息

前言: 之前有说过elk收集nginx日志, 现在来说一下收集容器集群的日志收集Elk的安装这里不在说了,上来直接怼, 这里是elk的服务器:的服务状态:以及端口 Logstash是主要的配置内容这里: 如下 input { beats { port => 5044 } } filter { if "nginx-accesslog" in [tags] { grok { match => { "message" => "%{HTTPDAT

Docker 集群环境实现方式

Docker 集群环境实现的新方式 近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行

Docker 集群环境实现的新方式

近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展,加之企业业务需求的不断变化,紧随技术更新的步伐,导致企业架构要随时更改以适合业务需求.当前,越来越多的公司都已将以 Docker 为代表的容器技术用于企业级业务平台,比如:腾讯,京东,美团,新浪,阿里巴巴等互联网公司.数据的安全.Docker 容器的稳定运行是众多用户关注的,这就要求我们提供一套行之有效的管理大型容器集群的整体解决方

Hadoop+Spark:集群环境搭建

环境准备: 在虚拟机下,大家三台Linux ubuntu 14.04 server x64 系统(下载地址:http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-server-amd64.iso): 192.168.1.200 master 192.168.1.201 node1 192.168.1.202 node2 在Master上安装Spark环境: 具体请参考我的文章:<Hadoop:搭建hadoop集群> Spark集群环境搭建: 搭建h