服务部署到Swarm Cluster中

Posted ckexp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务部署到Swarm Cluster中相关的知识,希望对你有一定的参考价值。

  对于已存在的镜像,将其部署到服务器中并开始对外服务,便是它的职责,而我们要做的便是帮助它完成职责,前两个应用环节都已产生了相应的镜像,在这一环节,将完成服务部署到容器集群的工作,对于这一过程,实际执行中有很多种方式,毕竟一山比一山高,整个过程比较简单,镜像以任务形式下发到各容器主机即可,本次部署过程较为简单,只作为示例来讲,无需太多复杂过程,更强调过程实现。

 

一、选用部署方式

  在之前的一篇文章:约定Service构建方式(https://www.cnblogs.com/CKExp/p/9940469.html)中提到了几种部署方式,对于我来讲,比较喜欢"借助工具手动交付"这种形式,一来,无需要面对命令行,借助工具去调用Docker Api,这样对于不太熟练使用的人也可以快速完成服务部署。

  技术分享图片

  这里涉及到Portainer工具的安装,以及Portainer集群管理的安装:

  1、单节点安装:Manager节点上安装Portainer,Swarm Cluster中没有Worker节点时直接使用这个即可,访问9000端口,配置账号密码即可管理。

$ docker volume create portainer_data
$ docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

   2、集群模式下安装,采用docker stack形式,完成所有节点的安装,这样一来可以在Manager节点中统一管理整个集群(推荐)

$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer

   Portainer文档:https://portainer.readthedocs.io/en/stable/index.html

  配置镜像仓库地址:选中左侧菜单:Registries->Add registry选择Custom registry,添加一个镜像仓库地址,本次我使用的是腾讯云镜像仓库,因此仓库地址填写腾讯云仓库地址,同时使用身份认证,打开Authentication选项,输入腾讯云提供的账号密码:

  技术分享图片

  腾讯云镜像仓库教程:https://cloud.tencent.com/document/product/457/9117

 

二、完成部署工作

   左侧菜单选择Service,点击增加一个Service,来开始服务部署工作。

   技术分享图片

   然后填写一系列信息,如服务名称、镜像名称及版本号、选择镜像仓库地址,在Scheduling mode处如果选择Relicated则填写实例数量,可用于动态控制,如果选择Global则一台容器主机生成一个容器,填写对外端口(推荐填写),不填则会被默认分配端口,开启钩子,当镜像版本进行更新后,通过生成的Url地址可以控制自动更新服务,对于访问可以控制。

   技术分享图片

  创建完毕,服务部署便完成了,点击左侧Swarm菜单可以查看集群及服务运行情况。通过其它操作,如动态扩容、版本更新、版本回滚等操作,完成对服务的控制。

  技术分享图片

  

 至此,服务部署到容器集群中算是完成了,操作过程较为简单,或许对于现有出色的生成流水线,如Azure DevOps等来讲,遥不可及,算是完成了一定的功能,旨在掌握整个生成流水线的过程,重在学习!。

 本文地址:https://www.cnblogs.com/CKExp/p/10158970.html 

 欢迎关注微信订阅号,有新的文章将同步到订阅号中

 技术分享图片

2018-12-23,望技术有成后能回来看见自己的脚步

以上是关于服务部署到Swarm Cluster中的主要内容,如果未能解决你的问题,请参考以下文章

swarm私募价格docker swarm 部署服务到集群

【6.2.1】服务器安装 Docker Swarm中搭建 Redis集群

Docker Swarm - 节点标签与服务约束

docker swarm使用keepalived+haproxy搭建基于percona-xtradb-cluster方案的高可用mysql集群

docker swarm 集群服务编排部署指南(docker stack)

将 Docker 容器部署到 swarm 集群中的多个节点