前言

在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速向互联网技术和业务的双转型。容器云将对接各类代码托管库,实现自动化持续集成和DOCKER镜像构建,为新一代应用交付和开发运维一体化奠定了基础。容器云将支持应用的一键式部署交付,提供负载均衡,私有域名绑定,性能监控等应用生命周期管理服务。是微服务架构,轻量级应用部署和运维的理想平台。未来IT界会以容器化应用作为交付的标准。容器云为开发者和企业提供了一个快速构建、集成、部署、运行容器化应用的平台,从而提高应用开发的迭代效率,简化运维环节,降低运维成本。
对于企业来说,容器云价值体现在:

  1. 作为内部技术纽带,多应用统一部署平台,提高开发效率,减少运维成本。
  2. 平台产品化过程中,投入少且产出价值高。可依托现有的IaaS平台资源,相对于传统的承接项目获益的方式,容器云会积累宝贵的客户资源及数据资源,这些无形资产最终会为公司赢得巨大战略价值。
  3. 增加云企业辨识度,如果只具有IaaS层服务的云平台是不完整的,对用户的云服务是不充分的,应该具有为用户提供全方位的云服务体系,应该具有先进且高附加值的云平台。

应用功能架构

基于Kubernetes实现的容器云平台,就功用而言可以分为四大部分:

  1. 自动化容器的部署、升级和复制;
  2. 随时扩展或收缩容器规模,实现容器的弹性扩展;
  3. 以集群的方式运行、管理跨机器的容器,并且提供容器间的负载均衡;
  4. Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。

未来容器云也可能会成为云管理平台的统治者,也还会有更多的应用在容器云上原生运行起来。因为对于容器云,它可以把很多分散的物理计算资源抽象成一个大的资源池,利用这些资源来执行用户的计算任务。对于用户来说,操作一个分散的集群资源就像在使用一台计算机。人工智能的集中式爆发,机器学习的训练过程对于快速迭代的高要求,让能够轻量级接入,并且可以对用户提供秒级响应的容器云发挥了巨大的优势。师出同门的Google Tensorflow项目很早也进行了与Kubernetes的集成,人工智能平台上实现了Spark on Kubernetes和 Hadoop on Kubernetes。无论是容器技术,还是DevOps和微服务,都说明灵活、弹性、轻量化的IT应用模式逐渐形成。而这种模式的形成对于复杂产品的快速开发有着积极意义,谷歌等IT巨头对产业的贡献,让初创企业与大型IT企业之间的差距缩短,迎来最好的IT时代。容器云架构方案,具有六大功能模块,每个部分包含对应的容器技术栈。具体架构如下

存储方案

后端存储主要采用 Ceph 驱动。Ceph 独一无二地用统一的系统提供了对象、块、和文件存储功能,它可靠性高、管理简便、并且是自由软件。 Ceph 的强大足以改变贵公司的 IT 基础架构、和管理海量数据。 Ceph 可提供极大的伸缩性——供成千用户访问 PB 乃至 EB 级的数据。 Ceph 节点以普通硬件和智能守护进程作为支撑点, Ceph 存储集群组织起了大量节点,它们之间靠相互通讯来复制数据、并动态地重分布数据。Ceph在容器云中主要应用场景是有状态服务。包括关系型数据库和nosql数据库等数据需要持久化的业务。

网络方案


底层容器网络我们最初使用的是Calico。 Calico基本架构图 Calico是一个纯三层网络,没有引入一个DP,没有封包。在主机内部做另外一个容器,可以三条到达终端,你可以知道是谁出了问题,调试的时候很容易,很好管理。容器内的应用数据传出来,和二层完全隔离,对于我们绝大多数的应用来讲只需要三层就够了,很少有应用处理二层。而且Calico支持丰富的网络策略,可以实现多租户管理,对于未来对外提供容器云服务至关重要。

容器编排方案

Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括:

  • 1.基于容器的应用部署、维护和滚动升级
  • 2.负载均衡和服务发现
  • 3.跨机器和跨地区的集群调度
  • 4.自动伸缩
  • 5.无状态服务和有状态服务
  • 6.广泛的Volume支持
  • 7.插件机制保证扩展性

