将应用docker化,配合ETCD、kubernetes等工具在容器的层面上实现高可用和负载均衡

容器化部署

    容器化部署应用具有灵活、高效的使用资源,容器可以包含其所需的全部文件,如同在虚拟机上部署应用程序一样,可以拥有自己的配置文件和依赖库,还可以拥有自己的网络接口。 因此,与在虚拟机上运行应用程序一样,容器化应用比直接安装的应用程序更容易迁移,而且因为应用程序所运行的每个容器均拥有独立的网络接口,所以也不会出现争用同一端口的问题 。
    容器在启动时间、磁盘空间占用和 CPU 处理能力方面更具有优势,因为它既没有运行独立的操作系统,也没有包含运行整个操作系统所需的大量软件。它只包含了应用程序运行所需的软件,以及其他想随容器一起运行的工具和少量描述容器的元数据。容器的管理工具也比较完善,目前比较主流的管理工具有 : Swarm、 Kubernetes 和 Apache Mesos 。
    (1) Swarm 是 Docker 的原生集群工具,它使用标准的 Docker API,这意味着容器能够使用 docker run 命令启动, Swarm 会选择合适的主机来运行容器,这也意味着其他使用 Docker API的工具比如 Compose 也能在 Swarm 上使用,从而利用其进行集群而不是在单个主机上运行 。
    (2) Kubemetes (经常被缩写成 K8s )是 Google 开源的一套自动化容器管理平台,前身是 Borg ,用于容器的部署、自动化调度和集群管理。目前 Kubemetes 有以下特性:容器的自动化部署、自动化扩展或者缩容、自动化应用及服务升级、容器成组,对外提供服务,支持负载均衡 、 服务的健康检查、自动重启。
    (3)Apache Mesos 是由加州大学伯克利分校的 A岛。Lab 首先开发的一款开源集群管理软件,支持 Hadoop 、Elasticsearch、 Spark、 Storm 和 Kafka 等应用架构 。

Kubemetes的更多相关文章

  1. Kubernetes部分Volume类型介绍及yaml示例

    1.EmptyDir(本地数据卷) EmptyDir类型的volume创建于pod被调度到某个宿主机上的时候,而同一个pod内的容器都能读写EmptyDir中的同一个文件.一旦这个pod离开了这个宿主 ...

  2. k8s 网络模型

    一.前言 k8s对Pods之间如何进行组网通信提出了要求,k8s对集群的网络有以下要求: 所有的Pods之间可以在不使用NAT网络地址转换的情况下相互通信 所有的Nodes之间可以在不使用NAT网络地 ...

  3. Kubernetes容器上下文环境

    目录贴:Kubernetes学习系列 下面我们将主要介绍运行在Kubernetes集群中的容器所能够感知到的上下文环境,以及容器是如何获知这些信息的. 首先,Kubernetes提供了一个能够让容器感 ...

  4. K8S学习笔记之Kubernetes数据持久化方案

    在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath.configmap以及secret的机制和用途. 0x00 Emptydir EmptyDir是一个空目录, ...

  5. Spring Cloud与微服务构建:Spring Cloud简介

    Spring Cloud简介 微服务因该具备的功能 微服务可以拆分为"微"和"服务"二字."微"即小的意思,那到底多小才算"微&q ...

  6. 零基础到精通Linux,从这篇文章开始

    2018年想做Linux运维的人应该如何学习才能快速精通Linux? Linux入门这么简单,为什么很多人学不会? 想要成为一个合格的运维工程师,到底怎么才能从零开始精通Linux? 作为一个运维小白 ...

  7. 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧

    云计算概念一旦产生便一发不可收拾,成为移动互联网时代最为火热的行业之一.国内各大互联网公司例如阿里.腾讯.百度.网易等纷纷推出自己的云计算产品,3月10日,腾讯云0.01元投标时间更是让云计算在普罗大 ...

  8. 最适合初学者的Linux运维学习教程2018版

    Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...

  9. K8s的工作原理

    title: Kubernetes之初探 subtitle: K8s的工作原理 date: 2018-09-18 18:26:37 --- K8s概述 我清晰地记得曾经读到过的一篇博文,上面是这样写的 ...

随机推荐

  1. Mock.js数据模拟

    数据来源方式: 为什么要用mockjs 实际开发中,前后端分离,前端需要后端的接口去完成页面的渲染,但是并不能等到后端成员写完接口再开始进行测试.大部分情况下,前后端需要同时进行开发.因此便需要moc ...

  2. gradle应用

    官网下载 http://services.gradle.org/distributions/ 解压并配置环境 1.解压gradle到你想要的目录 2.配置环境变量 GRADLE_HOME=D:\gra ...

  3. JQuery$.extend()用法

    1.合并多个对象. <span style="font-size:18px;">//用法: jQuery.extend(obj1,obj2,obj3,..) var C ...

  4. js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现

    先说a + 1 < a const a = { i: 1, valueOf: () => { if (a.i === 1) { return a.i++; } return a.i+2; ...

  5. Elasticsearch状态API接口排障总结

    ES的Restful API,共四类API: 1. 检查集群.节点.索引等健康与否,以及获取其相应状态. 2. 管理集群.节点.索引及元数据 3. 执行CRUB操作(即:增删查改) 4. 执行高级操作 ...

  6. B1003

    import re n = input() for i in range(int(n)): str = input() if re.match(r'A*PA+TA*',str): a = re.spl ...

  7. 一张MGR切换的图,不解释

  8. 2018-2019-2 网络对抗技术 20165230 Exp8 Web基础

    目录 实验目的 实验内容 实验步骤 (一)Web前端HTML Apache HTML编程 (二) Web前端javascipt 基础知识理解 JavaScript编程 (三)Web后端:MySQL基础 ...

  9. IO流——字节流

    文件输出流 FileOutputStream:文件输出流是用于将数据写入 File,每次运行,都会覆盖之前文件中的数据 FileOutputStream(File file):创建一个向指定 File ...

  10. [原创] Agilent 34410A 表与计算机通讯

    1. 接口选择 万用电表出厂时选定为HP-IB接口,应选择为RS-232接口 E:I/O MENU – 2:INTERFACE 选择RS-232 2. 设定波特率 默认9600 E:I/O MENU ...