前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Swarm资源管理

Docker Swarm资源管理

作者头像
CodingDiray
发布2019-12-26 14:20:24
8870
发布2019-12-26 14:20:24
举报
文章被收录于专栏:Coding Diary

Docker Swarm

Docker Swarm是Docker官方项目之一,是使用SwarmKit构建的Docker引擎内置的集群管理和编排工具,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。使用它,用户可以将多个Docker主机封装为单个大型虚拟Docker主机,快速打造一套容器云平台。

节点

运行Docker的主机可以主动初始化一个Swarm集群或者加入一个已经存在的Swarm集群,这样这个运行Docker的主机就成为一个Swarm集群的节点 node。

节点分为管理节点 manager 和工作节点 worker 管理节点用于Swarm集群的管理,docker swarm命令基本只能在管理节点执行 工作节点是任务执行节点,管理节点将服务 service 下发到工作节点执行

服务与任务

任务 task 是Swarm中最小的调度单位,目前来说就是一个单一的容器

服务 service 是指一组任务的集合,服务定义了任务的属性

服务有两种模式:

  • replicated services 按照一定规则在各个节点上运行指定个数的任务
  • global services 每个工作节点上运行一个任务

这两种模式可以通过docker service create 的 —mode参数指定

Docker Swarm集群搭建

在Docker服务器上使用 docker swarm init 在初始化一个Swarm集群:

代码语言:javascript
复制
docker swarm init --advertise-addr 192.168.xx.xxx

执行docker swarm init命令的节点自动成为管理节点,同时该命令执行后会打印添加工作节点的命令,将该命令拷贝到工作节点执行后就可以将工作节点添加到Swarm集群中。如果忘记了添加工作节点的命令可以通过 “docker swarm join-token worker” 进行查看。在添加工作节点时可能会添加失败,可以先查看下防火墙,Swarm节点之间通过TCP/UDP进行通信,要确保端口2377,7946,4789是可以通信的,测试环境可以关闭防火墙,重启Docker服务。

这样一个管理节点,两个工作节点的Swarm最小集群就搭建完毕

Swarm集群部署服务

使用docker service命令可以管理Swarm集群中的服务,该命令只能在管理节点运行。

在Swarm集群中创建一个nginx服务,服务创建前确保每个节点:

代码语言:javascript
复制
docker service create --replicas 3 -p 80:80 --name nginx nginx:latest

使用 “docker service ls ” 和 “docker service ps ”命令可以查看运行的服务

服务正常启动后输入任意节点的IP都可以访问nginx服务

Swarm图形化资源管理工具

portainer是Docker图形化管理工具,提供了详细的状态显示面板,应用模板快速部署,容器/镜像/数据卷等的基本操作,事件日志的查看显示,Swarm集群和服务的集中管理,以及用户管理等功能

运行portainer:

代码语言:javascript
复制
# 拉取镜像
docker pull portainer/portainer

# 运行
docker run -d -p 9000:9000 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer

portainer容器启动后就可以在浏览访问,首次登录需要设置admin用户密码

portainer容器运行在Swarm管理节点上,选择local连接后就进入以下页面

点击local后进入详细页面,包含了主机上Docker的镜像,容器,数据卷,Swarm集群信息等

Swarm集群信息

服务信息,在这里可以进行服务的创建,扩容,删除等操作

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coding Diary 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker Swarm
    • 节点
      • 服务与任务
      • Docker Swarm集群搭建
      • Swarm集群部署服务
      • Swarm图形化资源管理工具
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档