centos7下安装docker(20.docker swarm start)
从主机的层面来看,docker swarm管理的是docker host集群。
什么是集群?
服务器集群由一组网络上相互连接的服务器组成,他们一起协同工作。
一个集群和一堆服务器的显著区别是:
集群能够像单个系统那样工作,同时提供高可用,负载均衡和并行处理。
这样,部署应用的时候,我们只考虑需要多少的内存和CPU,而不是考虑会使用哪台服务器的内存和CPU。我们不应该关心应用部署在哪里,我们应该关心运行这些应用需要哪些资源,然后将它部署到集群,集群管理程序(比如:docker swarm)会搞定这些细节。
集群整体容量的调整是通过集群中添加和删除主机节点实现的。但不管怎样的操作,集群始终还是一个整体。
从今天开始,我们将重点学习docker swarm,我们会创建docker swarm集群,部署应用,伸缩扩展应用,以及对应用执行滚动升级
docker swarm Mode
docker v1.12是一个非常重要的版本,Docker重新实现了集群编排方式。再此之前,提供集群功能的docker swarm是一个单独的软件,而且依赖外部数据库(比如:consul。etcd。zookeeper)
从v1.12开始,docker swarm的功能已经完全与docker engine集成,要管理集群,只需要启动swarm mode。安装好docker ,swarm就已经在那里了,服务发现也已经在那里了(不需要安装consul等外部数据库)
相比kubnetes,用docker swarm创建集群非常简单,不需要额外安装任何软件,也不需要做任何额外的配置。
swarm
swarm是运行docker engine的多个主机组成的集群。
从v1.12开始,集群管理和编排功能已经集成在docker engine。当docker engine初始化了一个swarm或者加入到一个存在的swarm时,他就启动了swarm mode。
没启动swarm mode时,docker 执行的是容器的命令;运行swarm mode后,docker 增加了编排service的能力
docker 允许在同一个docker 主机上即运行swarm service,又运行单独的容器。
node
swarm中每个docker engine都是一个node,有两种类型的node:manager和worker
为了向swarm中部署应用,我们需要在manager node上执行部署命令,manager node会将部署任务拆解并分配给一个或多个worker node完成部署。
manager node负责执行编排和集群管理工作,保持并维护swarm处于期望的状态。swarm中如果有多个manager node,他们会自动协商,并选举出一个leader执行编排任务。
worker node接受并执行由manager node派发的任务。默认配置下manager node同事也是一个worker node,不过可以将其配置成manager-only node,让其专门负责编排和集群管理工作。work node会定期向manager node报告自己的状态和他正在执行的任务的状态,这样manager就可以维护整个集群的状态。
service
service定义了worker node上要执行的任务。
swarm主要编排任务就是保证service处于期望的状态。
举个service例子:
在swarm中启动一个http服务,使用的镜像是httpd:latest,副本数为3
manager node负责创建这个service,经过分析知道需要启动3个httpd容器,根据当前各worker node的状态将运行容器的任务分配下去,比如worker1上运行两个容器,worker2上运行两个容器。
运行了一段时间,worker2突然宕机了,manager监控到这个故障,于是立即在worker3上启动一个新的httpd容器
这样就保证了service处于期望的三个副本状态
centos7下安装docker(20.docker swarm start)的更多相关文章
- Centos7下安装与卸载docker应用容器引擎
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- Docker学习之Centos7下安装
Docker学习之Centos7下安装 centos7 64下直接使用yum安装docker环境,步骤如下: 卸载旧版本docker sudo yum remove docker docker-com ...
- CentOS7下安装docker(Docker系列1)
CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...
- centos7下安装docker与镜像加速
1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...
- Docker学习笔记3:CentOS7下安装Docker-Compose
Docker-Compose是一个部署多个容器的简单但是非常必要的工具. 安装Docker-Compose之前,请先安装 python-pip,请参考我的另一篇博文CentOS7下安装python-p ...
- centos7 下安装rpm的mysql 5.7
在centos7下安装mysql5.7 一:下载mysql 去官网上去下载:这里我下载的二进制格式的 https://dev.mysql.com/downloads/mysql/ 去下载对应平台的my ...
- CentOS7 下 安装 supervisor以及使用
CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- Centos7下安装配置Redsocks
Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...
随机推荐
- 26.C++- 泛型编程之类模板(详解)
在上章25.C++- 泛型编程之函数模板(详解) 学习了后,本章继续来学习类模板 类模板介绍 和函数模板一样,将泛型思想应用于类. 编译器对类模板处理方式和函数模板相同,都是进行2次编译 类模板通 ...
- 6. CountDownLatch 闭锁
package com.gf.demo05; import java.util.concurrent.CountDownLatch; /** * CountDownLatch : 闭锁,在完成某些操作 ...
- python文件
目录 1. 文件的概念 1.1 文件的概念和作用 1.2 文件的存储方式 2. 文件的基本操作 2.1 操作文件的套路 2.2 操作文件的函数/方法 2.3 read 方法 -- 读取文件 2.4 打 ...
- WePY - 小程序敏捷开发实践丨掘金开发者大会
声明:内容转载他处,如有侵权,可协商下架 本主题虽然在其它地方讲了很多次,但还是有非常多新内容.因为很多东西正在做或者想要做.本次分享主要分为以下几个部分: WePY 的介绍 WePY 的用户 上面展 ...
- 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式
1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...
- 记录微信小程序报错 Unexpected end of JSON input;at pages/flow/checkout page getOrderData function
微信小程序报错 Unexpected end of JSON input;at pages/flow/checkout page getOrderData function 这个报错是在将数组对象通过 ...
- angular ng-repeat 动态获取的dom片段 显示
.filter('to_trusted', ['$sce',function ($sce) { return function (text) { return $sce.trustAsHtml(tex ...
- URL 与 URI 介绍
URL: 统一资源定位符 ( Uniform Resource Locator ) URI: 统一资源标识符 ( Uniform Resource Identifier ) URL 地址:https: ...
- CSS3效果:animate实现点点点loading动画效果(二)
box-shadow实现的打点效果 简介 box-shadow理论上可以生成任意的图形效果,当然也就可以实现点点点的loading效果了. 实现原理 html代码,首先需要写如下html代码以及cla ...
- 洛谷P3235 [HNOI2014]江南乐(Multi-SG)
题目描述 小A是一个名副其实的狂热的回合制游戏玩家.在获得了许多回合制游戏的世界级奖项之后,小A有一天突然想起了他小时候在江南玩过的一个回合制游戏. 游戏的规则是这样的,首先给定一个数F,然后游戏系统 ...