• 容器及容器生态系统概述


    1.容器技术和容器平台技术

    (1)容器技术:
    (1.1)容器核心知识:是什么、为什么、怎么做(架构、镜像、容器、网络、存储);
    (1.2)容器进阶知识:multi-host、容器网络、数据管理、日志管理、安全性。
    (2)容器平台技术:
    (2.1)容器编排引擎:docker swarm、kubernetes、mesos+marathon;
    (2.2)容器管理平台:Rancher、ContainerShip;
    (2.3)基于容器的PaaS(Platform-as-a-Service:平台即服务):Deis、Flynn、Dokku。
    容器技术和容器平台技术–思维导图如下:
    容器技术和容器平台技术--思维导图
    容器生态系统思维导图:
    容器生态系统思维导图

    1.1 容器生态系统概述

    1.1.1 容器核心技术:

    容器核心技术是指能让Container(容器)在host(集群、主机)上运行起来的那些技术。
    (1)容器规范:
    OCI(runtime spec+image format spec)
    (2)容器runtime:
    runtime是容器真正运行的地方。需要跟操作系统的kernel紧密协作,为容器提供运行环境。
    java程序类似容器,JVM类似runtime,JVM为java提供运行环境,容器只有在runtime才能运行
    主流的容器runtime:lxc、runc、rkt。
    (3)容器管理工具:
    对内与runtime交互,对外为用户提供interface(界面)。
    常用的容器管理工具:
    lxd(是lxc对应的管理工具);
    runc的管理工具是docker engine。docker engine包括后台deamon和cli两部分。通常说的Docker,就是指docker engine;
    rkt的管理工具是rkt cli。
    (4)容器定义工具:
    容器定义工具:允许用户定义容器的内容和属性。这样容器就能够被保存、共享和重建。
    常用的容器定义工具:
    docker image:是docker容器的模板,runtime一句docker image创建容器;
    dockerfile:是包含若干命令的文本文件,可以通过这些命令创建出docker image;
    ACI(App Container Image):与docker image类似,不过它是由CoreOS开发的rkt容器的image格式。
    (5)Registries:容器是通过image创建的,需要有一个仓库来统一存放image,这个仓库就叫做Registry。
    Docker Registry:企业可以用Docker Registry构建私有的Registry;
    Docker Hub:是docker为公众提供的托管registry,有很多现成的image;
    Quay.io:也是一个公共托管registry。
    (6)容器OS:是专门运行容器的操作系统。
    常用:coreos、atomic、ubuntu core。

    1.1.2 容器平台技术:

    (1)容器编排引擎
    要干的工作:用高效的方法来管理容器集群。
    常用容器编排引擎:
    docker swarm:是Docker开发的容器编排引擎;
    kubernetes:是Google领导开发的开源容器编排引擎,同时支持Docker和CoreOS容器;
    mesos:是一个通用的集群资源调度平台,mesos与marathon一起提供容器编排引擎功能。
    (2)容器管理平台
    是架构在容器编排引擎之上的一个更通用的平台。
    通常容器管理平台支持多种编排引擎,抽象了编排引擎的底层实现细节。
    典型代表:Rancher、ContainerShip。
    (3)基于容器的PaaS
    PaaS即(Platform-as-a-Service:平台即服务。
    基于容器的PaaS为微服务应用开发人员和公司提供了开发、部署和管理应用的平台,使用户不必关心底层基础设施而专注于应用的开发。
    开源容器PaaS的代表:Deis、Flynn、Dokku。

    1.1.3 容器支持技术:

    (1)容器网络
    docker network:是Docker原生的网络解决方案;
    flannel:第三方开源解决方案;
    weave:第三方开源解决方案;
    calico:第三方开源解决方案。
    (2)服务发现
    动态变化是微服务应用的一大特点。当负载增加时,集群会自动创建新的容器;负载减小,多余的容器会被销毁。
    容器也会根据host的资源使用情况在不同host中迁移。
    服务发现的典型解决方案:etcd、consul、zookeeper。
    (3)监控
    docker ps/top/stats:是Docker原生的命令行监控工具;
    docker stats API:可以通过HTTP请求获取容器的状态信息;
    sysdig:开源的容器监控方案;
    cAdvisor/Heapster:开源的容器监控方案;
    Weave Scope:开源的容器监控方案。
    (4)数据管理
    容器经常在不同的host之间迁移。
    如何保证持久化数据也能动态迁移,是Rex-Ray这类数据管理工具提供的能力。
    (5)日志管理
    日志工具有两类:
    docker logs:是Docker原生的日志工具。
    logspout:对日志提供了路由功能,可以收集不同容器的日志并转发给其他工具进行后处理。
    (6)安全性
    OpenSCAP:是一种容器安全工具。能够对容器镜像进行扫描,发现潜在的漏洞。

  • 相关阅读:
    如何设置PPT,演示者能看到备注而观众看不到
    面向对象的设计原则-类设计原则
    C#路径
    MyEclipse汉化
    XML
    C#读取Excel文件
    预处理指令
    c/c++有些函数之前有export
    动态内存
    模板
  • 原文地址:https://www.cnblogs.com/moon3/p/12191188.html
Copyright © 2020-2023  润新知