当前位置: 首页 > news >正文

常见的域名有哪些长沙seo霜天

常见的域名有哪些,长沙seo霜天,wordpress个人建站教程,专门做外国的网站有哪些目录 1、前言 2、Docker Swarm体系架构 2.1、简单介绍 2.2、体系架构 3、简单使用 3.1、环境准备 3.2、初始化master节点 3.3、建立worker节点 3.4、查看集群的节点信息 3.5、部署应用 3.5.1、创建Dockerfile文件 3.5.2、构建镜像 3.5.3、将镜像上传到Docker仓库 …

目录

1、前言

2、Docker Swarm体系架构

2.1、简单介绍

2.2、体系架构

3、简单使用

3.1、环境准备

3.2、初始化master节点

3.3、建立worker节点

3.4、查看集群的节点信息

3.5、部署应用

3.5.1、创建Dockerfile文件

3.5.2、构建镜像

3.5.3、将镜像上传到Docker仓库

3.5.4、Swarm集群中部署应用

3.5.5、查看服务信息

3.5.6、访问地址

3.5.7、动态伸缩


1、前言

上篇文章中我们讲到了Docker Compose来作为服务编排的工具,而Docker Compose只是用于单个宿主机上创建多个容器而进行服务编排的工具;而实际大型集群项目中,会面临多个服务器或宿主机上创建容器,从而组成集群提供相应的服务,而这时候就需要另一个服务编排工具Docker Swarm。

2、Docker Swarm体系架构

2.1、简单介绍

Docker Swarm是Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 宿主机抽象为一个整体,并通过一个入口统一管理这些 Docker 宿主机上的各种 Docker 资源。

Docker Swarm和Kubernetes 比较类似,但是它更加轻量级,且有的功能较 Kubernetes 少一些。有了Docker Swarm 集群,便可以实现应用的负载均衡与失败迁移功能。

Dockere 1.12.0版本开始,已经将Docker Swarm集成了,因此要使用他无需单独安装。而Docker Swarm本身内置了服务发现功能,因此也无需进行服务发现配置。

2.2、体系架构

Docker Swarm 集群是一个主从架构。其中有一个Swarm Manager 节点用来管理集群中的容器资源。Swarm Manager 节点对外暴露操作的接口,外部的用户可以通过该接口来实现对集群的管理。用户也可以通过 Swarm Manager 节点向集群发出操作指令。对于较大规模的 Docker 集群,可以将 Swarm Manager 单独部署到一台服务器上,从而提高其性能。Swarm Node 节点从 Swarm Manager 节点接收命令,从而创建相应的容器来运行应用。但是,用户只能笼统地向集群发出指令,而不能具体分配某台服务器干什么(这是由Swarm Manager节点上的Scheduler调度器完成的)。

3、简单使用

3.1、环境准备

准备3台虚拟机:

  • Master:安装了Docker 1.13.1,IP地址为:192.168.74.132
  • Node1:安装了Docker 1.13.1,IP地址为:192.168.74.133
  • Node2:安装了Docker 1.13.1,IP地址为:192.168.74.134

3.2、初始化master节点

先在master节点上初始化集群:

docker swarm init --listen-addr 192.168.74.132:8888 --advertise-addr 192.168.74.132
  • --listen-addr:集群暴露给外部调用的Http API的socket地址。
  • --advertise-addr:当宿主机有多网卡时,该参数用于指定绑定的网卡地址。

启动成功后,如上图所示。如果已经启动成功的,可以通过命令查看这部分信息:

docker swarm join-token manager

3.3、建立worker节点

将Node1和Node2节点作为worker加入Swarm集群:

docker swarm join --token SWMTKN-1-44rfzzzo532rkk6s9oi1eipmbuqa6f5lcz6nif4y41ynbggnh4-095o1oqhivebg57dtuwim6mep 192.168.74.132:8888

这里需要用到master节点的token,IP地址,和端口。

建立过程中可能遇到的问题:

  1. 问题1、--cluster-store and --cluster-advertise daemon configurations are incompatible with swarm mode
[root@192 pengyaohuang]# docker swarm join --token SWMTKN-1-44rfzzzo532rkk6s9oi1eipmbuqa6f5lcz6nif4y41ynbggnh4-095o1oqhivebg57dtuwim6mep 192.168.74.132:8888
Error response from daemon: --cluster-store and --cluster-advertise daemon configurations are incompatible with swarm mode

解决办法:检查docker配置文件是否配置了远程访问或者注册中心等配置,删除即可。我这边是因为前面配置了zookeeper相关信息导致。

  1. 问题2、can't initialize raft node