Kubernetes发展非常迅速,已经成为容器编排领域的领导者。Kubernetes提供了很多的功能,它可以简化应用程序的工作流,加快开发速度。通常,一个成功的应用编排系统需要有较强的自动化能力,这也是为什么 Kubernetes 被设计作为构建组件和工具的生态系统平台,以便更轻松地部署、扩展和管理应用程序。用户可以使用Label以自己的方式组织管理资源,还可以使用Annotation来自定义资源的描述信息,比如为管理工具提供状态检查等。此外,Kubernetes控制器也是构建在跟开发人员和用户使用的相同的API之上。用户还可以编写自己的控制器和调度器,也可以通过各种插件机制扩展系统的功能。这种设计使得可以方便地在Kubernetes之上构建各种应用系统。目前整个kubernetes集群采用高可用部署,架构如下图:

性能监控方案

容器监控的对象主要包括 Kubernetes 集群(各组件)、应用服务、Pod、容器及网络等。这些对象主要表现为以下三个方面: 1.Kubernetes 集群自身健康状态监控(5个基础组件、Docker、Etcd、Calico等) 2.系统性能的监控,比如:CPU、内存、磁盘、网络、filesystem 及 processes 等; 3.业务资源状态监控,主要包括:rc/rs/deployment、Pod、Service 等; 针对容器的整体运行状况及性能状况监控,采用了自研的监控系统实现整体IT资源的统一监控。

日志收集方案

容器平台的日志系统一般包括:Kubernetes 组件的日志,资源的事件日志及容器所运行的应用的日志。本容器云平台,使用fluentd(以DaemonSet的方式启动)来收集日志,并将收集的日志发送给统一日志平台。

CI/CD方案

CI/CD(持续集成与部署)模块肩负着 DevOps 的重任,是开发与运维人员的桥梁,它实现了业务(应用)从代码到服务的自动上线,满足了开发过程中一键的持续集成与部署的需求。本容器云平台,对接持续集成&发布系统。除此之外,实现服务扩缩容,弹性伸缩(HPA)、负载均衡、灰度发布等,也加入了代码质量检查(Sonar)、自动化测试及性能测试插件等,这些都是 CI/CD PaaS 平台的重要组成部分。

云平台功能

通过可视化界面,可以简单方便的实现对资源的部署、管理与监控,包括:资源编排。可以实现以下功能: 1.全面监控:主机、路由器、硬盘、公网IP、负载均衡器都具备完整全面的历史监控和实时监控信息。 2.开放式的图形化操作: 直观展示主机及其相关资源,并可以直接操作图形,所有改动自动更新。 3.操作日志记录: 记录下用户所有重要操作历史,方便定位和查找。 4.网络拓扑结构展示: 用图形展示复杂的网络拓扑结构,连接私有网络和主机更加方便直观。 5.备份链可视化操作: 对于备份各节点一目了然,同时可直接操作新建备份及回滚到之前的状态。 6.自动伸缩策略: 根据资源监控信息定义自动伸缩策略,调节资源配置或集群规模,无需人工介入。 7.通知列表: 用于接收监控告警通知、定时器任务或自动伸缩策略的执行结果。 8.快速的系统构建: 使用资源编排,可以在短短几分钟内迅速复制一套已存在的拥有复杂拓扑的系统;或者迅速规划您的系统架构并评估成本;还可以实现资源拓扑的跨区域复用。 9.丰富的模板创建方式: 在控制台中,用户可以从无到有构建模板;也可以从系统推荐的常见模板入手创建,或基于已经创建的模板继续完善;还可以将已经存在的资源抽取出一套拓扑关系成为模板。

总结

caas平台衍生出来的整个devops体系是至关重要的。最终实现打通日志,监控和apm数据,算法实现根因分析,也就是AIOPS。能够快速定位故障。快速反馈到运维和开发,形成一个闭环。
Gartner定义的AIOps平台拥有11项能力,包括历史数据管理( Historical data management) 、流数据管理( Streaming data management )、日志数据提取( Log data ingestion) 、网络数据提取( Wire data ingestion )、算法数据提取( Metric data ingestion )、文本和NLP文档提取( Document text ingestion )、自动化模型的发现和预测( Automated pattern discovery and prediction )、异常检测( Anomaly detection )、根因分析( Root cause determination )、按需交付( On-premises delivery )和软件服务交付( Software as a service )等。当然这是后续和正在做的工作。

