小熊科技|如何基于K8s构建下一代DevOps平台?
阿里妹导读:OAM是阿里巴巴与微软联合推出的开放应用模型 , 旨在解耦应用研发、应用运维与基础设施人员在应用生命周期中各自的关注点 , 明晰责任与界限 , 聚焦自身业务 , 同时又依然能紧密协作 。 当前云原生DevOps体系现状如何?面临哪些挑战?如何通过OAM解决云原生DevOps场景下的诸多问题?云原生开发应用模型OAM(Open Application Model)社区核心成员孙健波将为大家一一解答 , 并分享如何基于OAM和Kubernetes打造无限能力的下一代DevOps平台 。
一 什么是DevOps?为什么基于Kubernetes构建?
2009年举办了第一届DevOpsDays大会 , DevOps名字被首次提出 。 到2010年 , DevOps的概念越来越火 , 出了What is DevOps的文章 , 讲解了DevOps的概念 , 方法论及配套的工具 。 简单来说 , 研发工程师需要和运维工程师深度的合作 , 同时通过一系列工具保证研发更加顺畅 , 从而更容易的接触生产环境 。 到2013年 , Docker出现了 , 工程师可以第一次到软件生产环境中定义 , 通过Docker image完成单机软件的交付和分发 。 此时DevOps开始慢慢落地 。 2015年开始 , DevOps相关的工具越来越多 , 资源利用率出现了一些问题 , CNCF的成立使得DevOps的实践往Kubernetes上走 。
DevOps的三个阶段
阿里在Kubernetes上的实践也取得了非常好的成果 。 在规模方面 , 阿里内部集成了数十个节点可以达到上万的集群 , 同时具备高性能和安全特性 , 秒级扩容 , 神龙+安全容器 。 具备极致的弹性 , 分钟级拆解公有云计算资源 , 无限资源池 。 另一方面 , Kubernetes社区已经具备非常丰富的DevOps生态基础功能 , 包括镜像托管、CI\CD流水线、任务编排、发布策略、镜像打包、分发、丰富的应用运行时的负载支撑、丰富弹性和应用扩容能力 。
为什么阿里基于Kubernetes构建DevOps平台?
1)阿里基于Kubernetes的无限资源池与基础设施能力
- 大规模 – 单集群最高可达10000节点、百万Pod
- 高性能 – 秒级扩容 , 智能伸缩 , 神龙 + 安全容器
- 极致弹性 – 分钟级拆解公有云计算资源 , 无限资源池
- 源码到容器镜像仓库 , Kubernetes是容器平台事实标准:Github/DockerHub
- CI/CD流水线、任务编排、发布策略:Argo/Teckton/Spinnaker/Jenkins-X/Flagger
- 镜像打包、分发:Helm/CNAB
- 丰富的应用运行负载支撑:Deployment(无状态)/StatefulSet(有状态)/OpenKruise(原生有状态增强)
- 丰富的弹性和应用扩缩容能力:HPA/KEDA
下图展示了一个云原生下的DevOps流水线的典型流程 。 首先是代码的开发 , 代码托管到Github , 再接入单元测试的工具Jenkins , 此时基本研发已完成 。 再接着到镜像的构建 , 涉及到配置、编排等 。 云原生中可以用HELM打包应用 。 打包好的应用部署到各个环境中 。 但整个过程中会面临很多挑战 。 首先 , 在不同的环境需要不同的运维能力 。
一个云原生 DevOps 流水线的典型流程
其次 , 配置的过程中要创建云上数据库 , 需要另外打开一个控制台来创建数据库 。 还需要配置负载均衡 。 在应用启动以后还需要配置额外的功能 , 包括日志、策略、安全防护等等 。 可以发现 , 云资源和DevOps平台体验是割裂的 , 里面充斥着借助外部平台创建的过程 。 这对新手来说是非常痛苦的 。
推荐阅读
- 所持股份|万兴科技:公司控股股东、实际控制人吴太兵质押150万股
- 发布公告|数量过半!博创科技:天通股份累计减持约150万股
- 英雄科技聊数码|蔡崇信有实力买下篮网,那身价3200亿的马云,能买下几支NBA球队
- 湖人队|扎心?一张图看湖人如何应对马赛克三分雨,神龟5米范围没人理他
- 搜狐新闻|准大学生数码三件套如何选?这些元气好物值得种草
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 想好好做医生的胖子|五十岁女性经常有周身无力和疼痛的困扰!该如何应对?医生告诉您
- 儿童饮食|秋冬季如何让宝宝爱上吃水果?稍微蒸一下美味翻倍,营养价值更高
- 队员|北极科考中“遭遇”北极熊,看科考队员如何与它们和谐相处
- 中国历史发展过程|中国历史发展过程!中国游戏外挂发展史:“辅助工具”是如何成长为“苍