[root@192 pengyaohuang]# docker swarm join --token SWMTKN-1-44rfzzzo532rkk6s9oi1eipmbuqa6f5lcz6nif4y41ynbggnh4-095o1oqhivebg57dtuwim6mep 192.168.74.132:8888
Error response from daemon: can't initialize raft node: rpc error: code = 2 desc = could not connect to prospective new cluster member using its advertised address: rpc error: code = 14 desc = grpc: the connection is unavailable

解决办法:查看防火墙是否开启。关闭防火墙即可:

systemctl stop firewalld

节点加入成功后的提示:

3.4、查看集群的节点信息

在master节点上查看集群节点信息:

docker node ls

可以看到分别有3个节点,2个节点为Reachable状态,一个为Leader状态。而Leader状态的节点ID后带了*号,这个表示该节点为master节点。

这里需要注意的是,master节点也作为worker节点。因此这里总共是有1个master节点,3个worker节点。

到此基本的集群环境就已经构建完成了。

3.5、部署应用

集群环境构建完成后,我们开始部署应用。

3.5.1、创建Dockerfile文件

[root@192 docker_swarm]# vim Dockerfile 
FROM nginx
RUN echo '<h1> My first Swarm demo, version: 1</h1>' > /usr/share/nginx/html/index.html

3.5.2、构建镜像

# 1表示我们的版本号
# 等下要上传到我们的docker hub上,因此这里镜像加上我们的仓库名
docker build -t pengyaohuang/swarm_nginx_demo:1 .

3.5.3、将镜像上传到Docker仓库

登录Docker Hub。

docker login

输入账号密码后,就提示登录成功。

将镜像上传到仓库中。

docker push pengyaohuang/swarm_nginx_demo:1

这样,就上传成功啦。

而仓库上也有了我们刚推上去的镜像。

3.5.4、Swarm集群中部署应用

docker service create -p 8080:80 --replicas 3 --name swarm_demo pengyaohuang/swarm_nginx_demo:1

这里参数表示:

  • -p: 端口映射,这里将容器80端口映射到宿主机8080端口
  • --replicas:副本数量,即启动的容器数量,这里启动3个
  • --name:容器名称

3.5.5、查看服务信息

# 查看部署的服务列表
docker service ls# 查看服务的详细信息
docker service ps

由于我这里集群错误了一个节点,因此这里只能看到2个副本。具体失败原因,还有待查看。

3.5.6、访问地址

浏览器访问地址:http://192.168.74.192:8080,查看效果:

可以看到,就算我们的Node2节点部署失败了,我们整个项目依然是可以正常访问。这也就说明了集群的高可用。

3.5.7、动态伸缩

使用docker swarm我们还可以动态的对我们的服务进行扩容和缩容。如以下命令,我需要将当前容器的副本改为5:

docker service scale swarm_demo=5

也可以减少为1:

docker service scale swarm_demo=1

还是很方便的。

http://www.15wanjia.com/news/43811.html

相关文章:

  • 做网站一般使用什么算法saas建站平台
  • 群晖nas怎样做网站泰州百度seo公司
  • 免费网站如何做宣传第三波疫情将全面大爆发
  • 做金属小飞机的网站市场营销策划公司
  • 网站有没有做网站地图怎么看网络站点推广的方法
  • 网站建设php教程郑州seo技术培训班
  • 那曲做网站合肥网站推广助理
  • 沈阳定制网站方案百度电脑版登录网站
  • 深圳网站程序开发制作深圳seo网站推广方案
  • 武汉网站设计公司哪家好惠州seo外包服务
  • 深圳商城网站设计费用广告代理
  • 男女做暧暧网站怎么办网站平台
  • 网站开发语言检测全网推广成功再收费
  • 如何建微信微商城网站百度站长工具排名
  • wordpress 大神吴江seo网站优化软件
  • 网站升级建设费用如何让网站被百度收录
  • 建行深圳分公司windows优化大师怎么下载
  • 新网站没有死链接怎么做app开发公司哪家好
  • 房子设计图片网站关键词快速排名优化
  • html网页源代码查看seo是什么字
  • c 做网站 知乎杭州网络推广公司
  • 如何做网站在售产品分析百度知道客服电话
  • 团购网站自个做怎么在网上做网络营销
  • 佛山市网络推广willfast优化工具下载
  • 手机版网站模板下载百度推广系统营销平台
  • 相亲网站的女人 做直播的12345浏览器网址大全
  • 郑州上市企业网站建设品牌seo是什么意思
  • 网站建设业务员提成竞价推广账户竞价托管
  • php java做网站成都网络运营推广
  • WordPress不使用mysqlseo公司广州