干货分享|一文带你读懂应用容器化部署!

百家 作者:QingCloud 2022-09-22 17:51:05

IDC 预测,到 2024 年,数字经济的发展将孕育出超过 5 亿个新应用,这与过去 40 年间出现的应用数量相当。

云原生让这些海量新应用在短时间内涌现成为可能,它将成为主流的现代化开发方式。云原生的基础架构编排方式也将成为新一代的云操作系统,助推云计算平台演进。

然而,企业在引入和运用云原生时,依然面临三大难题:

  • 传统应用需要转型为云原生应用吗?该怎么做?

  • 云原生应用的部署有成熟的标准或方法论吗?

  • 如何利用云原生的优势来提升企业服务质量?

针对三大难题,青云科技 KubeSphere 解决方案架构师申红磊在主题为《应用容器化部署,基于 KubeSphere 的务虚与务实探讨》分享中给出了答案。

以下是分享内容精华:


为什么要云原生转型?


云计算平台已经被企业所接受,但企业在上云的过程中还需要明白以下几点:

  • 云计算最大的困难不是搭建云平台,而是应用迁移上云。

  • 非云原生的传统应用迁移上云成本较高。

  • 传统应用迁移方式如果只是采用虚拟化的重新部署,则无法发挥云平台特性。

云原生可以分成云和原生两个部分。云指的是云计算;原生就是土生土长的意思。随着云原生时代的到来,企业在开始设计应用的时候便要考虑到在云上开发、运行应用。

应用容器化部署有标准么?


在云原生的大背景下,到底要如何进行应用容器化部署?是否有一套标准理论呢?

首先,我们就不得不提“云原生十二要素”“云原生十二要素”和《Beyondthe Twelve-Factor App》作为构建 SaaS 服务的一套方法论,可以使开发者花费最少的学习成本加入到项目中去。无论是从研发、应用还是客户的角度,底层建设基本都会遵循这些原则去做。

第二,我们总结了应用容器化部署的规范标准和迁移流程企业在应用上云实践中无需完全按照标准执行,可因地制宜总结出适合自身的应用容器化部署标准。

应用容器化部署规范标准,具体如下:

  • 准入规范

    • 提供健康检查接口

    • 镜像尽可能小

    • 镜像的软件包、安全

    • 生产服务必须高可用

  • 负载均衡

    • 东西向-Service

    • 南北向-LB

    • 南北向-Ingress

  • 容器用户(非 root)

    • 不适用 root 用户启动进程,有安全隐患

    • 分层的复用

  • 慎用 Alpine 镜像

    • 编译、构造兼容性

    • 各种不可测的问题

  • 高可用

    • 生产配置反亲和性

    • PodAntiAffinity

  • 日志输出

    • 关键日志输出到标准输出(stdout)

    • 日志持久化存储到 PVC

    • 禁止生产输出 debug

    • 避免包含敏感信息


应用容器化部署迁移流程,具体如下:

  • 前期调研

    • 应用规模

    • 应用/组件类型

    • 应用/组件的配置

    • 应用/组件业务连续性

    • 应用网络/IP 要求

    • 应用/组件之间的访问关系

    • 存储服务

  • 迁移方案设计

    • 热迁移、冷迁移、数据迁移等方案

    • 按应用运行级别、复杂度维度

    • 异常情况处理流程设计

    • 应用运行验证测试案例设计

  • 迁移方案验证

    • 验证迁移方案和异常回退方案

    • 应用验证,流量切换等

  • 应用迁移

    • 迁移方案

    • 迁移时间计划方案

    • 完成系统迁移和测试工作
如何基于开源项目展开部署实践?


应用迁移上云可以分为两类:应用本身和中间件

对比传统搭建微服务的方式,多模块和中间件所需要耗费的时间会很长。而基于现代化云原生应用搭建中间件,ZipKin/Skywalking、ELK、RabbitMQ 等都可以做到开箱即用。

除此之外,企业原有的服务模块,比如网关、服务集群、分布式调度系统、认证中心等,只需要关心如何配置,依据前文所说的“云原生十二要素”和微服务设计原则方法论去拆分,再进行容器化部署,成功上容器后,迁移便更加简单便捷。
KubeSphere 之上的无限畅想


无论是平台的应用改造还是新应用上云,实现过程都可以根据一套技术路径。

从资源角度,应用上云的可从以下步骤入手:

  • 平台底座构建

  • 开发应用升级

  • 全面转化

  • 深度使用

需要强调的是,在全面转化之前,企业需提前将内部内容系统进行应用分类,试点上云。成功上云之后才可以在云上做深度使用。

从应用角度看拥抱云原生可分为以下步骤:

  • 试点应用实践

  • 内部核心应用推广

  • 系统批量化改造

  • 业务创新

其中最核心的是要做应用创新,创造价值。

如今,企业云原生转型势在必行,但在转型过程中,容器云平台的建设、运维,以及研发人员的培训,是一个更大的挑战。因此企业可以基于青云科技推出的 KubeSphere 容器平台,来构建自身的容器云平台,理由如下:

  1. 企业能够全身心关注以应用角度拥抱云原生。

  2. 用 KubeSphere 来降低 K8s 的高学习成本。

  3. 用 KubeKey 来简化 K8s 的复杂的部署安装。

  4. 用 KubeSphere 的积木式组件,来规避功能组件选型复杂。

  5. 用 KubeSphere 弥补 K8s 的本土化支持。

  6. 用 KubeSphere 的增加企业级多租户模式,更高安全性。

参考如下对比项:

总体来讲,从头开发建设周期长、成本高、购买套装软件不满足开放可控原则、成本投入较高。KubeSphere 容器平台,能够全面消解这些难题,帮助企业构建容器云平台,全力推进应用容器化部署。

扫描二维码

即可下载演讲 PPT

 阅读原文,快速了解 KubeSphere 

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接