在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和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的开源版本,主要功能包括:

  • 基于容器的应用部署、维护和滚动升级

  • 负载均衡和服务发现

  • 跨机器和跨地区的集群调度

  • 自动伸缩

  • 无状态服务和有状态服务

  • 广泛的Volume支持

  • 插件机制保证扩展性

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。能够快速定位故障。快速反馈到运维和开发,形成一个闭环。

来源:https://yq.aliyun.com/blog/679975

Kubernetes全栈技术培训

技术交流

学无止境,了解更多关于kubernetes/docker/devops/openstack/openshift/linux/IaaS/PaaS相关内容,想要获取更多资料和免费视频,可按如下方式进入技术交流群

微信:luckylucky421302

按如下指纹可关注

往期精彩文章

kubernetes全栈技术+企业案例演示【带你快速掌握和使用k8s】

突破运维和开发瓶颈、Python、k8s、DevOps转型一网打尽!

python运维开发实战-基础篇

python运维和开发实战-高级篇

python运维和开发实战-安装和创建Django项目

谈谈我的IT发展之路

Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统-超详细文档

k8s1.18多master节点高可用集群安装-超详细中文官方文档

linux面试题汇总

python运维和开发实战-安装和创建Django项目

Docker公司禁止被列入美国"实体名单"的国家、企业使用

Jenkis pipeline构建项目实践-编写podTemplate实现和k8s对接

安装kubernetes集群-灵活安装k8s各个版本高可用集群

Kubernetes v1.19 正式发布

高效的Nginx负载均衡器

5个维度对 Kubernetes 集群优化

什么是架构师?

QPS、TPS、并发用户数、吞吐量关系

kubernetes面试题汇总

DevOps视频和资料免费领取

kubernetes技术分享-可用于企业内部培训

谈谈我的IT发展之路

kubernetes系列文章第一篇-k8s基本介绍

kubernetes系列文章第二篇-kubectl

了解pod和pod的生命周期-这一篇文章就够了

Kubernetes中部署MySQL高可用集群

k8s中蓝绿部署、金丝雀发布、滚动更新汇总

运维常见问题汇总-tomcat篇

关于linux内核参数的调优,你需要知道

kubernetes挂载ceph rbd和cephfs

报警神器Alertmanager发送报警到多个渠道

jenkins+kubernetes+harbor+gitlab构建企业级devops平台

kubernetes网络插件-flannel篇

kubernetes网络插件-calico篇

kubernetes认证、授权、准入控制

限制不同的用户操作k8s资源

面试真题&技术资料免费领取-覆盖面超全~

Prometheus监控MySQL

Prometheus监控Nginx

Prometheus监控Tomcat

linux面试题汇总

测试通过storageclass动态生成pv

通过编写k8s的资源清单yaml文件部署gitlab服务

helm安装和使用-通过helm部署k8s应用

k8s基于Ingress-nginx实现灰度发布

k8s的Pod安全策略

Prometheus Operator-上篇-安装和使用篇

Prometheus Operator-下篇

通过kubeconfig登陆k8s的dashboard ui界面

通过token令牌登陆k8s dashboard ui界面

kubernetes集群的etcd数据库详细介绍

Linux网络流量监控工具

kubernetes搭建EFK日志管理系统

prometheus operator监控k8s集群之外的haproxy组件

kubernetes ConfigMap存储卷

Python采集linux服务器数据在Django Web界面展示

基于Kubernetes的GPU类型调度实现

容器日志管理的最佳实践

Kubernetes 数据库 Etcd 日常运维及技巧

一文详解 LVS、Nginx 及 HAProxy工作原理

一篇文章全面了解运维监控知识体系

- END -

Kubernetes全栈技术培训