k8s与caas--容器云caas平台的落地实践相关推荐

  1. 基于Docker的CaaS容器云平台架构设计及市场分析

    基于Docker的CaaS容器云平台架构设计及市场分析 1 项目背景-概述: "在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化. 容器将 ...

  2. 云计算架构师分享:容器云在金融企业的落地方案 | 周末送资料(原题:某保险公司容器云PaaS平台建设实践经验分享)

    [摘要]随着技术和社区的成熟,容器.Kubernetes.微服务等新事物不再只是概念,已在很多企业落地并发挥了生产力,对容器和PaaS的需求也从试探性转向规模化推广和纵深探索,建设企业级容器PaaS平 ...

  3. 时速云黄启功:容器云PaaS平台将成为IT基础设施重要组成部分

    近日,爱分析在京举办了 2018 爱分析·中国云计算高峰论坛,本次论坛以"云化万物,智动未来"为主题,探讨云计算行业的发展趋势.爱分析邀请了云计算领域标杆公司时速云创始人& ...

  4. 企业容器云管理平台选型指南

    作者简介 涂家英,SUSE 资深架构师,专注 Cloud-Native 相关产品和解决方案设计,在企业级云原生平台建设领域拥有丰富的经验. 数字时代下的容器云管理平台 数字时代,市场竞争加剧,业务需求 ...

  5. 教程get | K8S部署OpenStack容器云(下)

    如何借助OpenStack Kolla-K8S项目,通过K8S对OpenStack进行容器化部署?并最终部署一套All-In-One类型的OpenStack容器云?让我们继续部署: 部署kolla-k ...

  6. 【云原生之Docker实战】部署轻量级容器云管理平台Humpback

    [云原生之Docker实战]部署轻量级容器云管理平台Humpback 一.Humpback介绍 1.Humpback简介 2.Humpback特点 二.检查docker环境 1.检查docker状态 ...

  7. 从 OpenStack 到 Mesos 再到 Kubernetes, 携程容器云自动化运维平台实践\n

    随着虚拟化技术和云计算技术的普及,IT互联网基础设施发生了很大的变化,底层的计算.存储.网络等资源也越来越复杂,需要有平台能管理好这些资源,尽量将工作流程自动化,将运维人员从繁重的手动工作中解救出来. ...

  8. 阿里云物联网平台快速入门实践

    物联网平台提供了物联设备上云的服务,无需自建物联网的基础设施即可便捷地接入和管理设备.具有低成本.高可靠.高性能.易运维的优势,强大的数据处理能力可以更好地对设备数据进行分析和可视化展示,实时的安全威 ...

  9. 阿里云 Serverless Kubernetes 的落地实践分享

    简介:Serverless Kubernetes 基于 Kubernetes 之上,提供按需使用.节点免运维的 Serverless 能力,让开发者真正实现通过 Kubernetes 标准化 API ...

最新文章

  1. Android APK反编译详解(附图)
  2. 干货丨机器学习必备:前20名Python人工智能和机器学习开源项目
  3. 网站更换域名和服务器不收录,网站更换域名改如何操作
  4. html中加盒子,在HTML中各类型盒子的基线应如何确定
  5. CSS光标cursor
  6. Linux系统编程27:进程间通信之管道的基本概念和匿名管道与命名管道及管道特性
  7. sql azure 语法_如何将SQL Server数据库备份到Microsoft Azure
  8. 《原力计划【第二季】》第 3 周周榜揭晓!!!
  9. windows10计算机用户密码,忘记Windows 10系统密码?教你重置
  10. 基于腾讯视频影视作品数据分析
  11. 8 个顶级网络攻击地图以及如何使用它们
  12. Python 层次分析法 AHP
  13. IDEA社区版下载与安装详细教程
  14. 信息流广告如何操作?(含CPC、OCPC、CPM、eCPM、CTR等)
  15. 使用VIM是一种信仰
  16. 题目 1460: 2n皇后问题
  17. Win10电脑怎么恢复出厂设置
  18. 教你用Ossim平台检测网络的Shellcode攻击
  19. 3D 中的方位与角位移(旋转矩阵、欧拉角、四元数)
  20. 如何查看计算机在广域网的地址,如何知道本机当前局域网IP地址和广域网IP地址...

热门文章

  1. 每日三道前端面试题--vue 第三弹
  2. ubuntu之间传输文件
  3. P2P中的NAT穿越方案
  4. python中排序从小到大_Python实现对特定列表进行从小到大排序操作示例
  5. 支付弹出php,PHP微信公众号支付弹出“NaN:undefined”解决方法
  6. php7 返回静态类,PHP7 – 未捕获错误:访问未声明的静态属性
  7. 安装计算机的更新每次更新失败,win7电脑自动更新失败怎么办,电脑自动更新失败解决方法...
  8. jquery模拟虚拟键盘带中文拼音输入_线上中文教学,这些设备越早知道越早受益!...
  9. python缩进块是什么_python中缩进是用来做什么的
  10. 最速下降法极小化rosenbrock函数 代码_典型算法思想与应用9|分支限界法与电路布线问题