k8s与caas--容器云caas平台的落地实践

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 前言 在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。

前言

在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和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时代。容器云架构方案,具有六大功能模块,每个部分包含对应的容器技术栈。具体架构如下

5976e835c9c9761480c02c55fa50d71303841075

存储方案

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

网络方案

3230da1b93a9a03f3f8ccea4f39ce6a2e202a2a0

底层容器网络我们最初使用的是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集群采用高可用部署,架构如下图:

bda87f1c5c234d27a62e2982579ad99f33520074

性能监控方案

容器监控的对象主要包括 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 )等。当然这是后续和正在做的工作。

本文转自SegmentFault-k8s与caas--容器云caas平台的落地实践

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
6天前
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
9天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
134 77
|
7天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
7天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
7天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
17天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
42 4
|
19天前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
41 1
|
19天前
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
37 1
|
20天前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
41 2
|
21天前
|
Kubernetes Cloud Native API
深入理解Kubernetes——容器编排的王者之道
深入理解Kubernetes——容器编排的王者之道
34 1

相关产品

  • 容器服务Kubernetes版