Kubernetes容器云平台技术方案相关推荐

  1. 腾讯企业容器云平台技术解析

    GaiaStack 是腾讯基于 Kubernetes 打造的容器私有云平台.它服务于腾讯内部各个 BG 业务,如广告.支付.游戏等.同时也为腾讯云的各行业客户私有云部署提供支持.本文将从自动化运维体系 ...

  2. kubernetes容器云平台入门之基础理论

    目录 Kubernetes概述 Kubernetes特性 Kubernetes集群架构与组件 核心组件 组件详解 Master Node(主节点) API Server(API服务器) Cluster ...

  3. 容器云平台、灰度发布系统、微服务网关的高可用实践

    http://www.sohu.com/a/227223771_355140 系统高可用是互联网企业系统架构的基础要求之一,一个好的高可用架构可以以最低的成本.更灵活的方式,满足企业用户需求.相反,糟 ...

  4. 聚焦边缘计算场景,打造云边端一体化容器云平台

    随着大带宽.低延时.多连接的应用场景迎来爆发,CDN的技术底座不断向边缘演进.当前边缘计算已经成为企业关键增长要素,驱动全球企业级基础架构市场持续增长,为构建分布式云提供最直接.距离最近的算力支持. ...

  5. 魅族容器云平台基于Kubernetes自动化运维实践

    作者简介: 曾彬 阿里巴巴 高级技术专家 互联网老兵,十多年的基础架构经验,曾在支付宝.爱立信.魅族等担任系统架构师,从事过 Linux 内核开发,Java 中间件.SOA 应用框架的设计实现.云平台 ...

  6. 漫谈云计算、虚拟化、容器化--云平台技术栈05

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的虚拟化! 什么是云计算? 1.1 云计算概念 云计算是最近几年才兴起的概念,但是这样的需求其实早都有了,现阶段广为接受的是美国国家 ...

  7. gogs创建项目_容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD

    什么是CI/CD 持续集成(Continous Intergration,CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每 ...

  8. 容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD

    什么是CI/CD 持续集成(Continous Intergration,CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每 ...

  9. 精灵云容器云平台通过Kubernetes一致性认证

    Ghostcloud精灵云专为企业级用户打造的容器云平台EcOS日前通过Kubernetes一致性认证(Certified Kubernetes Conformance Program) .IBM.微 ...

最新文章

  1. golang 指定范围 生成随机数
  2. 计算机软件的输出设备有哪些,计算机输出设备有哪些?计算机输出设备介绍
  3. 试着翻译24小时自学SQL第四版
  4. 北京大学药学院张亮仁教授/刘振明研究员课题组博士后招聘启事
  5. VC++中实现INI文件读写的方法和示例
  6. 【今日CS 视觉论文速览】 24 Dec 2018
  7. 速度最快250fps!实时、高性能车道线检测算法LaneATT
  8. Idea创建包以及导入jar包等操作
  9. C++ 中 async、packaged_task、promise 区别及使用
  10. 动态规划---01背包问题--Dp(详解附代码)
  11. Java类装载器(Classloader)机制解析整理
  12. PPC手机上用Skype打电话的方法
  13. 好的网站链接或文章链接(一)
  14. 黑马程序员-银行业务调度系统
  15. Office 2007免序列号安装的ISO制作方法
  16. Android破解九宫格密码
  17. 揭秘:一线互联网薪资曝光,看看你的价值,有没有被低估?
  18. 训练集、验证集、测试集以及交叉验证
  19. Android中SurfaceView的使用详解
  20. mysql 列转行union all_SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理] | 学步园...

热门文章

  1. OpenCV—Python 图像加减乘除-逻辑运算
  2. VirtualBox 6.0.10
  3. 遥感应用发展观察(更新)
  4. 2021年多媒体技术圈年终事件大回顾
  5. 算法提高课-图论-欧拉回路和欧拉路径-AcWing 1123. 铲雪车:披着欧拉回路外衣的小学数学题
  6. 20-40K/月,百度车联网招聘多岗位Android工程师(地点:深圳)
  7. 我读经典管理书籍《管理的实践》有感
  8. 如何正确使用 GC.SuppressFinalize()?
  9. 从零开始的openGL--cs游戏(14) 延迟渲染G缓冲。
  10. matlab regress RMSE,在利用regress进行多元线性回归中出现的问题