计算机系统应用教程网站

网站首页 > 技术文章 正文

DevOpsDocker - 编排和传递 devops实现

btikc 2024-10-14 08:46:54 技术文章 3 ℃ 0 评论

Chapter 3. 编排和传递

创建 Docker 主机群集背后的主要动机是设计高可用性。大多数 (如果不是全部的话) 群集和编排工具 (如 Docker Swarm和 Kubernetes) 都可以利用群集来创建主从类型的关系。这可确保在环境中任何一个节点出现故障时, 始终有一个节点可回退。在将群集部署到云提供商时, 您可以利用以下几种技术来确保您的环境具有高可用性, 例如 "领事", 还可以通过部署 master 来利用云的本机容错设计和单独可用性区域中的节点。

Lesson Objectives

到本课结束时, 您将能够:

  • 获取 Docker 群模式的概述
  • 使用 Docker 引擎创建大量 Docker 引擎
  • 在群中管理服务和应用程序
  • 向上和向下扩展服务以处理应用程序上的更多请求
  • 负载平衡 docker 群部署
  • 安全的 Docker 容器和部署

编排

在我们当地的环境中运行容器很容易, 不需要我们付出太多努力;说到云, 我们需要一种不同的心态和工具来帮助我们实现这一目标。我们的环境应该是高可用性的、容错的和易于扩展的。协调资源和/或容器 (生成统一工作流) 的过程是业务流程。

首先, 让我们熟悉一些在业务流程中使用的术语:

  • docker-engine: 这是指我们当前在计算机上的 Docker 捆绑包或安装
  • docker-machine: 帮助我们在虚拟机上面安装docker的工具
  • Virtual hosts: 运行在物理机里面的虚拟机
  • docker-swarm: 一个Docker的集群管理工具
  • docker host: 一个安装了docker的主机或者服务器
  • Node: 一个连接到swarm集群的运行docker的节点
  • Cluster: 一组Docker主机或者节点
  • Replica: 实例的重复或副本数
  • Task: 一个已经定义了的运行在节点上的任务
  • Service: 一组任务的集合

现在我们至少已经熟悉了上面的术语, 我们已经准备好使用坞站机实现 Docker 群业务流程。

Docker Swarm简介

Docker Swarm是一个运行Docker容器的集群工具,允许我们像管理一个单独虚拟系统一样管理一个集群。这意味着我们可以在计算机上的多个主机上运行 Docker。

我们通过一个主要处理以及控制容器的管理者管理swarm集群。有了sarm管理者,可以创建一个或者多个管理者实例,防止主节点挂掉。同样,也就意味着我们在一个swarm集群里面,可以有不止一个管理者。

NOTE

一个swarm集群是从一个管理几点上创建的,其他Docker机器加入这个就请你,作为工作节点或者管理节点。

群集很重要, 因为它创建了一组提供冗余的协作系统, 从而创建了容错环境。例如, 如果一个或多个节点出现故障, Docker 群将故障转移到另一个工作节点。

The Swarm manager carries out the following roles:

Swarm管理者包含了如下角色:

  • 接受docker命令
  • 在集群里面执行命令
  • 支持高可用;部署一个主要或者备用实例,当猪出现异常的时候,备用服务可以不中断工作。

Docker Swarm 使用调度来优化资源并确保环境中的效率.它将容器分配给最合适的节点。这也意味着Docker Swarm会将容器分配给最健康的节点。Docker Swarm使用计划任务来提高资源优化,确保高效。它会给容器分配到最合适的节点。

NOTE

记住,节点指的是运行容器的主机,不是容器。

Swarm可以使用如下的调度算法:

  • Random:随机部署。
  • Spread:Swarm会分配容器在最少容器的节点运行。
  • Binpack:Binpack 策略涉及将新容器部署到容器数量最多的节点。

You can download VirtualBox at: https://www.virtualbox.org/wiki/Downloads:

NOTE

模拟一个DockerSwarm集群,我们需要安装一个hypervisor (虚拟机管理程序类型2是作为软件应用程序安装在现有操作系统上的虚拟机管理器),在使用VirtualBox的情况下,我们可以通过docker-machine创建多个在本地运行Docker的主机,并且将他们加入到swarm集群。如果我们使用云厂商的虚拟机,需要使用他们的计算资源来完成,例如AWS的EC2。

对于Windows操作系统,选择操作系统版本,可以获得一个下载链接。执行并安装VirtualBox。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表